blog/source/_posts/【教程】Grasscutter 一个动画游戏的服务器端模拟器.md

135 lines
4.8 KiB
Markdown
Raw Normal View History

2024-02-01 11:45:45 +00:00
---
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)