前言:假期将至,不少家里有闲置设备的小伙伴想尝试开设一个我的世界(Minecraft)服务器,却不知从何下手。本文以 PVE-Debian-MCSM 为主线介绍其部署流程。
什么是 PVE?
PVE (全称 Proxmox Virtual Environment) 是一款开源免费的虚拟化环境平台,同时支持 KVM 虚拟机和 LXC 容器。它基于 Debian 和 KVM 技术开发,可在一台 PC 或服务器上同时运行 Linux、OpenWRT、Windows 等,实现计算、网络、存储一体化解决方案,即所谓的 “all in one”。类似的平台还有 ESXi、Unraid 等。
什么是 MCSM?
MCSManager 面板(简称:MCSM 面板)是一款全中文,轻量级,开箱即用,多实例和支持 Docker 的 Minecraft 服务端管理面板。
此软件在 Minecraft 和其他游戏社区内中已有一定的流行程度,它可以帮助你集中管理多个物理服务器,动态在任何主机上创建游戏服务端,并且提供安全可靠的多用户权限系统,可以很轻松的帮助你管理多个服务器。
具体步骤:安装 PVE 并优化,开设虚拟机并安装 Debian,安装 mscm 界面并开设实例,配置网络服务。
准备工作:
1.PVE 镜像,推荐使用 7.4 版本https://www.proxmox.com/en/downloads
2.Debian 镜像:https://mirrors.tuna.tsinghua.edu.cn/debian/dists/ (不建议使用 DVD 版,会出现奇怪的问题。)
3. 我们的老伙计 Rufus:https://www.423down.com/10080.html
4.Purpur1.19 服务端:https://purpurmc.org/
5.MC 启动器 HMCL:https://hmcl.huangyuhui.net/
6.Zerotier 客户端:https://www.zerotier.com/download/
一、安装 PVE 并优化
1. 将下载好的镜像用 Rufus 写入 U 盘。
2. 将 U 盘插到目标主机上面,进入 BIOS-boot 设置启动顺序。这里我使用二手浪潮服务器 X99 主板,矿龙电源以及一块 128G 的 SSD 固态。注意:大部分服务器主板有机箱入侵检测机制,需要在说明书中找到特定针脚并用导电帽盖上,否则无法开机。
3. 进入安装界面,选择 install;
随后跑码,进入如下界面,同意协议:
设置硬盘与文件类型,可以选择 ext4 或者 btrfs;
选择国家与地区,这里需要手打出 China;
随后设置密码与邮件,邮件可以随便填:
然后设置网络连接,这里插网线就有地址;设置主机名,并记下内网 IP 地址;
检查无误后开始安装:
安装完成后 reboot。
4. 浏览器打开 PVE 地址,进入系统后我们需要给 PVE 换源。
首先,移除 (备份) 一下 PVE 原始的官方源 (将 sources.list 改名为 sources.list.bak)
mv /etc/apt/sources.list /etc/apt/sources.list.bak
添加国内 Debian 软件源:
nano /etc/apt/sources.list
改为
deb https://mirrors.ustc.edu.cn/debian/ bookworm main contrib
deb-src https://mirrors.ustc.edu.cn/debian/ bookworm main contribe
deb https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib
deb-src https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib
#编辑文件 pve-no-subscription.list
nano /etc/apt/sources.list.d/pve-no-subscription.list
#内容如下:
deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian bookworm pve-no-subscription
屏蔽 PVE 企业源:
nano /etc/apt/sources.list.d/pve-enterprise.list
将下面这一行注释掉 (前面加上井号):
#deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian bookworm pve-no-subscription
更新测试:
apt-get update
二、新建虚拟机并安装 Debian
1. 找到 local-btrfs (pve), 在其中的 ISO 中上传下载好的 Debian 镜像;
2. 随后创建虚拟机,选择 Debian 镜像并设置 CPU 核数与硬盘、内存大小;
3. 一路确认后开机进入命令行界面,即可开始 Debian 安装。我们选择 graphical install:
4. 选择国家和语言,随后自动配置网络;
5. 设置主机名,跳过域名设置;设置 root 账户名和密码、普通用户账户名与密码;
6. 对磁盘进行分区,由于是虚拟机我们选择使用整个磁盘;
7. 安装基本系统,随后将进入包管理器和大组件安装;
我们选择清华源,速度较快。注意:Debian 安装时默认开启安全源,这个源是国外的所以下载速度极慢,因此还需要修改配置文件,这里使用 Ctrl+Alt+F2 从图形界面转到 tty 命令终端,键入 Enter,使用命令nano /target/etc/apt/sources.list,将所有的源都改成 http://mirrors.ustc.edu.cn 或者清华源,然后 Ctrl+X 退出保存, Ctrl+Alt+F5 回到图形界面。
下载需要一些时间,此时可以饮口茶先,随后看到如下界面:
由于是服务器所以不需要桌面环境:
安装 grub 引导:
随后安装完成,reboot 后进入 mscm 的安装。
三、安装 MCSM 并开设实例
1. 开机进入 tty1 界面
2. 安装 JAVA 环境,不同版本的游戏的 Java 版本也不同。这里我们使用 1.19 版,需要安装 Java18。
安装 wget 和 下载 Java18
apt install wget && wget http://img.zeruns.tech/down/Java/OpenJDK18U-jre_x64_linux_hotspot_18.0.1_10.tar.gz
创建安装目录
mkdir /usr/local/java/
解压当前目录下的 JDK 压缩文件
tar -zxvf OpenJDK18U-jre_x64_linux_hotspot_18.0.1_10.tar.gz -C /usr/local/java/
软链接程序到环境变量中
ln -sf /usr/local/java/jdk-18.0.1+10-jre/bin/java /usr/bin/java
测试是否安装正常,显示 openjdk version "18.0.1" 2022-04-19 则为正常
java -version
3. 端口开发,面板需要 23333 和 24444 端口,游戏服务器默认端口是 25565。
在 PVE - 防火墙中打开它们。如果还是不行,执行如下命令:
systemctl stop firewalld
systemctl disable firewalld
service iptables stop
从而关闭防火墙。
4. 安装面板,这里使用一键安装命令(注意该脚本仅适用于 AMD64 架构)
wget -qO- https://gitee.com/mcsmanager/script/raw/master/setup.sh | bash
执行完成后,使用 systemctl start mcsm-{web,daemon} 即可启动面板服务。使用 systemctl enable mcsm-{daemon,web}.service 实现开机自启。
5. 在浏览器中打开该地址加上 23333 端口后缀,即可看到面板,账户为 root,密码为 123456。
6. 新建实例,上传 Purpur1.19 服务端,设置名称随后开启实例
7. 随后我们可以在配置文件中设置游戏的相关选项,如关闭正版验证等。
8. 大功告成,此时打开 HMCL 启动器,即可加入游戏。
四、配置联机网络
1. 此时不要忘记需要和小伙伴们一起玩耍。如果你家里有公网固定 IPv4 或者 IPv6,直接输入联机即可;如果没有公网 IP,此时就需要进行内网穿透或者 DDNS。
这里介绍一种名为 zerotier 的工具。
2. 首先在https://www.zerotier.com/ 注册并创建一个私有网络;
3. 首先在虚拟机中安装 curl 命令支持
apt-get install curl
4. 安装 gnupg 非对称信息加密系统,通讯所需必备软件
apt-get install gnupg
5. 安装 ZeroTier
curl -s https://install.zerotier.com/ | bash
安装成功后提示如下:
Success! You are ZeroTier address [ xxxxxxxxx ].
方括号内地址为类似于 MAC 地址。
6. 设定开机自启动(分别执行如下命令)
systemctl start zerotier-one.service
systemctl enable zerotier-one.service
7. 加入自己的私有网络
zerotier-cli join xxxxxxxxx
8. 大功告成!此时只要让小伙伴们下载 zerotier 客户端并加入相同的私有网络,即可一起快乐联机!
后记:一些对 PVE 的优化:
https://blog.vvusu.com/article/pve-install
https://www.cnblogs.com/jimaojin/p/12378201.html