Grasscutter(除草机)联机搭建指南


声明

本文根据Github Grasscutters的开源项目Grasscutter形成的搭建指南文件
开源地址 https://github.com/Grasscutters/Grasscutter

为避免产生利益纠纷,本教程不提供Grasscutter整合包
本教程为 Liunx 服务搭建教程 Windows 基本差不多 不做解释
本教程 不会手把手教你怎么搭建 很多指令和过程会做我认为的适当缩减
有时间再给补上,但都使用Liunx 搭建了 应该不是个超级小白


一、Grasscutter搭建架构

1.云服务器直接搭建架构

Grasscutter基本搭建结构

2.云服务器Docker搭建架构

Docker搭建结构

3.(带DDNS)个人主机搭建架构

带公网IP自己搭建
这种架构一定要有公网IP 可用在百度输入IP查询 对比在路由器WAN口的IP是否一致,一致说明是公网IP


二、搭建教程

1.搭建流程图

搭建流程图

2.具体搭建内容

啰嗦了那么多,主要是讲明白原理,这是一个学习文档,知其然知其所以然,授人鱼不如授人渔,干货开始!

1)服务端搭建

进入Liunx 打开控制台

  1. 安装java jdk17
#升级软件源 记得换国内源 换源方法百度吧
sudo apt update && sudo apt upgrade -y
#安装jdk
sudo apt-get install openjdk-17-jdk
#检查是否安装成功
java --version
  1. 将Grasscutter包文件放到 /App 目录
    不做多解释 代码操作也好 图像化界面操作也好最后大概目录如下
|-----------------/APP------------------
├── config.json
├── data
│   ├── Banners.json
│   ├── Drop.json
│   ├── query_cur_region.txt
│   ├── query_region_list.txt
│   ├── Shop.json
│   └── Spawns.json
├── grasscutter.jar
├── keys
│   ├── dispatchKey.bin
│   ├── dispatchSeed.bin
│   ├── secretKey.bin
│   └── secretKeyBuffer.bin
├── keystore.p12
├── logs
│   └── latest.log
├── plugins
├── README_zh-CN.md
├── resources
│   ├── BinOutput
│   ├── ExcelBinOutput
│   ├── proto
│   ├── Readable
│   ├── Scripts
│   ├── Subtitle
│   └── TextMap
└── run.bat
  1. 安装MongoDB
#升级软件源
sudo apt update && sudo apt upgrade -y
#安装 MongoDB:
sudo apt install mongodb
#设置自动启动
sudo systemctl enable mongodb
  1. 配置Grasscutter Config文件
............................................
"DatabaseUrl": "mongodb://127.0.0.1:27017", //这里写数据库地址
  "DatabaseCollection": "grasscutter",
  "RESOURCE_FOLDER": "./resources/",
  "DATA_FOLDER": "./data/",
  "PACKETS_FOLDER": "./packets/",
  "DUMPS_FOLDER": "./dumps/",
  "KEY_FOLDER": "./keys/",
  "SCRIPTS_FOLDER": "./resources/Scripts/",
  "PLUGINS_FOLDER": "./plugins/",
  "DebugMode": "NONE",
  "RunMode": "HYBRID",
  "GameServer": {
    "Name": "Test",
    "Ip": "0.0.0.0",
    "PublicIp": "你的公网IP或者域名",
    "Port": 22102,
    "PublicPort": 0,
    "DispatchServerDatabaseUrl": "mongodb://127.0.0.1:27017",//这里写数据库地址
    "DispatchServerDatabaseCollection": "grasscutter",
    "InventoryLimitWeapon": 2000,
.............................
"DispatchServer": {
    "Ip": "0.0.0.0",
    "PublicIp": "你的公网IP或者域名",
    "Port": 443, //如果你是DDNS的部署 1000以下的端口不一定能用 可能被运营商封了
    "PublicPort": 0,
    "KeystorePath": "./keystore.p12",
    "KeystorePassword": "123456",
    "UseSSL": true,
    "FrontHTTPS": true,
    "AutomaticallyCreateAccounts": false,
    "defaultPermissions": [
      "player"
    ],
    "GameServers": []
  1. 启动 Grasscutter
#cd 到Grasscutter 目录
cd /App
#启动 Grasscutter
java -jar grasscutter.jar
#出现 Listening at 22102 后代表服务器启动成功
#使用以下指令添加 abc账户 uid 100001
account abc 100001

Grasscutter 命令问题参考这里


2)PC端搭建

  1. 安装准备
    YS 国际版
    Python3
    mitmproxy
    安装过程不再赘述

  2. 配置好代理脚本
    创建Proxy文件夹 将开源项目中的 代理脚本 如下放置
    文件结构为

/Proxy
----proxy.bat
----proxy.py
----proxy_config.py

特别提示

"DispatchServer": {
    "Ip": "0.0.0.0",
    "PublicIp": "你的公网IP或者域名",
    "Port": 443(请注意这里 如果改成10443), //如果你是DDNS的部署 1000以下的端口不一定能用 可能被运营商封了
    "PublicPort": 0,

上方的443 端口 有时候不能用 更换了其他端口 比如 10443
我们需要同步修改 proxy_config.py 的Port
修改后如下
proxy_config.py

# This can also be replaced with another IP address.
USE_SSL = True
REMOTE_HOST = "你的公网IP"
REMOTE_PORT = 10443(与Grasscutter Config相同)

为了更好的部署 我修改了proxy.bat 设置了他的证书目录
proxy.bat

@echo off
mitmdump -s proxy.py --ssl-insecure --set block_global=false --set confdir=./keyconfig  --listen-port 54321
pause

启动代理脚本 proxy.bat 后
在目录中生成 keyconfig文件夹

├── resources
│   ├── mitmproxy-ca-cert.cer
│   ├── mitmproxy-ca-cert.pem
│   ├── mitmproxy-ca.pem
│   ├── mitmproxy-ca-cert.p12
│   ├── mitmproxy-ca.p12
│   └── mitmproxy-dhparam.pem

mitmproxy-ca-cert.p12 安装在Windows中

  1. 设置好本地代理
    打开 Windows 系统代理如下设置
    本地代理设置
  2. 启动YS 国际服 在账号栏输入 之前创建的 abc 密码随意
    开始游玩吧
    防止一些问题
    [[[[[[假装有图]]]]]]]]
    [[[[[[假装有图]]]]]]]]
    [[[[[[假装有图]]]]]]]]
    [[[[[[假装有图]]]]]]]]

结尾 和 FAQ

途中如果出现错误 请观摩其他教程的解决办法 什么时候我有时间了 我就来更新 BUG 解决的问题

2022/5/12 刘先森

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值