วิธีสร้างเซิร์ฟเวอร์ Minecraft บน VPS Linux
คู่มือนี้ตั้งเซิร์ฟเวอร์ Paper ซึ่งเป็นตัวเลือกยอดนิยมที่สุดสำหรับเซิร์ฟเวอร์ที่ใช้ปลั๊กอิน บน VPS Ubuntu 24.04 ใหม่เอี่ยม ครอบคลุม Java ไฟล์เซิร์ฟเวอร์ แฟล็กตอนเริ่มต้น ไฟร์วอลล์ และการทำให้เซิร์ฟเวอร์รันต่อเนื่อง ใช้เวลาประมาณ 20 นาที
ก่อนเริ่ม
- VPS ที่มีหน่วยความจำเพียงพอ ดู เซิร์ฟเวอร์ Minecraft ต้องใช้ RAM เท่าไร 4 GB สำหรับ Minecraft บวก 1 ถึง 2 GB สำหรับระบบ เหมาะกับเซิร์ฟเวอร์เล็กที่มีปลั๊กอิน
- Ubuntu 24.04 พร้อมสิทธิ์ root หรือ sudo ผ่าน SSH
- เวอร์ชัน Minecraft ที่ผู้เล่นของคุณจะใช้
1. ติดตั้ง Java
Minecraft เวอร์ชันปัจจุบัน 26.1 ขึ้นไป ต้องใช้ Java 25 ส่วนเซิร์ฟเวอร์เวอร์ชัน 1.21 ใช้ Java 21 แทน บน Ubuntu 24.04:
sudo apt update sudo apt install -y openjdk-25-jre-headless tmux java -version
คำสั่งสุดท้ายควรแสดงเวอร์ชัน 25
2. เปิดไฟร์วอลล์
Java Edition ใช้พอร์ต TCP 25565 เป็นค่าเริ่มต้น อนุญาต SSH ก่อน เพื่อไม่ให้ตัวเองถูกล็อกออก:
sudo ufw allow OpenSSH sudo ufw allow 25565/tcp sudo ufw enable
แพ็กเกจ VPS ของ Nodewave ไม่มีไฟร์วอลล์ของผู้ให้บริการกั้นหน้าพอร์ตของคุณ ดังนั้น ufw บนเซิร์ฟเวอร์คือไฟร์วอลล์ของคุณ ถ้าโฮสต์ของคุณมีพาเนลไฟร์วอลล์ของตัวเอง ให้เปิดพอร์ตที่นั่นด้วย
3. ดาวน์โหลด Paper
สร้างผู้ใช้สำหรับเซิร์ฟเวอร์ เพื่อไม่ให้รันในฐานะ root แล้วดาวน์โหลด Paper ลงโฟลเดอร์ของมันเอง:
sudo adduser --disabled-password --gecos "" minecraft sudo -iu minecraft mkdir -p ~/server && cd ~/server wget -O paper.jar "paste-the-download-link-here"
เอาลิงก์จาก หน้าดาวน์โหลด Paper: เลือกเวอร์ชัน Minecraft ของคุณ แล้วคัดลอกลิงก์ของบิลด์เสถียรล่าสุด
4. ยอมรับ EULA
เริ่มเซิร์ฟเวอร์หนึ่งครั้ง มันจะหยุดทันทีและสร้าง eula.txt:
java -Xms2G -Xmx2G -jar paper.jar --nogui
อ่าน Minecraft EULA ของ Mojang ถ้าคุณยอมรับ ให้เปลี่ยน eula=false เป็น eula=true ใน eula.txt เช่นด้วยคำสั่งนี้ เซิร์ฟเวอร์จะไม่เริ่มจนกว่าคุณจะทำ
sed -i 's/eula=false/eula=true/' eula.txt
5. สร้างสคริปต์เริ่มต้น
Paper แนะนำชุดแฟล็ก Java ที่มักเรียกว่า Aikar's flags ซึ่งช่วยให้การหยุดเพื่อ garbage collection สั้นลง สร้าง start.sh ด้วย nano start.sh วางบรรทัดด้านล่าง บันทึก แล้วรัน chmod +x start.sh ตั้ง -Xms และ -Xmx ให้เท่ากัน: คือหน่วยความจำของ VPS ลบ 1 ถึง 1.5 GB สำหรับระบบ
#!/bin/sh java -Xms4G -Xmx4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 \ -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch \ -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M \ -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 \ -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 \ -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem \ -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true \ -jar paper.jar --nogui
6. เริ่มและทำให้รันต่อเนื่อง
tmux new -s minecraft ./start.sh
เมื่อคอนโซลขึ้น “Done” เซิร์ฟเวอร์ก็พร้อมแล้ว ออกจาก tmux โดยกด Ctrl+B แล้วตามด้วย D เซิร์ฟเวอร์จะรันต่อหลังคุณล็อกเอาต์ กลับเข้าไปด้วย tmux attach -t minecraft และหยุดเซิร์ฟเวอร์ด้วยคำสั่ง stop ทุกครั้ง เพื่อให้มันบันทึกโลกก่อน
ผู้เล่นเข้าด้วยที่อยู่ IP ของเซิร์ฟเวอร์คุณ 25565 เป็นพอร์ตเริ่มต้น จึงไม่ต้องพิมพ์
7. การตั้งค่าที่ควรปรับ
แก้ไข server.properties ขณะที่เซิร์ฟเวอร์หยุดอยู่:
motd: ข้อความที่ผู้เล่นเห็นในรายการเซิร์ฟเวอร์ของพวกเขาview-distanceและsimulation-distance: ค่าที่ต่ำกว่าช่วยประหยัด CPU และหน่วยความจำ 8 ถึง 10 สำหรับ view และ 6 ถึง 8 สำหรับ simulation เหมาะกับเซิร์ฟเวอร์ส่วนใหญ่white-list: ตั้งเป็น true สำหรับเซิร์ฟเวอร์ส่วนตัว แล้วเพิ่มผู้เล่นด้วยwhitelist add PlayerNameในคอนโซลonline-mode: ตั้งเป็น true ไว้ เพื่อให้เฉพาะบัญชี Minecraft จริงเข้าได้
8. สำรองข้อมูลโลก
หยุดเซิร์ฟเวอร์ แล้วบีบอัดทั้งโฟลเดอร์ เก็บสำเนาหลายชุดไว้ที่อื่นนอกเซิร์ฟเวอร์ และตรวจเป็นระยะว่ากู้คืนได้จริง
tar czf ~/minecraft-backup-$(date +%F).tar.gz -C ~ server
ขั้นต่อไป
- เพิ่มปลั๊กอินโดยวางไฟล์ .jar ลงในโฟลเดอร์
pluginsแล้วรีสตาร์ทเซิร์ฟเวอร์ - สร้างโลกล่วงหน้าเพื่อไม่ให้การสำรวจทำให้แลค ดู วิธีแก้ “Can't keep up”
- ไม่แน่ใจว่า Paper เหมาะกับคุณ? เปรียบเทียบ Paper, Purpur, Fabric และ Forge
ถ้าเซิร์ฟเวอร์หยุดทันทีหลังสตาร์ต ดู วิธีแก้เซิร์ฟเวอร์ Minecraft ที่สตาร์ตไม่ขึ้น ถ้าจะเลือก Java ให้ถูก ดู เซิร์ฟเวอร์ Minecraft ต้องใช้ Java เวอร์ชันไหน
โฮสต์เซิร์ฟเวอร์ Minecraft ของคุณในสิงคโปร์
ปิงต่ำสำหรับผู้เล่นในอินเดีย มาเลเซีย และอินโดนีเซีย บนคอร์ AMD EPYC ที่เร็ว พร้อม NVMe และการป้องกัน DDoS
