ChrisKim
Do not go gentle into that good night.
颢天

从零开始使用云服务器搭建 Minecraft 服务器

视频

b 站在线观看:https://www.bilibili.com/video/BV1pa411G7zy

视频文件下载:https://www.aliyundrive.com/s/TNhChprmXWQ

视频与本文都采用 CC BY-NC-SA 4.0 许可,转载和二次创作请遵守该协议。请前往协议网站,或查看视频分享文件夹内的 LISENCE.txt 文件查看详细协议。

## 提问前请前往文章底部以及评论区,查看是否有相同问题已经被解答 ##

资料

P1 全套基本流程

① 服务器购买

② 远程登录服务器

Xshell 官网:https://www.xshell.com/zh/

③ 配置服务器环境

  1. 更新软件包列表:apt update
  2. 安装 Java 运行时环境:apt install openjdk-17-jre (数字即版本,可对照下表更改)
Minecraft 版本Java 版本
1.18 ~ 1.2017
1.1716
1.12 ~ 1.168+
1.11 以下8(再老则需要 7)
  1. 检查环境是否正常:java -version (若输出了安装的版本即正常)
  2. 安装 MCSManager:sudo wget -qO- https://gitee.com/mcsmanager/script/raw/master/setup_cn.sh | sudo bash

官方 Gitee 仓库:https://gitee.com/mcsmanager/MCSManager
官方 GitHub 仓库:https://github.com/mcsmanager/MCSManager

  1. 启用 MCSManager 服务:systemctl enable mcsm-{daemon,web}.service
  2. 运行 MCSManager 服务:systemctl start mcsm-{daemon,web}.service
  3. 检查 MCSManager 服务状态:systemctl status mcsm-{daemon,web}.service(绿色即正常,按 q 退出页面)
  4. 放通防火墙:需要放通 23333 与 24444 端口(TCP 协议)
  5. 访问 MCSManager 面板:浏览器打开 http://<公网IP>:23333/

warning 请记住你设置的账号密码
从教程发出到现在一直有人询问忘记密码怎么办,面板是没有可视化重置功能的。在此提醒请记住你设置的账号密码,如果忘记请自行查阅官方文档使用指令进行重置。

④ 配置 Minecraft 服务端

  1. Minecraft 官方原版服务端:https://run.sh.cn/mcs
  2. 放通防火墙:需要放通 25565 端口(TCP 协议)

配置文件重点:

  • gamemode
    • survival – 生存
    • creative – 创造
    • adventure – 冒险
  • difficulty
    • peaceful – 和平
    • easy – 简单
    • normal – 中等
    • hard – 困难
  • max-players
    • 最大玩家数量
  • online-mode
    • true – 只有正版能进服
    • false – 无正版验证
  • white-list
    • true – 只有白名单玩家能进服
    • false – 任何玩家能进服

warning 自行负责服务器安全
从教程发出到现在一直有人反馈服务器被恶意攻击破坏,在此提醒服务器安全自行负责,遭到破坏我不提供任何协助。以下配置是高风险的:正版服务器不开启白名单、盗版服务器不安装任何登陆插件(盗版服务器白名单无意义).

⑤ 尝试连接服务器

开启游戏,添加多人服务器,服务器地址填写服务器的公网 IP。

P2 域名购买和解析

① 域名购买

阿里云域名购买:https://wanwang.aliyun.com/

新用户域名一般都非常便宜,后缀对使用没有影响,选择便宜的即可。

购买后可能需要实名认证,认证完成后就可以进行解析了。

② 域名解析

阿里云域名列表:https://dc.console.aliyun.com/#/domain-list/all

进入解析后,点击添加记录:

  • 记录类型:A
  • 主机记录:任意,若填写 @ 则代表无前缀
  • 解析线路:默认
  • 记录值:填写服务器公网 IP
  • TTL:默认 10 分钟,意思是解析记录修改后的生效时间

P3 Java 版 Mod 服

① 下载安装并测试 Forge

注:我的云盘只收集了主流版本的目前最新版,想要最新请前往官网。

启动脚本示例:java -Xms1G -Xmx4G -jar forge-1.12.2-14.23.5.2859.jar nogui

参数解释(请根据自身情况修改,不可复制示例):

  • -Xms*G:虚拟机最低内存 *GB,不是很重要,设置 1G 即可。
  • -Xmx*G:虚拟机最高内存 *GB,不能超过服务器内存上限,根据自己调整。
  • -jar *:指定需要启动的 jar 文件,后面接文件名。
  • nogui:指定不需要可视化界面。

