在Linux服务器上部署Grasscutter(已停止更新)
本文最后更新于 505 天前,其中的信息可能已经有所发展或是发生改变。
本文章自修改时起已停止更新,其中文中部分链接已失效,下载链接等已不再提供。

友情提醒:游玩 Grasscutter 请记得屏蔽 log-upload-os.mihoyo.com ,或者全程不要关闭代理,否则会上传 device_id 给官方,存在未知风险

上述问题解决办法:修改hosts文件进行屏蔽

hosts文件位置:

Windows: C:\Windows\System32\drivers\etc\hosts
Linux: /etc/hosts

将下列五个复制粘贴到hosts文件保存即可
0.0.0.0 log-upload-os.mihoyo.com
0.0.0.0 overseauspider.yuanshen.com
0.0.0.0 log-upload.mihoyo.com
0.0.0.0 log-upload-os.hoyoverse.com
0.0.0.0 uspider.yuanshen.com

如果不会更改并保存hosts文件的自行百度

如果还要玩官服的话,玩官服之前删除掉hosts文件中的这几行,再玩Grasscutter的时候重新加上。

阅前须知

目前本教程基于腾讯云的CentOS 8.2镜像制作,Ubuntu系列随缘更新。

部署在服务器上只可用服务器的公网IP进行游戏,使用域名访问不了,会报错,而且未进行备案的域名会被拦截,所以,在分享你服务器的公网IP的时候请三思,不要将其分享给不认识的人,以免服务器被攻击

本教程适合有一定计算机基础知识的和会利用百度的人使用,没有上述基础的人请关闭本教程并放弃使用Linux服务器搭建Grasscutter。不会用Linux的vim编辑文件的也请放弃搭建的想法。

部署前准备

1.一台云服务器

建议使用国内或香港的云服务器,其他地区的云服务器(比如新加坡、硅谷、法兰克福、孟买等地的服务器)丢包率和延迟可能较大,影响游戏体验,不建议使用,最好还是使用国内的。

2.一个远程SSH会话软件

比如Xshell,不过本文推荐使用免费开源的Tabby。本文教程所用的为Tabby。

部署运行环境

首先通过Tabby远程连接服务器终端。

安装JDK-17

首先,输入 rpm -qa | grep java 查看自己系统是否有已经安装的 jdk。

如果有跟上图一样以java开头的(注意:并不是名字里含有java的),即为系统预装的jdk,输入以下命令将其卸载:

yum -y remove java-xxx-xxxxx(填写上一步中所列出来的以java开头的jdk包的名称)

全部卸载完成后即可进行下一步的安装。

方法一(推荐):利用 yum 源来安装 jdk17(此方法不需要配置环境变量)

输入以下命令,查看云端 yum 库中的 java 安装包

yum -y list java*

浏览列表中是否有 java-17-openjdk 字样,如果有,则可以进行下一步安装,如果没有,请跳转方法二

以上图为例,我们选第一个 java-17-openjdk.x86_64 安装就行,执行以下命令:

yum -y install java-17-openjdk.x86_64

等待其安装完成后,输入 java -version 查看版本号,并确认是否安装成功。

使用此方法安装完成后 JDK 的默认安装路径为 /usr/lib/jvm内

安装并配置MongoDB

第一步,输入以下命令,将MongoDB的路径增加到系统配置

vi /etc/yum.repos.d/mongodb-org-5.0.repo

然后将以下代码编辑进该文件中(不会vim编辑的自行百度,本教程不再提及,实在不会就放弃部署):

