Grasscutter Windows本地服务器配置记录

Grasscutter 是一款用 Java 编写的实验性服务器,旨在模拟某款 Anime Game 的服务端。本文记录了我配置服务器的过程,包括 Grasscutter 与 Cultivation 的安装、相关指令的使用、一些实用插件与工具的使用方法、卡池与商店的配置以及角色模型的替换等内容。

说明:本文以Windows11系统为例,客户端与服务端运行在同一台PC上。

提示:请将本文给出的文件路径中的[Username]替换成自己的Windows用户名。

运行环境配置

Grasscutter的运行依赖于JavaMongoDB,建议安装JDK17,MongoDB安装最新版即可,下载链接如下:

Java的安装:

  • 下载Java安装包,选择Windows x64 Installer或者Windows x64 MSI Installer
  • 安装时,直接按默认选项完成安装。

MongoDB的安装:

  1. 下载MongoDB,选择社区版的msi格式安装包。
  2. 安装时选择 Complete 完全安装。
  3. Service Configuration中可以修改文件路径(最下面两项),其他选项保持默认。
  4. 左下角的MongoDB Compass是MongoDB的图形用户界面,可选装。

客户端下载

客户端的下载链接可以在GI-Download-Library获取。

  • 主文件的下载链接在GI-Download-Library/GenshinImpact/Client/版本号.md中,下载完成后解压。
  • 语音文件的下载链接在GI-Download-Library/GenshinImpact/Audio/版本号.md中,解压后将文件夹复制到主文件的目录中即可。

服务器搭建

安装Cultivation

Cultivation是一款由Grasscutter团队开发的跨平台启动器,能够在 Windows、macOS 和 Linux 上运行。它自带代理功能,大大简化了Grasscutter的安装过程,只需点击几下按钮即可运行。

下载链接如下,选择后缀是msi的文件,如Cultivation_1.2.0_x64_en-US.msi

安装完成后重启电脑,再以管理员身份运行Cultivation。

下载Grasscutter

点击Cultivation右上角的下载图标,

  • 根据自身需要下载All-in-One文件,二选一,下载的文件都是已经构建完毕的,不需要自己编译。
    • Grasscutter All-in-One是没有任务的,但是一些场景需要自己用指令解锁,比如风龙废墟外围的风墙。
    • Questing All-in-One是带有任务的,但是任务或多或少的存在一些bug,有时需要手动输入指令来继续进行任务,详见:常见任务Bug及处理指令
  • 下载Grasscutter Resources

如果你需要某一个特定版本的资源文件,可以到下面的仓库中通过切换对应分支来获取,下载完成后将文件复制到C:\Users\[Username]\AppData\Roaming\cultivation\grasscutter\resources文件夹中。

配置Cultivation

首次启动时会有弹窗提示,请求安装CA证书,点击同意安装。安装证书后Cultivation内置的mitmproxy就能够通过中间人攻击(MITM)的方式将客户端与游戏服务器的通信代理到本地服务端。

点击Cultivation右上角的小齿轮打开设置页面,

  • 最下方是语言设置项,支持多种语言。
  • 游戏安装路径选取客户端文件夹根目录中的GenshinImpact.exe
  • 确认以下四项已勾选:
    • 自动修改RSA
    • 使用内置代理
    • 自动启动MongoDB
    • 随游戏自动启动Grasscutter
  • 将自定义Java路径设置为C:\Program Files\Java\jdk-17\bin\java.exe
  • 其他选项保持默认即可。

XX,启动!

服务器至此已经配置完成。XX,启动!

  1. 打开Cultivation。
  2. 点击启动按钮右侧的小按钮运行Grasscutter。
    • 可能弹出Windows防火墙相关提示,允许即可。
  3. 点击启动按钮启动游戏。
  4. 输入任意用户名和密码,系统会自动创建账号。
    • 密码没有用,下次登录时随便输一个数字即可。

指令

常用的指令请到C:\Users\[Username]\AppData\Roaming\cultivation\grasscutter\GM Handbook中查看,此外在Grasscutter窗口中可以使用help指令查看每条指令的详细用法。

直接在Grasscutter中运行指令的话一般需要指定UID,比如下面的指令用于解除UID为10001的用户的体力限制:

1
/prop ns on @10001

此外也可以通过内置的聊天功能在客户端中执行指令:

  1. 在客户端中按下Enter回车键。
  2. 点击左下角的添加会话对象
  3. 点击好友横幅右边的加号开启对话。
  4. 在对话框中输入指令并发送。

