GrassCutter服务搭建指南
一、系统要求
本教程适用Linux系统,可以使用虚拟机,要求内存不少于4GB。推荐使用Ubuntu 20.04,也可以使用Ubuntu 22.04及以上版本(但方法有区别)
二、环境配置
安装JDK与MongoDB
(1) Ubuntu 20.04及以下安装指令(一行一行运行)
sudo apt-get install openjdk-17-jdk
sudo apt-get install mongodb
(2) Ubuntu 22.04及以上安装指令(一行一行运行)
sudo apt-get install openjdk-17-jdk
sudo dpkg -i libssl1.1_1.1.1-1ubuntu2.1~18.04.23_arm64.deb
sudo wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
sudo echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt-get update
sudo apt-get install mongodb-org=4.4.8 mongodb-org-server=4.4.8 mongodb-org-shell=4.4.8 mongodb-org-mongos=4.4.8 mongodb-org-tools=4.4.8
mongod --version
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown mongodb:mongodb /tmp/mongodb-27017.sock
sudo systemctl restart mongod
三、创建MongoDB账户
MongoDB的命名比较抽象,在systemctl
里,它叫mongod
,但这里就是输入mongo
mongo
db.createUser({user: "root",pwd: "123456", roles: [ { role: "root", db: "admin" } ]})
db.auth("root", "123456")
如果最后一个命令返回1,就代表成功
四、下载文件
-
访问grasscutter的github页面下载
grasscutter-1.7.*.jar
(你可以挑一个比较新的,这里以1.7.4为例)。 -
访问GC Resources的gitlab页面下载GC Resources,当然,你可以使用git clone
git clone https://gitlab.com/YuukiPS/GC-Resources.git
-
访问opencommand的github页面下载opencommand插件。
-
下载用于HTTPS的key文件(虽然最后根本不会用HTTPS)
-
将下载到的文件放入一个新的目录下
| keystore.p12 | grasscutter-1.7.4.jar ├─plugins | opencommand-1.7.0.jar └─GC-Resources ├─Resources | ... └─Tool ...
五、初次运行配置
- 把这些文件放入服务端之后,运行下列命令进行首轮运行(把文件名改成你下载的名字)
java -jar grasscutter-1.7.4.jar
- 初次运行结束后,会在目录下生成一些文件,打开 config.json 文件,修改一下几处(注释不要加进去)
"folderStructure": {
"resources": "./GC-Resources/Resources", // 第一处修改
"data": "./data/",
"packets": "./packets/",
"scripts": "resources:Scripts/",
"plugins": "./plugins/",
"cache": "./cache/"
},
"databaseInfo": {
"server": {
"connectionUri": "mongodb://localhost:27017",
"collection": "grasscutter"
},
"game": {
"connectionUri": "mongodb://localhost:27017",
"collection": "grasscutter"
}
},
"server": {
"debugWhitelist": [],
"debugBlacklist": [],
"runMode": "HYBRID",
"logCommands": false,
"fastRequire": true,
"http": {
"startImmediately": false,
"bindAddress": "0.0.0.0",
"bindPort": 8888, // 可以修改成任意你想要的数字(1000~65535)(443太容易被占用了)
"accessAddress": "127.0.0.1", // 这里修改成你的服务器的 IP
"accessPort": 0,
"encryption": {
"useEncryption": false, // 这里改成 false
"useInRouting": false, // 这里改成 false
"keystore": "./keystore.p12",
"keystorePassword": "123456"
},
"policies": {
"cors": {
"enabled": true,
"allowedOrigins": [
"*"
]
}
},
"files": {
"indexFile": "./index.html",
"errorFile": "./404.html"
}
},
"game": {
"bindAddress": "0.0.0.0",
"bindPort": 22102,
"accessAddress": "127.0.0.1", // 这里改成你的服务器的 IP,后面没有需要修改的了
"accessPort": 0,
"loadEntitiesForPlayerRange": 300,
"enableScriptInBigWorld": true,
"enableConsole": true,
"kcpInterval": 20,
"logPackets": "NONE",
"isShowPacketPayload": false,
"isShowLoopPackets": false,
"cacheSceneEntitiesEveryRun": false,
......
服务器的IP可以通过ifconfig
命令查到(你需要先安装net-tools)
sudo apt-get install net-tools
- 再次运行指令,就可以完成服务器的启动了
java -jar grasscutter-1.7.4.jar
- 输入命令以创建一个账户(密码由你首次登陆时的密码确定)。xxx是账户名,建议用英文字符,无空格;10001是UID,从10001开始编号
account create xxx 10001
六、客户端配置
-
下载客户端代理软件,运行并输入你服务器的IP,刚刚填写的端口号,取消勾选SSL,开启代理
-
下载4.0.0版本软件 (下载full-install-section中的GameData和Audio)将文件解压并放在一起。
-
下载补丁并放入上一条的文件夹内
-
在开启代理的情况下运行英文的exe文件,启动客户端
七、一些问题
理论上经过刚刚到那些步骤,你就可以使用grasscutter了,如果中间出现了问题,我提供一些以供检查的方向:
- 系统版本对吗?遇事不决就使用教程推荐的系统版本Ubuntu 20.04切记不要更新!
- 网络链接正常吗?GrassCutter要求能双向Ping通才行,如果一直白屏可能是网络配置的问题
- SSL有没有取消勾选?非常疑惑,grasscutter就是用不了HTTPS
- 版本正确吗?很遗憾,这个方法最新只能稳定支持4.0.0,你当然可以尝试使用更高版本的客户端,请参照Cultivation和GrassCutter但是它要求服务端和客户端在同一windows机上(这样前面的教程就完全没用了)