[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc
如图所示

确认无误后,退出编辑并保存文件。

下一步输入以下命令安装MongoDB:

yum install -y mongodb-org

这一步可能服务器会显示连接超时,可以多试几次。

输入以下命令以启动MongoDB:

systemctl start mongod

然后输入 mongo,如果出现以下内容则证明安装没有问题

输入 show dbs ,查看默认的库,确认后按Ctrl+C退出

安装Grasscutter

在 Tabby 点击 SFTP,点击 root 文件夹,点击 上传,将本地已经下载好的 Grasscutter-dev-22.04.29.zip (下载链接在文末)上传至 root 文件夹。

上传成功之后返回命令输入界面,依次输入以下命令,将 Grasscutter.zip 解压进 /root/Grasscutter

mkdir /root/Grasscutter
unzip Grasscutter-dev-22.04.29.zip -d /root/Grasscutter

配置 json 文件

运行 jar 包,使其生成 .json:

cd /root/Grasscutter
java -jar grasscutter.jar

然后按Ctrl+C结束运行,输入 vi config.json ,编辑 config.json ,修改文件中的两个PublicIP和PublicPort,然后保存并退出。

PublicIP:"你服务器的公网IP"
PublicPort:"跟Port一致"
例如下图中第一个跟20102一致,第二个跟443一致。

下一步,在你的云服务器控制台防火墙页面开放对应端口。

以上图为例,该服务器需要开放的端口是22102和443端口。

注意:22102端口开放协议必须为UDP,不是TCP,如果你开放的是TCP的话,会导致进入游戏以后出现白屏,连接超时的情况。还有就是,服务器安装有宝塔的,记得在宝塔上也将443跟22102端口进行放行,否则照样进不了游戏。

运行Grasscutter

初次使用Grasscutter时需要创建账号,所以依次输入以下命令启动:

cd /root/Grasscutter
java -jar grasscutter.jar

待启动成功后创建账号即可。

之后想要服务器上的服务端一直运行可用以下命令使 jar 包保持后台运行:

nohup java -jar /root/Grasscutter/grasscutter.jar &

如果想要关闭后台运行可输入以下命令查看使用java的进程:

ps -ef | grep java

然后在列表中找到 grasscutter.jar ,输入kill pid grasscutter.jar的ID 即可结束运行。

更新

由于框架已经基本部署完整,所以更新时只用替换 grasscutter.jar 文件并删除掉 config.json 即可,如果你在 config.json 文件中更改了端口或者IP的话,需要重新进入 config.json 文件进行配置。

文末链接会不定时更新最新的grasscutter.jar的Dev开发版,放在云盘中的Dev开发版文件夹中,需要可自取。

版本号区分:Grasscutter-X月X日X时.zip

下载

Grasscutter-dev-22.04.29.zip:点此下载

国外请点此下载

Dev开发版:国内点此下载

国外点此下载

在游玩的时候不想狼狈地在指令列表里找对应命令?看这里就对了,点此下载GrasscutterTools-命令生成工具,想省时间的你值得拥有(doge)。

写在最后

如果部署过程中出现问题,欢迎留言或者加群反馈。

如果此教程有帮到你的话,可以打赏一只鸡腿嘛QAQ

评论

  1. srybinx
    1年前
    2022-5-01 16:37:16

    服务端已经跑起来了,但是不知道为啥客户端总是连不上(Clipper X1.0.0),跳国服界面,之前的本机部署就没有这个问题。

    • 博主
      srybinx
      1年前
      2022-5-01 16:40:05

      确定Clipper X1.0.0设置对吗? 我之前Clipper X1.0.0设置完还是会自动跳回127.0.0.1 然后我就删了重新解压一个

      • srybinx
        虚冇
        1年前
        2022-5-01 18:00:22

        按上一篇的设置来的,就是把127.0.0.1改成外网IP,其他都是一样的

    • saltyice
      srybinx
      1年前
      2022-5-01 17:27:46

      俺也一样,我GrassClipper用的是0.85版本。。。不知道是为啥

      • 博主
        saltyice
        1年前
        2022-5-01 17:32:27

        此 Clipper X1.0.0 非彼 GrassClipper 不过我这里昨晚上玩的时候都正常

    • Accelerator
      srybinx
      1年前
      2022-5-02 6:19:01

      你好,有排查出问题吗 我这边也是 服务器上的没问题 客户端连接不上 两个代理软件都试过了 都不可以

      • srybinx
        Accelerator
        1年前
        2022-5-02 9:56:35

        无从排查阿,我都不知道哪里的问题

      • srybinx
        Accelerator
        1年前
        2022-5-04 19:38:07

        找到问题了,我没关系统防火墙

  2. Otaku
    1年前
    2022-5-01 18:42:28

    请问,我已经在liunx上运行好了,用ios的wifi代理 公网ip+端口是22102连上去,一直卡门进不去登陆页面 是端口有问题吗

    • 博主
      Otaku
      1年前
      2022-5-01 18:56:28

      iOS的话好像是要代理证书 但是目前我还不知道怎么搞

  3. starry
    1年前
    2022-5-13 0:12:27

    连接服务器失败是什么原因大佬

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👀
🤡
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
小男孩
小电视
上一篇
下一篇