# 【教程】Grasscutter 一个动画游戏的服务器端模拟器

By [Xtao_dada](https://paragraph.com/@xtao-dada) · 2022-09-27

---

* * *

简介
==

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` ，如果输出为

    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

    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)

---

*Originally published on [Xtao_dada](https://paragraph.com/@xtao-dada/grasscutter)*
