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

教程目录

  • 声明
  • 一、Grasscutter搭建架构
    • 1.云服务器直接搭建架构
    • 2.云服务器Docker搭建架构
    • 3.(带DDNS)个人主机搭建架构
  • 二、搭建教程
    • 1.搭建流程图
    • 2.具体搭建内容
      • 1)服务端搭建
      • 2)PC端搭建
  • 结尾 和 FAQ


声明

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

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


一、Grasscutter搭建架构

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

Grasscutter(除草机)联机搭建指南_第1张图片

2.云服务器Docker搭建架构

Grasscutter(除草机)联机搭建指南_第2张图片

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

Grasscutter(除草机)联机搭建指南_第3张图片
这种架构一定要有公网IP 可用在百度输入IP查询 对比在路由器WAN口的IP是否一致,一致说明是公网IP


二、搭建教程

1.搭建流程图

Grasscutter(除草机)联机搭建指南_第4张图片

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 系统代理如下设置
    Grasscutter(除草机)联机搭建指南_第5张图片
  2. 启动YS 国际服 在账号栏输入 之前创建的 abc 密码随意
    开始游玩吧
    防止一些问题
    [[[[[[假装有图]]]]]]]]
    [[[[[[假装有图]]]]]]]]
    [[[[[[假装有图]]]]]]]]
    [[[[[[假装有图]]]]]]]]

结尾 和 FAQ

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

2022/5/12 刘先森

你可能感兴趣的:(docker,容器,运维)