说明
目前 Grasscutter 项目最大支持到 4.0 版本
客服端下载
搭建环境
Java17或其它版本
MongoDB
Python3.8+
Mitmproxy
配置服务端资源
下载 Grasscutter 项目,解压到任意位置,解压后得到的文件夹名为
Grasscutter-development
把 scripts 目录下的
proxy.py
和proxy_config.py
文件移动至根目录,删除多余的文件,保留下图五个文件即可下载 GC Resources 项目,把里面的
Resources
和Tool
文件夹,解压至Grasscutter-development
目录下,把这两个文件夹的名字改成小写。下载 Releases 最新版的 grasscutter.jar,把下载的文件重命名为
grasscutter.jar
,然后放至Grasscutter-development
目录下
运行服务端
修改配置
编辑 proxy_config.py
文件,把 USE_SSL 的值改为 False
编辑 start_config.cmd
文件,把里面的值改为相对应软件的路径
1 | @rem jdk |
运行服务
双击打开
start.cmd
文件,运行服务端,随后输入stop
停止服务端服务端的目录结构
编辑
config.json
文件,把 useEncryption 和 useInRouting 的值修改为false
再次双击打开
start.cmd
文件,运行服务端
获取证书
浏览器访问 http://mitm.it/,下载相应的证书
安装证书
存储位置选为 本地计算机
> 下一页 > 下一页 > 证书存储选为 受信任的根证书颁发机构
连接服务端
安装补丁
下载 RSAPatch.dll 文件,下载完成后重命名为 version.dll
,然后把该文件放到游戏根目录下
创建账号
1 | # <username> 用户名 | <uid> id |
运行游戏
启动游戏,输入刚刚创建的账号,密码随便输入,然后登录即可
停止服务端
在命令窗口输入 stop
即可
自定义配置
config.json 文件
1 | # 监听的本地地址,建议保持 0.0.0.0 |
修改卡池
配置文件为 .\data\Banners.json
1 | # 常驻池 |
多卡池
增加 gachaType
为非以上四个值且 scheduleId
不重复的成员即可,注意客户端只识别以上四个 gachaType 值,添加的其他卡池不会显示类型。
注意 2.7 版本的新卡池是按照实际 up 五星角色显示名称而不是和老版本一样根据卡池 id 显示 (旧卡池不受影响)。
1 | # UP 五星,对应 id 在 Handbook 中可以找到,需修改 prefabPath previewPrefabPath titlePath 中的 A0** 为对应的卡池 id |
注意开启太多卡池会容易报错,修改完建议使用工具检查语法是否正确,修改完后需要服务端
reload
或者重启才会生效
数据库
MongoDB 数据库默认无需密码也可访问,修改所有数据,故如果服务器搭建在公网,为保证数据安全,请进行以下操作
进入 MongoDB 安装目录下,以管理员模式打开cmd,执行
1 | mongo.exe |
切换到 admin 数据库
1 | use admin |
创建一个有权限管理任何数据库的用户,其中 uname upwd 请替换为你欲创建的用户名和密码
1 | db.createUser({user:"uname",pwd:"upwd",roles:[{role:"root",db:"admin"}]}) |
打开 cmd, 输入 mongod.cfg 来编辑数据库配置文件,取消掉 security 的注释并修改为
1 | security: |
保存后,使用
net stop Mongodb
和net start Mongodb
重启数据库即可
注意,还需要修改 config 中的数据库配置connectionUri
, 例如mongodb://uname:upwd@host:port
常见问题
控制台指令
游戏登陆后默认有一个名为 Server
的好友,此为游戏控制台,可向其发送指令;当然,你也可以在服务端控制台窗口中输入指令;注意部分指令仅可在其中一种途径使用
游戏内发送指令均需加上前缀 ! 或 /
查询指令可以,打开服务端的 GM Handbook\GM Handbook - CHS.txt
文件,查询指令及资源id,或者使用 GrasscutterCommandGenerator
和 GrasscutterTools 生成指令
错误问题
2.1. 服务启动报错
请检查端口是否被占用,无法解除占用请尝试修改 config.json
中的端口,和 proxy_config.py
中的端口。
1 | # 查看占用端口的进程 |
2.2. 无法下载证书
没有正确配置代理,存在其他代理软件,打开的是 https ,而不是 http。
2.3. 4206错误
检查代理端 / 服务端所有配置,重启代理端 / 重启服务器。
若无法解决则,关闭代理正常启动游戏,检查更新完后,再次开代理进入游戏。
修改 config.json
中 server.http.accessAddress
为 dispatchcnglobal.yuanshen.com
。
2.4. 登陆账号提示网络错误 / 网络超时
修改 config.json
中 server.http.accessAddress
为 dispatchcnglobal.yuanshen.com
然后进一遍游戏,如果能进去,就可以将其还原。
2.5. 点击登录转圈然后没反应
如果点击后服务端日志有成功登录的提示,关掉登录窗口即可进入游戏。如无,重启服务端代理。
2.6. 502/4301/ 无法连接服务器
没配置正确,请自行检查
2.7. 登陆后检查更新失败
代理日志中有 mihoyo.com / hoyoverse.com 子域的请求,但显示拒绝连接等错误,可能是服务端网络问题导致无法连接米哈游服务器
2.8. 开启代理后还是登录了官服
有其他代理冲突,服务端没有正确运行。
2.9. 4214错误
密钥错误,原因 没有 patch 客户端 / 客户端 patch 错误 / 客户端与服务端不兼容。
2.10. 4201错误
检查是否正确安装并信任证书
2.11. -9203错误
一般为代理问题
2.12. 卡检查更新
尝试正常进游戏一次后再连代理进,检查服务端网络问题,如确实没问题请尝试重启代理端 / 更换代理端口 / 重启服务器
2.13. 进门后连接超时
放通 UDP 22102
2.14. 进门白屏
乱改数据库改出问题了,或者服务端系统不兼容 Java
- END -