前言:假期將至,不少家裡有閒置設備的小夥伴想嘗試開設一個我的世界(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 contrib
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