② 上传 Forge 服务端到服务器并测试启动

(视频中 Java 版本的卸载与安装内容移至另一个专题来讲解)

没啥其他要说的

③ 下载安装并测试 Fabric

注:我的云盘只收集了主流版本的目前最新版,想要最新请前往官网。

④ 上传 Fabric 服务端到服务器并测试启动

没啥其他要说的

P4 基岩版服务器

① 下载基岩版服务端

官网:https://www.minecraft.net/en-us/download/server/bedrock

② 上传到服务器

启动命令填写:./bedrock_server

③ 赋予服务端执行权限

  1. 复制当前服务器的工作路径,下文用 <Directory> 表示
  2. 使用 Xshell 连接到服务器,进行下面的操作。
  3. 进入服务器目录:cd <Directory>
  4. 查看当前目录的文件:ll
  5. 给服务端赋予执行权限:chmod +x bedrock_server
  6. 查看当前目录的文件:ll,若服务端变绿即拥有执行权限

④ 运行服务器

点击开启实例,正常运行。

放通防火墙:需要放通 19132 端口(UDP 协议

⑤ 尝试连接服务器

开启游戏,添加多人服务器,服务器地址填写服务器的公网 IP,端口默认 19132

P5 切换服务器 Java 版本

① 卸载旧的版本

  1. 检查当前安装的版本:java -version
  2. 卸载当前版本:apt remove openjdk-17-jre(以 Java 17 为例)
  3. 清理残留依赖包:apt autoremove
  4. 检查是否完全卸载:java -version(若报错则卸载成功)

② 安装新的版本

  1. 安装新的版本:apt install openjdk-8-jre(以 Java 8 为例)
  2. 检查当前安装的版本:java -version

P6 开启交换分区

对于 Linux 系统,如果出现系统内存不足的情况,内核会启用 OOM Killer 选择进程将其杀死,这就是为什么有时候服崩了/面板崩了。

开启交换分区后,若系统内存紧张,内核将会把内存中不活动的内存页面写入交换分区(磁盘)从而释放内存空间,缓解内存压力。可以一定程度防止进程被杀死。

注意:交换分区只是妥协方式,磁盘 I/O 性能和内存是天壤之别,内存不足会导致严重卡顿。

创建文件

指令结尾数字即 SWAP 大小,2048 即 2GB,一般 2~4G 就够用了。

sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

设置权限

sudo chmod 600 /swapfile

设置文件为交换分区

sudo mkswap /swapfile

启用交换分区

sudo swapon /swapfile

启用自动挂载

echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab

检查状态

swapon -s

FAQ (常见问题)

1. Unable to access jarfile xxx.jar

压缩包多了一层,正确的压缩包结构根目录就是服务端文件,而不是多了一层文件夹。具体解释在视频 P3 的 11:53 处。

2. MCSM 安装脚本报错 / 脚本装不上 Node 环境

使用错了脚本版本,MCSM 面板英文网站脚本是国外节点版,中文网站是国内节点版,因此若在国内安装请用国内节点版(gitee.com 开头),否则大概率因为网络问题装不上。本文的脚本便是正确版本。

3. MCSM 安装脚本权限不足,报 Please execute the MCSManager installation command with root permission!

命令需要使用 sudo 管理员权限运行,同时改命令内含有管道运算符,| 前后为两条指令,都得加 sudo,示例:sudo wget -qO- https://gitee.com/mcsmanager/script/raw/master/setup.sh | sudo bash

4. 包含 OutOfMemoryErrorJava heap space 等字样崩服(这种情况常出现在加载地图时爆内存)

内存溢出导致崩服,说明服务器配置不够了,得加钱升级配置了。当然,升级前先看下自己启动脚本写的对不对,-Xmx 参数是否充分利用了服务器内存,别出现 8G 服务器写个 -Xmx4G 这种低级错误。

5. apt install openjdk-7-jre 装不上 Java 7

Java 7 太过于古董,目前的 Ubuntu 软件包仓库已经将其剔除了。如果你真必须得用 Java 7,可以百度下 Ubuntu 安装 Java 7 的教程(因为确实很少情况用得上所以不打算录视频说)

6. 怎么给服务器装插件?

装插件必须使用插件服务端,原版、forge、fabric 均不是插件服务端,不能装插件,后两者只能装 mod!若要装插件,需要自己配插件服务端,也可以找找有没有插件端整合包。

7. 正版连不上 / 盗版连不上

若不关正版验证盗版肯定连不上!若开启正版验证正版连不上,并显示身份验证服务器正在停机维护 / 无效会话 等等错误,说明你游戏的正版账号掉线了,去启动器退出重登正版账号。

8. Xshell 连不上服务器

请确认自己服务器镜像是 Linux 而不是 Windows,不要出现自己装个 Windows Server 连不上 SSH 过来浪费我时间的情况。装错了的话去重置系统镜像。

9. 没有 apt 指令,报错 -bash: apt: command not found

请确认自己服务器镜像是 Ubuntu 20.04 而不是其他 Linux 发行版比如 CentOS 7. 装错了的话去重置系统镜像。

10. 面板安装时 GitHub 连接异常

官方不知何时更换了国内安装脚本的链接,因此需要使用新安装脚本:
sudo wget -qO- https://gitee.com/mcsmanager/script/raw/master/setup_cn.sh | sudo bash

11. 每过一段时间 MC 服务器崩了 / 面板崩了打不开

系统内存严重不足,导致进程被 Linux 内核杀死。可以尝试启用 SWAP 分区,但是治标不治本。建议升级内存配置。

本文链接:https://www.zouht.com/2954.html
本文使用:CC BY-NC-SA 4.0 许可
# # #
首页      教程      从零开始使用云服务器搭建 Minecraft 服务器

发表回复

textsms
account_circle
email

  • rookie

    你好 请问这种情况要怎么解决
    [MCSMANAGER] [INFO] 仿真终端模式已生效,您可以直接在终端内直接输入内容并使用 Ctrl,Tab 等功能键
    Error: Unable to access jarfile forge-1.16.5-36.2.34.jar

    2 年前 回复
    • rookie

      @rookie: 抱歉,解决了

      2 年前 回复
    • rookie

      @rookie: 发现了是实例文件里没有我上传的压缩文件,我手动重新上传了之后却还是不显示压缩文件文件

      2 年前 回复
  • Uncle_ying

    博主,我想问问一些魔改的整合包上传的话一样也是复制mod过去服务端里的mod文件夹里就行的吗

    2 年前 回复
  • xo

    你好请问我是使用spigot创建服务器的,但是他一直找不到正确的java路径

    2 年前 回复
  • facer

    你好之前成功用Xshell启动过服务器,但是今天打开xshell的时候一直显示To escape to local shell, press ‘Ctrl+Alt+]’.然后无法输入,网上的方法根本无法使用。想问问大大看看怎么解决

    2 年前 回复
  • uiiiiirt

    up主你好,我的服务器是按你的视频做的,但是经常出现内存溢出的情况,已经从4G升到了8G但也无济于事,具体表现就是内存占用随着时间越来越大,最后导致服务器直接崩溃,但是服务器只有五六个人在跑图,按理来说应该不会内存占用超过8G然后溢出的吧?请问有解决方法吗?

    2 年前 回复
  • Auan

    这个java1.18.2-forge不在第一层目录怎么写启动命令,原来的启动命令会报错

    2 年前 回复
    • Auan

      @Auan: 呜呜呜我没看清楚视频我会了抱歉抱歉原来安装包也要放进里面QAQ

      2 年前 回复
  • Bland_nothing

    你好,我想问一下,我创建的服务器在加载时就会死机,升级成了2核8g仍然会死机,而且查性能监控发现死机前cpu和内存使用率都没有到100%,这是服务器性能太差的问题还是有其他可能

    2 年前 回复
  • lmh

    您好,请问在配置mod服务端的时候,run.bat跑起来后显示could not reserve enough space for object heap。只能改成xmx1g-xms1g,这样更容易造成服务器卡顿或者崩溃吗,该怎么解决?

    2 年前 回复
  • No.101

    [02:58:20] [main/ERROR] [ne.mi.fm.lo.ModSorter/LOADING]: Missing or unsupported mandatory dependencies:
    Mod ID: ‘puzzleslib’, Requested by: ‘enchantinginfuser’, Expected range: ‘[4.3.12,)’, Actual version: ‘[MISSING]’
    Mod ID: ‘curios’, Requested by: ‘curiosquarkobp’, Expected range: ‘[0,)’, Actual version: ‘[MISSING]’
    Mod ID: ‘terrablender’, Requested by: ‘biomesoplenty’, Expected range: ‘[2.0.1.128,)’, Actual version: ‘[MISSING]’
    Mod ID: ‘puzzleslib’, Requested by: ‘diagonalfences’, Expected range: ‘[4.3.10,)’, Actual version: ‘[MISSING]’
    Mod ID: ‘iceberg’, Requested by: ‘advancementplaques’, Expected range: ‘[1.0.44,)’, Actual version: ‘[MISSING]’
    Mod ID: ‘puzzleslib’, Requested by: ‘betteranimationscollection’, Expected range: ‘[4.3.0,)’, Actual version: ‘[MISSING]’
    Mod ID: ‘quarkoddities’, Requested by: ‘curiosquarkobp’, Expected range: ‘[0,)’, Actual version: ‘[MISSING]’
    大佬,下了整合包,复制mods文件进去的时候,启动不了实例,可以解决吗

    2 年前 回复
  • No.101

    [03:06:30] [main/ERROR] [mixin/]: Mixin config mixins.oculus.compat.sodium.json does not specify “minVersion” property
    [03:06:30] [main/ERROR] [mixin/]: Mixin config radon.mixins.json does not specify “minVersion” property
    [03:06:30] [main/ERROR] [mixin/]: Mixin config rei-jei-internals-workaround.mixins.json does not specify “minVersion” property
    [03:06:30] [main/ERROR] [mixin/]: Mixin config goodall-common.mixins.json does not specify “minVersion” property
    [03:06:30] [main/ERROR] [mixin/]: Mixin config goodall.mixins.json does not specify “minVersion” property
    [03:06:30] [main/ERROR] [mixin/]: Mixin config rei.mixins.json does not specify “minVersion” property
    [03:06:30] [main/ERROR] [mixin/]: Mixin config rottencreatures-common.mixins.json does not specify “minVersion” property
    [03:06:30] [main/ERROR] [mixin/]: Mixin config rottencreatures.mixins.json does not specify “minVersion” property
    大佬,我按照你的步骤全弄好了,不打mod可以玩,但是我想打mod的时候报错了,是缺什么东西吗,

    2 年前 回复
  • Ghost_ying

    你好,请问MCSM启动实例后加载卡在了[10:22:08] [Server thread/INFO] [AUW/]: Started[!] DS…
    [10:22:08] [Server thread/INFO] [CRT/]: Season provider and tracking is disabled (not required by any mod) [FINAL]请问多半是什么原因

    2 年前 回复
  • yu

    Failed to fetch http://security.ubuntu.com/ubuntu/pool/universe/o/openjdk-17/openjdk-17-jre-headless_17.0.5+8-2ubuntu1~20.04_amd64.deb Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1562::18). – connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1562::15). – connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2620:2d:4000:1::16). – connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2620:2d:4000:1::19). – connect (101: Network is unreachable) Could not connect to archive.ubuntu.com:80 (91.189.91.38), connection timed out Could not connect to archive.ubuntu.com:80 (91.189.91.39), connection timed out Could not connect to archive.ubuntu.com:80 (185.125.190.36), connection timed out Could not connect to archive.ubuntu.com:80 (185.125.190.39), connection timed out
    E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/g/gtk+2.0/libgtk2.0-bin_2.24.32-4ubuntu4_amd64.deb Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1562::18). – connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2001:67c:1562::15). – connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2620:2d:4000:1::16). – connect (101: Network is unreachable) Cannot initiate the connection to archive.ubuntu.com:80 (2620:2d:4000:1::19). – connect (101: Network is unreachable)
    E: Unable to fetch some archives, maybe run apt-get update or try with –fix-missing?
    root@SECSsc9xh:~# ^C
    您好请问这是怎么回事

    2 年前 回复
    • yu

      @yu: 是网络问题么

      2 年前 回复
    • ChrisKim博主

      @yu: 换个中国境内的apt源(一般国内IDC会帮你换好国内源,不知道你这是哪买的服务器)

      2 年前 回复
  • cherry0v

    你好 请问显示连接节点错误怎么办

    2 年前 回复
  • UUUUUU

    您好UP,请问我在开设java模组服的时候上传zip之后显示
    [MCSMANAGER] [INFO] 应用实例已运行,您可以在底部的命令输入框发送命令,如果您需要支持 Ctrl,Tab 等快捷键等高级控制台功能,请前往终端设置开启仿真终端功能
    Error: could not open `user_jvm_args.txt’

    [MCSMANAGER] [ERROR] 检测到实例启动后在极短的时间内退出,原因可能是您的启动命令错误或配置文件错误。
    这样的问题,请问如何解决?

    2 年前 回复
  • ReLois

    您好,我在MCSManage面板上传好了服务器压缩包并运行实例之后反馈“检测到实例启动后在极短的时间内退出,原因可能是您的启动命令错误或配置文件错误。”而我的启动命令是“java -Xms1G -Xmx8G -jar forge-1.12.2-14.23.5.2847-universal.jar nogui”,在服务器上配置了Java 8,同时面板报错内容为“Error: Unable to access jarfile forge-1.12.2-14.23.5.2847-universal.jar”我应该如何解决

    2 年前 回复
  • Deuterium

    您好,请问为什么我在客户端尝试连接服务器却一直显示无法连接,MCS和阿里云都显示实例正常启动,而且MCS没有显示我尝试连接过服务器,反复检查过并未输错IP地址。

    2 年前 回复
  • Deuterium

    提示“面板端 9.7.2 必须对应远程节点 1.0.0 版本”

    请问下这种连接不上远程节点的该怎么解决

    2 年前 回复
  • 小骨

    你好,请问我在运行run.bat的时候提示我[main/ERROR] [LaunchWrapper]: Unable to launch。无法启动,这需要怎么解决呢。我用的是1.7.2

    2 年前 回复
  • ChengKong

    版本是1.18.2
    自己电脑运行正常
    WARNING: Unknown module: cpw.mods.securejarhandler specified to –add-exports
    WARNING: Unknown module: cpw.mods.securejarhandler specified to –add-opens
    Error: Could not find or load main class cpw.mods.bootstraplauncher.BootstrapLauncher
    Caused by: java.lang.ClassNotFoundException: cpw.mods.bootstraplauncher.BootstrapLauncher

    2 年前 回复
    • @ChengKong: java版本不对

      2 年前 回复
      • ChengKong

        @ChrisKim: java版本是17
        lighthouse@VM-4-8-ubuntu:~$ java -version
        openjdk version “17.0.5” 2022-10-18
        OpenJDK Runtime Environment (build 17.0.5+8-Ubuntu-2ubuntu118.04)
        OpenJDK 64-Bit Server VM (build 17.0.5+8-Ubuntu-2ubuntu118.04, mixed mode, sharing)

        2 年前 回复
    • ChrisKim博主

      @ChengKong: 你的启动指令填写的是什么

      2 年前 回复
      • ChengKong

        @ChrisKim: java @user_jvm_args.txt @libraries/net/minecraftforge/forge/1.18.2-40.2.0/win_args.txt %*

        2 年前 回复
      • ChengKong

        @ChrisKim: 我刚刚又重新回去看了一遍up的教程发现了问题,太感谢。现在服务器已经成功启动了 [抱拳]

        2 年前 回复
  • jass

    你好,我在最后一步启动实例时报错
    Error: Unable to access jarfile forge-1.12.2-14.23.5.2859.jar
    [MCSMANAGER] [ERROR] 检测到实例启动后在极短的时间内退出,原因可能是您的启动命令错误或配置文件错误。
    我搜索后有的说是因为bat和jar不在一个文件夹内,但我确实放在了一个文件夹内,后来在xshell内尝试启动也是一样的结果,这是什么原因导致的呢?如何解决呢?

    2 年前 回复
  • nanao

    问一下up主怎么开多版本兼容买了4核8g的服务器

    2 年前 回复
  • 飞雪灬尘封

    请教一下,如果整合包服务器显示版本过期是什么原因呢?

    2 年前 回复
  • 栀夏

    你好,请问一下这个问题出在哪了[14:32:44] [Server thread/INFO]: com.mojang.authlib.GameProfile@5b7ee273[id=,name=dai_biao,properties={},legacy=false] (/42.86.63.105:51495) lost connection: Disconnected
    然后mc里面显示“登陆失败,无效会话,请尝试重启游戏及启动器”,已经重启游戏和启动器但是还是这样

    2 年前 回复
  • acv

    E:\服务器\forge>java @user_jvm_args.txt @libraries/net/minecraftforge/forge/1.18.2-40.1.0/win_args.txt
    错误: 找不到或无法加载主类 @user_jvm_args.txt 这个是什么情况啊,双击run.bat那个文件

    2 年前 回复
  • ACV

    救命🆘,忘记用户名和密码了怎么办,他突然就要重登了

    2 年前 回复

颢天

从零开始使用云服务器搭建 Minecraft 服务器
视频 b 站在线观看:https://www.bilibili.com/video/BV1pa411G7zy 视频文件下载:https://www.aliyundrive.com/s/TNhChprmXWQ 视频与本文都采用 CC BY-NC-SA 4.0 许…
扫描二维码继续阅读
2022-08-23