Grasscutter建立独立分区教程
作者:互联网
本文内容均为原创,意在学习交流,请勿用于非法用途,切记切记!
-
关于如何调出客户端的选服界面
打开 config.json 拖到最后,找到
"dispatch": {
"regions": [],
"defaultName": "Grasscutter"
}进行如下修改
"dispatch": {
"regions": [
{
"Name": "任意英文服务器名",
"Title": "客户端选服界面所要显示的标题",
"Ip": "IP地址",
"Port": 端口(注意没有双引号哦)
},
{
"Name": "任意英文服务器名(不能与上面的一样)",
"Title": "客户端选服界面所要显示的标题",
"Ip": "IP地址",
"Port": 端口
}
],
"defaultName": "Grasscutter"
}需要格外注意的是:
- regions 中的内容至少存在两项才可以调出客户端选服界面;
- 客户端所见区服进入后实际仍是同一个区。
接下来就是重头戏啦!
-
关于如何设置独立分区
还是打开 config.json 进行如下修改
"server": {
……(省略部分内容)
"collection": "server"
},
"game": {
……
"collection": "game1"
}
}"game": {
……
"bindPort": 22101
……
}"regions": [
{
"Name": "game1",
"Title": "一区",
"Ip": "127.0.0.1",
"Port": 22101
},
{
"Name": "game2",
"Title": "二区",
"Ip": "127.0.0.1",
"Port": 22102
}
]将整个 Grasscutter 服务器所在的文件夹复制一份(为了节约空间,可以使用 mklink/ln 命令,这里不再展开),对新复制文件夹中的 config.json 作如下修改
"game": {
……
"collection": "game2"
}"server": {
……
"runMode": "GAME_ONLY",
……
},
"game": {
……
"bindPort": 22102
……
}
万事俱备,只欠东风!(重中之重)
在 Grasscutter 源码中打开 DatabaseManager.java 文件,找到
public static Datastore getAccountDatastore() {
if(SERVER.runMode == ServerRunMode.GAME_ONLY) {
return dispatchDatastore;
} else {
return gameDatastore;
}
}
改为
public static Datastore getAccountDatastore() {
return dispatchDatastore;
}
重新编译后替换上面两个文件夹中的 jar 程序。
最后,还不赶紧 run 一下看看效果!
本文仅针对单机架设而言,聪明的你肯定想到了将dispatchServer、dbServer、gameServer分开部署,具体怎么实现,留个课后作业!
标签:教程,Grasscutter,Name,Title,分区,regions,game,客户端 来源: https://www.cnblogs.com/ITer2022/p/16462280.html