因为上小学的娃在鼓动他同学和他一块来玩Minecraft,已经成功的拉了两个,但其他小朋友又没有正版微软游戏账号,所以就需要搭建一个私服。于是,有了这个游戏私服的搭建过程。

![]( https://cdn.sujx.net/covers/cover96. jpg )

  1. 03 天津·和平大悦城·内山书店

部署实施

节点拓扑

我手头正好有两个阿里云的低价促销主机,其中99元的主机承载了包括blog、rss阅读器、看板等角色,就拿它来当管理面板。另外,还有一台199的2核4G内存服务器除了测试和学习外,其他负载不大,这里就把它作为游戏私服。

基本情况如下:

主机 域名 功能 配置 备注
wulan mcsm.contoso.com 控制面板 2核2G 搭建MCSM的管理面板
beijing mc.contoso.com 部署站点、服务站点 2核4G 通过MCSM daemon来部署Minecraft的服务器

部署方式

MCSManager 是一款开源,分布式,一键部署,支持 MinecraftSteam 游戏服务器 的控制面板,具有快捷上手、部署方便、支持分布式部署的优点。MCSM可以本地部署使用,也可以使用Docker来部署。其实,两种方法大同小异。我们这里就使用本地安装来进行部署。首先,要在阿里云上开通23333 24444 25655 这三个端口的安全组,其次,要配置DNS解析来访问主机。

# 在wulan主机上拉取安装脚本并进行安装
sudo su -c "wget -qO- https://script.mcsmanager.com/setup_cn.sh | bash"
# 拉起面板管理的服务进程。
systemctl enable --now mcsm-web.service
systemctl enable --now firewalld
# 开启web访问端口
firewall-cmd --permanent --add-port=23333/tcp
firewall-cmd --reload

# 在beijing主机上拉取安装脚本并进行安装
sudo su -c "wget -qO- https://script.mcsmanager.com/setup_cn.sh | bash"
# 拉起终端管理的服务进程。
systemctl enable --now mcsm-web.service
systemctl enable --now firewalld
# 开启管理进程端口
firewall-cmd --permanent --add-port=24444/tcp
# 开启游戏连接端口
firewall-cmd --permanent --add-port=25655/tcp
firewall-cmd --reload

运维管理

登陆管理页面

  1. 访问 http://mcsm.contoso.com:23333 管理入口

    ![]( https://cdn.sujx.net/2025/03/mcsm-01. PNG )

  2. 创建管理账号

    ![]( https://cdn.sujx.net/2025/03/mcsm-02. PNG )

  3. 添加远程节点
    ![]( https://cdn.sujx.net/2025/03/mcsm-04. PNG )

  4. 主机管理界面

    ![]( https://cdn.sujx.net/2025/03/mcsm-03. PNG )

搭建应用实例

  1. 添加应用实例
    ![]( https://cdn.sujx.net/2025/03/mcsm-05. PNG )

  2. 选择快速部署
    ![]( https://cdn.sujx.net/2025/03/mcsm-06. PNG )

  3. 选择不同预制部署方案, 拉取服务端和配置文件
    ![]( https://cdn.sujx.net/2025/03/mcsm-08. PNG )

  4. 启动应用进程, 部署Paper版本MC的Server
    ![]( https://cdn.sujx.net/2025/03/mcsm-07. PNG )

玩家界面

获取启动器

![]( https://cdn.sujx.net/2025/03/mcsm-12. PNG )

下载客户端

注意: 客户端版本要与服务器版本一致
![]( https://cdn.sujx.net/2025/03/mcsm-14. PNG )

登陆游戏

![]( https://cdn.sujx.net/2025/03/mcsm-15. PNG )

配置私服地址

在多人游戏中,指定服务器地址
![]( https://cdn.sujx.net/2025/03/mcsm-16. PNG )

进阶调整

由于MCSM管理默认为非加密通信, 同时还要访问自定义端口, 需要格外配置防火墙, 因此我将这些端口反向代理到常用端口上去, 可以相对的提高安全性.由于MCSM的控制流量实际是web socket的协议, 仅仅将网页前端加密是无法正常访问后端的守护进程的, 必须要将两端的通信都要加密才可以.因此, 就需要配置两台服务器的SSL.
![]( https://cdn.sujx.net/2025/03/mcsm-10. PNG )

创建SSL证书

# 获取SSL证书
# 配置SSL

管理面板的代理

# 安装Nginx
dnf install -y nginx
systemctl enable --now nginx

# 配置防火墙
firewall-cmd --permanent --add-service={http, https}
firewall-cmd --reload

# 配置Nginx
cat > /etc/nginx/conf.d/05-mcsm-web.conf <<EOF
server {
listen 443 ssl ;
listen 80 ;
charset utf-8;
server_name mcsm.contoso.com ;
resolver 223. 5. 5. 5;

error_page 497 https://$host$request_uri;
if ( $scheme = "http" ){
return 302 https://$host$request_uri;
}

location / {
proxy_pass http://localhost:23333 ;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
add_header X-Cache $upstream_cache_status;
proxy_cookie_flags ~ secure;
}
}
EOF

nginx -t
nginx -s reload

# 关闭多余端口
firewall-cmd --permanent --remove-port=23333/tcp
firewall-cmd --reload

![]( https://cdn.sujx.net/2025/03/mcsm-13. PNG )

管理进程的代理

# 安装Nginx
dnf install -y nginx
systemctl enable --now nginx

# 配置防火墙
firewall-cmd --permanent --add-service={http, https}
firewall-cmd --reload

# 配置Nginx, 使用443端口代理mcsm-daemon程序
cat > /etc/nginx/conf.d/05-mcsm-daemon.conf <<EOF
server
{
listen 443 ssl;
server_name mc.contoso.com;
resolver 223. 5. 5. 5;
charset utf-8;
include /etc/nginx/ssl/ssl.conf;

proxy_hide_header Upgrade;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;

proxy_pass http://127. 0. 0. 1:24444;

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

proxy_request_buffering off;
proxy_buffering off;
}
}
EOF

nginx -t
nginx -s reload

# 关闭多余端口
firewall-cmd --permanent --remove-port=24444/tcp
firewall-cmd --reload

![]( https://cdn.sujx.net/2025/03/mcsm-11. PNG )

相关网址

  1. MC原版服务端下载
  2. MCSM管理面板下载
  3. PaperMC版本服务端下载
  4. PCL2 启动器下载