在聊天框中直接输入指令时需要注意:

  • 账户创建等指令不能在聊天框中使用。
  • 指令一般不需要指定UID,默认对当前用户生效。
  • 注意聊天框中输入的指令需要以/开头。
  • /give 223 x1就是给当前用户1个粉球。
    • 223是粉球的ID。
    • x后面到数字代表物品的数量。

工具软件

自己一条条的敲指令有点累,建议使用下面的工具软件直接生成指令。在安装相关插件后还可以在工具软件中直接执行指令,连复制粘贴都不需要了。

插件

Grasscutter支持安装插件,我安装了下面两个插件

  • Grasscutter-Rollback
  • gc-opencommand-plugin

插件需要放在C:\Users\[Username]\AppData\Roaming\cultivation\grasscutter\plugins文件夹中。

gc-opencommand-plugin

gc-opencommand-plugin是一个为第三方客户端开放GC指令执行接口的插件,可以配合Grasscutter Tools使用,直接执行相关指令,不需要再去游戏聊天窗口中输入。

配置方法如下:

  1. 启动Grasscutter。
  2. 打开plugins文件夹中与插件jar文件同名的文件夹,找到config.json
  3. 复制config.json中的token,正常情况下这个token会自动生成,如果没有生成的话自己胡乱编一个32位的即可。
  4. 打开Grasscutter Tools
  5. 切换到设置标签页。
  6. 勾选程序设置中的UID选项。
  7. 输入当前账号的UID。
  8. 切换到远程标签页。
  9. 点击服务器地址后的查询按钮。
  10. 确认服务器状态 - 远程执行插件后面出现绿色的对号。
  11. 点击控制台,粘贴第3步中复制的token
  12. 点击连接

Grasscutter-Rollback

Grasscutter-Rollback是一个数据库备份与回滚插件,当游戏坏档时可以回滚。

使用方法:

  • 备份当前数据库:bk
  • 回滚上一个数据库:rb
  • 备份当前数据库并重命名:bk [name]
  • 回滚到指定数据库:rb [name]

卡池替换

Grasscutter_Banners 仓库包含了开服至今的所有卡池信息,下载对应的文件,将其复制到C:\Users\[Username]\AppData\Roaming\cultivation\grasscutter\data\目录中,替换掉原有的Banners.json文件,然后在Grasscutter中执行reload指令即可更换当前卡池。

商店编辑

默认情况下商店中是没有任何物品的,需要向C:\Users\[Username]\AppData\Roaming\cultivation\grasscutter\data\目录中添加shop.json文件。

建议使用前面工具软件中提到的Grasscutter Tools中的商店编辑器编辑相关文件,方法如下:

  1. 复制C:\Users\[Username]\AppData\Roaming\cultivation\grasscutter\resources\ExcelBinOutput\ShopGoodsExcelConfigData.json到其他的文件夹中。
  2. 打开Grasscutter Tools主页中的商店编辑器
  3. 将复制后的文件路径粘贴到Grasscutter Tools中,点击加载
  4. 编辑文件,注意每完成一项都要点击最下方的添加或更新按钮,否则更改不会不生效。
  5. 点击保存,会提示覆盖文件,允许即可。
  6. 将文件重命名为shop.json
  7. 将文件复制到C:\Users\[Username]。\AppData\Roaming\cultivation\grasscutter\data\中。

角色模型替换

角色模型Mod可以在Gamebanana下载,然后使用GI-Model-Importer注入到游戏中。

具体步骤如下:

  1. Release页面下载GI-Model-Importer并解压缩
    • 一般选择3dmigoto-GIMI-for-playing-mods.zip即可
    • 如果要自己做Mod的话请选择3dmigoto-GIMI-for-development.zip
  2. 用VSCode打开d3dx.ini
  3. 通过搜索[Loader]快速定位,将[Loader]下面的target修改为自己的游戏安装位置,例如D:\Program Files\GenshinImpact_4.0.1\GenshinImpact.exe
  4. 保存文件
  5. 将下载的Mod文件解压缩后复制到GI-Model-Importer的Mods文件夹
    • 注意:一个角色只能启用一个Mod
  6. 先启动3DMigoto Loader.exe
  7. 再通过Cultivation启动游戏
  8. 加载过程中屏幕左下角出现下图所示的浮窗则说明启动成功

可厉害了.webp