--- title: 【教程】 Grasscutter 一个动画游戏的服务器端模拟器 date: 2022/4/21 13:32 tags: [server, game, anime] categories: 技术 permalink: 360.html index_img: https://i.dawnlab.me/5503f2c623b6b9beeec1c5dcc6fff6f8.md.png --- # 简介 ## Grasscutter `Grasscutter` 一个动画游戏的服务器端模拟器,它能让人更快乐地游戏。 ### 功能 - 登录 - 战斗 - 命令行生成怪物 - 库存管理(背包、角色等等) - 抽卡系统 - 好友系统 # 指北 本指北基于 `win 11` x64 位系统,game `v2.6`,且已经在 D 盘创建了名为 `Grasscutter` 的文件夹,我们称此为 `工作目录` 。 ## 依赖项 ### JDK-8u202 从 [华为镜像源](https://mirrors.huaweicloud.com/java/jdk/8u202-b08/) 下载 `jdk-8u202-windows-x64.exe` 并安装,安装完成后将 `xxx\Java\jdk1.8.0_202\bin` 加入系统环境变量 `PATH` 中。 你可以通过打开 `cmd` 输入 `java -version` ,如果输出为 ```bash java version "1.8.0_202" ``` 那么此步则已配置正确。 ### Mongodb 从 [官网](https://www.mongodb.com/try/download/community) 下载 `Mongodb 5.0.7` 压缩包格式文件,或者 [点击这里](https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-5.0.7.zip) 直接开始下载,下载后请解压到 `D:\Grasscutter\mongodb` ,此时 `D:\Grasscutter\mongodb\bin` 中应该有 `mongod.exe` 文件。 在 `D:\Grasscutter\mongodb` 中新建一个 `db` 文件夹用于保存数据库文件。打开 `cmd` 进入到 `D:\Grasscutter\mongodb\bin` ,输入下列命令启动 mongodb ```bash mongod --dbpath "D:\Grasscutter\mongodb\db" ``` 如果有数据输出,且没有结束运行,则此步已配置正确,请不要关闭此 `cmd` 窗口,保持后台运行。 ## 服务端 ### 懒人包 请 [下载此文件](https://drive.google.com/file/d/1AAHg-BqMfew0BRcGtkhn65Uv94lhi0wj/view?usp=sharing) ,直接解压到 `D:\Grasscutter` 中 ### 手动操作 #### 构建服务端 ##### 拉取项目 首先你需要安装 git ,然后运行 `cmd` 进入 `D:\Grasscutter` 中输入并且运行 `git clone https://github.com/Grasscutters/Grasscutter.git` ##### 开始构建 拉取完成后,进入 `D:\Grasscutter\Grasscutter` ,进行如下操作: 1. 运行 `gradlew.bat` 2. 打开 `cmd` 窗口,输入并且运行 `gradlew jar` 构建将会自动完成,并且生成 `D:\Grasscutter\Grasscutter\grasscutter.jar` ,此为服务端文件,将它放到 `D:\Grasscutter\grasscutter.jar` 即可 #### 下载资源文件 首先创建 `D:\Grasscutter\resources` 文件夹,我们称此为 `资源文件夹` 。 1. 将 [GenshinData](https://github.com/Dimbreath/GenshinData) 中的 `TextMap`、`Subtitle`、`Readable`、`ExcelBinOutput` 移动到 `资源文件夹` 中 2. 将 [gi-bin-output](https://github.com/radioegor146/gi-bin-output.git) 中的 `2.5.52/Data/_BinOutput` 重命名为 `BinOutput` 然后移动到 `资源文件夹` 中 3. 将 [Grasscutter-Protos](https://github.com/Grasscutters/Grasscutter-Protos.git) 中的 `proto` 移动到 `资源文件夹` 中 4. 将 [Grasscutter](https://github.com/Grasscutters/Grasscutter) 中的 `keys`、`data`、`keystore.p12` 移动到 `工作目录` 中 ### 运行 此时的目录树结构为: ``` Grasscutter ├── mongodb │   ├── bin │   │   └── mongod.exe │   └── db ├── data │   ├── Banners.json │   └── ... ├── keys │   ├── dispatchKey.bin │   └── ... ├── resources │   ├── BinOutput │   ├── ExcelBinOutput │   ├── proto │   ├── Readable │   ├── Subtitle │   └── TextMap ├── grasscutter.jar └── keystore.p12 ``` 运行 `cmd` 进入 `工作目录` 输入并且运行 `java -jar grasscutter.jar -handbook` ,再次输入并且运行 `java -jar grasscutter.jar` 此时如果没有端口冲突并且 `mongodb` 也在后台同时运行,那么服务器端将正常运行。 你需要运行成功后输入 `account create 用户名 用户id(可选)` 来创建你的游戏账号。 ## 客户端 请确保你的客户端为国际版,您可以通过 [Snap.Genshin](https://github.com/DGP-Studio/Snap.Genshin) 切换你的客户端版本为国际版 请下载 [此 Releases](https://github.com/Grasscutters/GrassClipper/releases) 下的 `GrassClipper.zip` 文件,解压到任意目录后,运行 `install.cmd` ,等待进程结束,然后打开 `GrassCutter.exe` 在下方选择游戏的工作目录,例如:`D:\Program Files\Genshin Impact` ,在上方输入 `127.0.0.1` ,然后点击运行,即可打开游戏,在登录时你需要输入创建的用户名和任意密码即可加入测试服务器。 # 总结 过程过于繁琐,而且现在仅仅处于能用的状态(bushi # 交流 [TG 非官方频道](https://t.me/Grasscutter_CN) [Discord 官方频道](https://discord.gg/T5vZU6UyeG)