EQVPS

การตั้งเซิร์ฟเวอร์ Minecraft บน VPS

Jul 27, 2026 · 2 นาทีในการอ่าน · EQVPS Team

นี่คือคู่หูลงมือของหน้า 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

จำความจริง 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 หนักสำหรับชุมชนใหญ่ต้องการฮาร์ดแวร์ต่าง และเราขอให้คุณได้ยินนั่นจากเราก่อน

FAQ

ฉันต้องการ Java เวอร์ชันใด?

Minecraft เวอร์ชันล่าสุดต้องการ Java 17 ขึ้นไป ตัวล่าสุดต้องการ Java 21 ติดตั้ง OpenJDK build ที่ Minecraft เวอร์ชันของคุณเรียก การรันเซิร์ฟเวอร์ครั้งหนึ่งจะบอกคุณชัดหากเวอร์ชัน Java ผิด ใช้ JRE/JDK headless เพื่อไม่ดึงสแตกเดสก์ท็อปที่คุณไม่เคยใช้

ฉันเก็บเซิร์ฟเวอร์ให้รันหลัง log out อย่างไร?

รันมันเป็นบริการ systemd นั่นให้คำสั่ง start/stop/status, log ผ่าน journalctl, การรีสตาร์ทอัตโนมัติหาก JVM แครช และ start-on-boot — ดีกว่าเซสชัน screen ที่คุณต้องจำ reattach มาก ไฟล์บริการอยู่ในคู่มือ

ฉันควรให้ RAM เท่าไรกับ JVM?

ตั้ง -Xmx ต่ำกว่า RAM รวมของแพ็กเกจของคุณนิดเพื่อให้ OS เก็บบ้าง — บนแพ็กเกจ Small 4 GB ราว 3 GB สำหรับ JVM สมเหตุสมผล อย่าตั้ง -Xmx เท่ากับ RAM ทั้งหมดของคุณ OS และ overhead ของ JVM เองต้องการพื้นที่เหลือ ไม่งั้นคุณจะถูก OOM reaper ฆ่า

ฉันสำรองโลกอย่างไร?

หยุดเซิร์ฟเวอร์ (หรือรัน save-off/save-all ก่อน) tar โฟลเดอร์โลก และคัดลอกไฟล์ออกจากเครื่อง — ไป object storage หรืออีกเซิร์ฟเวอร์ ใส่มันบน cron การสำรองที่นั่งบนดิสก์เดียวกับโลกไม่ใช่การสำรอง มันตายกับดิสก์

← กลับไปบล็อกดูแพ็กเกจและราคา →

ความคิดเห็น

ยังไม่มีความคิดเห็น เป็นคนแรกสิ

แสดงความคิดเห็น

ความคิดเห็นจะถูกตรวจสอบก่อนแสดง