blog/source/_posts/【教程】Grasscutter 一个动画游戏的服务器端模拟器.md
2024-02-01 19:45:45 +08:00

135 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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` 一个动画游戏的服务器端模拟器,它能让人更快乐地游戏。
<!-- more -->
### 功能
- 登录
- 战斗
- 命令行生成怪物
- 库存管理(背包、角色等等)
- 抽卡系统
- 好友系统
# 指北
本指北基于 `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)