视频
b 站在线观看:https://www.bilibili.com/video/BV1pa411G7zy
视频文件下载:https://www.aliyundrive.com/s/TNhChprmXWQ
视频与本文都采用 CC BY-NC-SA 4.0 许可,转载和二次创作请遵守该协议。请前往协议网站,或查看视频分享文件夹内的 LISENCE.txt 文件查看详细协议。
## 提问前请前往文章底部以及评论区,查看是否有相同问题已经被解答 ##
资料
P1 全套基本流程
① 服务器购买
- 阿里云:https://www.aliyun.com/(视频演示)
- 腾讯云:https://cloud.tencent.com/
- 百度云:https://cloud.baidu.com/
- 华为云:https://www.huaweicloud.com/
② 远程登录服务器
Xshell 官网:https://www.xshell.com/zh/
③ 配置服务器环境
- 更新软件包列表:
apt update
- 安装 Java 运行时环境:
apt install openjdk-17-jre
(数字即版本,可对照下表更改)
Minecraft 版本 | Java 版本 |
---|---|
1.18 ~ 1.20 | 17 |
1.17 | 16 |
1.12 ~ 1.16 | 8+ |
1.11 以下 | 8(再老则需要 7) |
- 检查环境是否正常:
java -version
(若输出了安装的版本即正常) - 安装 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
- 启用 MCSManager 服务:
systemctl enable mcsm-{daemon,web}.service
- 运行 MCSManager 服务:
systemctl start mcsm-{daemon,web}.service
- 检查 MCSManager 服务状态:
systemctl status mcsm-{daemon,web}.service
(绿色即正常,按 q 退出页面) - 放通防火墙:需要放通 23333 与 24444 端口(TCP 协议)
- 访问 MCSManager 面板:浏览器打开
http://<公网IP>:23333/
warning 请记住你设置的账号密码
从教程发出到现在一直有人询问忘记密码怎么办,面板是没有可视化重置功能的。在此提醒请记住你设置的账号密码,如果忘记请自行查阅官方文档使用指令进行重置。
④ 配置 Minecraft 服务端
- Minecraft 官方原版服务端:https://run.sh.cn/mcs
- 放通防火墙:需要放通 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
- Minecraft Forge 官网:https://files.minecraftforge.net/
- 我的云盘快速下载:https://run.sh.cn/mcforge
注:我的云盘只收集了主流版本的目前最新版,想要最新请前往官网。
启动脚本示例: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 官网:https://fabricmc.net/
- 我的云盘快速下载(Fabric Server):https://run.sh.cn/mcfabric
- 我的云盘快速下载(Fabric API):https://run.sh.cn/mcfabricapi
注:我的云盘只收集了主流版本的目前最新版,想要最新请前往官网。
④ 上传 Fabric 服务端到服务器并测试启动
没啥其他要说的
P4 基岩版服务器
① 下载基岩版服务端
官网:https://www.minecraft.net/en-us/download/server/bedrock
② 上传到服务器
启动命令填写:./bedrock_server
③ 赋予服务端执行权限
- 复制当前服务器的工作路径,下文用
<Directory>
表示 - 使用 Xshell 连接到服务器,进行下面的操作。
- 进入服务器目录:
cd <Directory>
- 查看当前目录的文件:
ll
- 给服务端赋予执行权限:
chmod +x bedrock_server
- 查看当前目录的文件:
ll
,若服务端变绿即拥有执行权限
④ 运行服务器
点击开启实例,正常运行。
放通防火墙:需要放通 19132 端口(UDP 协议)
⑤ 尝试连接服务器
开启游戏,添加多人服务器,服务器地址填写服务器的公网 IP,端口默认 19132
P5 切换服务器 Java 版本
① 卸载旧的版本
- 检查当前安装的版本:
java -version
- 卸载当前版本:
apt remove openjdk-17-jre
(以 Java 17 为例) - 清理残留依赖包:
apt autoremove
- 检查是否完全卸载:
java -version
(若报错则卸载成功)
② 安装新的版本
- 安装新的版本:
apt install openjdk-8-jre
(以 Java 8 为例) - 检查当前安装的版本:
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. 包含 OutOfMemoryError
、Java 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 分区,但是治标不治本。建议升级内存配置。
发表回复