นี่คือคู่หูลงมือของหน้า VPS สำหรับเซิร์ฟเวอร์เกม ของเรา อันนั้นเกี่ยวกับแพ็กเกจใดเหมาะ อันนี้เกี่ยวกับการตั้งเซิร์ฟเวอร์ขึ้นจริง — Paper บริการ systemd ที่เหมาะสม คอนฟิกที่ประหยัด RAM firewall และการสำรอง เมื่อจบคุณจะมีเซิร์ฟเวอร์ Minecraft ที่รอดแครช รอดรีบูต และไม่กินเครื่องทั้งเครื่องเงียบ ๆ
หมายเหตุตรงไปตรงมาก่อนเริ่ม: ขีดจำกัด CPU และ RAM จากหน้า use-case ยังใช้ Paper บนแพ็กเกจ Small หรือ Medium เยี่ยมสำหรับกลุ่มเพื่อน 150-mod pack สำหรับชุมชนใหญ่ไม่ใช่สิ่งที่แพ็กเกจเหล่านี้มีไว้ และการปรับคอนฟิกใด ๆ ไม่แก้นั่น ด้วยความชัดนั้น มา build
1. ติดตั้ง Java
Paper รันบน Java ติดตั้ง JDK headless — สำหรับ Minecraft เวอร์ชันปัจจุบันนั่นคือ Java 21:
sudo apt update
sudo apt install -y openjdk-21-jre-headless
java -version
หาก Minecraft เวอร์ชันของคุณเก่ากว่า ติดตั้ง Java ที่มันขอ (17 สำหรับยุค 1.18-1.20) log เซิร์ฟเวอร์จะบ่นเสียงดังหากเวอร์ชันผิด
2. ตั้งไดเรกทอรีเซิร์ฟเวอร์และ Paper
รันเซิร์ฟเวอร์ในฐานะผู้ใช้ของตัวเอง ไม่ใช่ root — หากมีอะไรผิดพลาดเมื่อใด คุณอยากให้รัศมีการระเบิดเล็ก
sudo adduser --system --group --home /opt/minecraft minecraft
sudo -u minecraft mkdir -p /opt/minecraft/server
cd /opt/minecraft/server
ดาวน์โหลด jar Paper สำหรับ Minecraft เวอร์ชันของคุณ (คว้า URL จากหน้าดาวน์โหลด) และบันทึกเป็น server.jar:
sudo -u minecraft wget -O server.jar "PASTE_PAPER_DOWNLOAD_URL_HERE"
รันมันครั้งหนึ่งเพื่อสร้างไฟล์คอนฟิก จากนั้นยอมรับ EULA:
sudo -u minecraft java -Xms1G -Xmx3G -jar server.jar --nogui
# มันหยุดทันทีขอให้คุณยอมรับ EULA
sudo -u minecraft sed -i 's/eula=false/eula=true/' eula.txt
-Xmx3G คือเพดาน heap ของ JVM บนแพ็กเกจ Small 4 GB ~3 GB สำหรับ JVM เหลือที่ให้ OS หายใจ อย่าตั้งมันเป็น RAM ทั้งหมดของคุณ — JVM มี overhead เกิน heap และ OOM killer ไม่ต่อรอง
3. ปรับ server.properties เพื่อประหยัด RAM
นี่คือที่ที่คุณซื้อประสิทธิภาพให้ตัวเองฟรี เปิด server.properties และตั้ง:
view-distance=8
simulation-distance=6
max-players=10
view-distance— chunk ที่เก็บโหลดรอบผู้เล่นแต่ละคน ค่าเริ่มต้น 10 ใจกว้าง 8 (หรือแม้แต่ 6) ตัด RAM และ CPU อย่างสังเกตได้และแทบไม่มีใครสังเกตความต่างsimulation-distance— เอนทิตี redstone และการเติบโตของพืช tick ไกลแค่ไหนจริง ต่ำกว่าถูกกว่า 6 คือจุดเริ่มต้นที่เหมาะสมmax-players— ตั้งมันเป็นที่คุณคาดจริง เพื่อให้ฝูงชนเซอร์ไพรส์ไม่ระเบิดงบ RAM ของคุณ
จำความจริง single-thread: tick ของ Minecraft พึ่งคอร์เดียว หาก TPS ตก RAM มากขึ้นไม่ช่วย — ลด simulation-distance และ cap mob
4. รันมันเป็นบริการ systemd
นี่คือส่วนที่เปลี่ยน "jar ที่ฉันรันครั้งหนึ่ง" เป็น "เซิร์ฟเวอร์" สร้าง /etc/systemd/system/minecraft.service:
[Unit]
Description=Minecraft Paper Server
After=network.target
[Service]
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/java -Xms1G -Xmx3G -jar server.jar --nogui
Restart=on-failure
RestartSec=10
SuccessExitStatus=0 143
[Install]
WantedBy=multi-user.target
Restart=on-failure คือบรรทัดที่สำคัญ — หาก JVM แครช systemd นำมันกลับในสิบวินาที SuccessExitStatus=... 143 หยุด systemd จากการปฏิบัติต่อการปิด SIGTERM ปกติเป็นความล้มเหลว เปิดและเริ่มมัน:
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo systemctl status minecraft
sudo journalctl -u minecraft -f # log สด
ตอนนี้มันเริ่มตอนบูต รีสตาร์ทเมื่อแครช และ log ไป journald
5. เปิดพอร์ต firewall
Minecraft รอรับบน TCP 25565 โดยค่าเริ่มต้น เปิดเฉพาะนั้น:
sudo ufw allow 25565/tcp
sudo ufw enable
ให้ IP ของเซิร์ฟเวอร์แก่เพื่อนของคุณ (และ :25565 หากคุณเปลี่ยนพอร์ต) อย่าเปิดอะไรที่คุณไม่ต้องการ — จุดประสงค์ทั้งหมดของการรันเครื่องของคุณเองคือคุณตัดสินว่าอะไรเข้าถึงได้
6. สำรองโลก
อันที่คนข้ามจนถึงวันที่พวกเขาอยากไม่ได้ข้าม สคริปต์ง่าย:
#!/bin/bash
cd /opt/minecraft/server
TS=$(date +%Y%m%d-%H%M)
tar czf /opt/minecraft/backups/world-$TS.tar.gz world world_nether world_the_end
รันมันจาก cron และ — นี่คือครึ่งที่สำคัญ — คัดลอกไฟล์ออกจากเซิร์ฟเวอร์ ไป object storage หรืออีกเครื่อง การสำรองบนดิสก์เดียวกับโลกตายกับดิสก์ หากโลกของคุณสำคัญ รัน save-off และ save-all ในคอนโซลเซิร์ฟเวอร์ก่อน tar เพื่อให้คุณไม่เคยสแนปช็อตกลางเขียน
นั่นคือทั้งหมด
Java, Paper, คอนฟิกที่ปรับ บริการ systemd ที่รีสตาร์ทอัตโนมัติ พอร์ต firewall และการสำรองที่อยู่ที่อื่น นั่นคือเซิร์ฟเวอร์ Minecraft ที่ทำตัวเหมือนหนึ่ง
หากคุณยังไม่มีเครื่อง: เลือกแพ็กเกจ — Small ($8) สำหรับกลุ่มเล็ก Medium ($12) หากคุณดันสิบผู้เล่น — จ่ายด้วย USDC หรือ USDT (ไม่ต้อง KYC ไม่มีเอกสาร) และคุณจะมี root ในเวลาประมาณ 60 วินาที จากนั้นทำตามหน้านี้ และการเตือนตรงไปตรงมาครั้งสุดท้าย: นี่คือการตั้งค่าที่ถูกต้องสำหรับ vanilla หรือ Paper กับเพื่อน modpack หนักสำหรับชุมชนใหญ่ต้องการฮาร์ดแวร์ต่าง และเราขอให้คุณได้ยินนั่นจากเราก่อน
ความคิดเห็น
ยังไม่มีความคิดเห็น เป็นคนแรกสิ