รับเครดิต $200

สร้างเซิร์ฟเวอร์ Minecraft (Java) บน DigitalOcean Droplet ด้วย Paper: เลือก RAM ติดตั้ง ตั้งค่า และดูแลต่อ

อัปเดตล่าสุด 3 พฤศจิกายน 2569 · อ่านประมาณ 8 นาที · โดย DigitalOcean Review ไทย

คู่มือสร้างเซิร์ฟเวอร์ Minecraft Java Edition บน Droplet Ubuntu ด้วย Paper, เลือกขนาดเครื่องตามจำนวนผู้เล่น, ติดตั้ง Java, systemd, ไฟร์วอลล์, whitelist, backup และเคล็ดลับลดแลค

เปิดเผยข้อมูล: บทความนี้มีลิงก์แนะนำ (referral) ของ DigitalOcean หากคุณสมัครผ่านลิงก์ เจ้าของเว็บอาจได้รับเครดิต โดยคุณไม่เสียค่าใช้จ่ายเพิ่ม · อ่านนโยบายการรีวิว

เหมาะกับใคร

เซิร์ฟเวอร์เกมที่เช่าเป็นแพ็กเกจสำเร็จรูปสะดวกแต่ปรับแต่งจำกัด ส่วนการเช่า VPS อย่าง DigitalOcean ให้คุณคุมได้เต็มที่ ทั้งปลั๊กอิน เวอร์ชัน จำนวนผู้เล่น และแปลงโลก เหมาะกับกลุ่มเพื่อน ชุมชนเล็ก หรือคนที่อยากเรียนรู้การดูแลเซิร์ฟเวอร์ บทความนี้ใช้ Paper (เซิร์ฟเวอร์ Java Edition ที่ปรับประสิทธิภาพและรองรับปลั๊กอิน Bukkit/Spigot)

เป็นคู่มือด้านเทคนิคของบุคคลที่สาม ไม่ได้เกี่ยวข้องกับ Mojang หรือ Microsoft การใช้งานต้องเป็นไปตาม Minecraft EULA ของผู้พัฒนา

เลือกขนาด Droplet

Minecraft ใช้ RAM มากและ CPU ต่อเธรดเดี่ยวสำคัญ (ตัวเกมหลักรันบนเธรดเดียวเป็นหลัก) ตัวเลขด้านล่างเป็นแนวทางทั่วไป ขึ้นกับปลั๊กอิน ม็อด ขนาดโลก และพฤติกรรมผู้เล่น

ผู้เล่นพร้อมกันRAM แนะนำตัวอย่างราคา/เดือน*
2–5 คน เล่นกับเพื่อน vanilla2 GiB$12
5–15 คน มีปลั๊กอินไม่กี่ตัว4 GiB$24
15–40 คน ปลั๊กอินหลายตัว8 GiB$48
ม็อดหนัก (modpack)8 GiB ขึ้นไปขึ้นกับ modpack

*ราคา ณ 3 พ.ย. 2569 ดูตารางเต็มและแบบ CPU-Optimized/Premium ที่ ราคา DigitalOcean ทุกบริการ เลือกภูมิภาคที่ใกล้ผู้เล่นที่สุด (สำหรับผู้เล่นในไทย โดยทั่วไปคือสิงคโปร์) เพื่อลด ping

ไม่ควรใช้แผน 1 GiB สำหรับ Minecraft จริงจัง เพราะต้องแบ่ง RAM ให้ระบบด้วย
รับเครดิตฟรี $200 (ใช้ได้ 60 วัน)สมัคร DigitalOcean ผ่านลิงก์แนะนำของเรา แล้วเพิ่มวิธีชำระเงินที่ใช้งานได้ ระบบจะให้เครดิตทดลองใช้งาน ตามเงื่อนไขของ DigitalOcean ณ วันที่สมัคร
สมัครรับเครดิต $200 →

ขั้นที่ 1: เตรียมเครื่อง

สร้าง Droplet Ubuntu LTS ตั้งผู้ใช้ปกติและไฟร์วอลล์ตาม สอนสร้าง Droplet แรก และ คู่มือความปลอดภัยเซิร์ฟเวอร์ แล้วอัปเดตระบบ

sudo apt update && sudo apt upgrade -y
sudo apt install -y openjdk-21-jre-headless screen curl jq
java -version

เวอร์ชัน Java ที่ต้องใช้ขึ้นกับเวอร์ชัน Minecraft (เกมรุ่นใหม่ต้อง Java 21 ขึ้นไป รุ่นเก่าใช้ 17 หรือ 8) ตรวจที่หน้าเอกสารของ Paper หรือ Minecraft Wiki ก่อนติดตั้ง

ขั้นที่ 2: ดาวน์โหลด Paper

สร้างผู้ใช้เฉพาะและโฟลเดอร์

sudo adduser --system --group --home /opt/minecraft mc
sudo -u mc mkdir -p /opt/minecraft/server
cd /opt/minecraft/server

ไปที่หน้าดาวน์โหลดของ Paper (papermc.io) เลือกเวอร์ชัน Minecraft ที่ต้องการแล้วคัดลอกลิงก์ไฟล์ .jar ล่าสุด

sudo -u mc curl -o paper.jar "ลิงก์ดาวน์โหลดจาก papermc.io"

ตั้ง EULA ตามที่ยอมรับได้ด้วยตนเองหลังอ่านเงื่อนไข

sudo -u mc java -Xms1G -Xmx1G -jar paper.jar --nogui

ครั้งแรกจะสร้างไฟล์แล้วหยุด เพราะต้องแก้ eula.txt เป็น eula=true หลังอ่านและยอมรับเอง

sudo -u mc nano eula.txt

ขั้นที่ 3: รันเป็น service ด้วย systemd

sudo nano /etc/systemd/system/minecraft.service
[Unit]
Description=Minecraft Paper Server
After=network.target

[Service]
User=mc
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/java -Xms3G -Xmx3G -jar paper.jar --nogui
Restart=on-failure
RestartSec=10
SuccessExitStatus=0 143

[Install]
WantedBy=multi-user.target

ปรับ -Xms/-Xmx ให้เป็นประมาณ 70–75% ของ RAM เครื่อง (เครื่อง 4 GiB ใช้ราว 3G) และให้ Xms เท่ากับ Xmx

sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo journalctl -u minecraft -f

เมื่อเห็นข้อความ Done แปลว่าเซิร์ฟเวอร์พร้อม

สั่งงานคอนโซล

วิธีง่ายคือรันใน screen หรือใช้ RCON (ตั้งใน server.properties) การเข้า console ผ่าน systemd ตรงๆ ทำไม่ได้ ถ้าต้องการคอนโซลแบบโต้ตอบให้รันด้วย screen/tmux แทน systemd หรือใช้ RCON client และกำหนดรหัสผ่านที่แข็งแรง ห้ามเปิดพอร์ต RCON สู่สาธารณะ

ขั้นที่ 4: เปิดพอร์ตและไฟร์วอลล์

Minecraft Java ใช้ TCP 25565

sudo ufw allow 25565/tcp
sudo ufw status

และเพิ่มกฎ inbound TCP 25565 ใน Cloud Firewall ด้วย ดู Cloud Firewall และ VPC (Bedrock Edition ใช้ UDP 19132 ต่างกัน และต้องใช้ซอฟต์แวร์เซิร์ฟเวอร์ Bedrock หรือปลั๊กอินสะพาน เช่น Geyser)

ผู้เล่นเชื่อมต่อด้วย IP-ของ-Droplet หรือโดเมน เมื่อตั้ง A record ชี้ไว้ ดู ตั้งค่า DNS บน DigitalOcean ถ้าต้องการใช้พอร์ตอื่นนอกจาก 25565 ให้ใช้เรคคอร์ด SRV

ขั้นที่ 5: ตั้งค่าความปลอดภัยและกติกา

แก้ server.properties

white-list=true
enforce-whitelist=true
online-mode=true
max-players=20
view-distance=8
simulation-distance=6
motd=Welcome
  • online-mode=true ให้ตรวจบัญชี Mojang/Microsoft จริง อย่าปิด เว้นแต่รู้ผลที่ตามมา เพราะเปิดช่องให้ปลอมตัวเป็นแอดมินได้
  • ใช้ whitelist add ชื่อผู้เล่น ในคอนโซลเพื่อเพิ่มคนเข้า
  • ตั้ง op ให้เฉพาะคนที่ไว้ใจ
  • ปลั๊กอินให้โหลดเฉพาะจากแหล่งที่เชื่อถือได้ ปลั๊กอินที่ไม่ปลอดภัยเป็นช่องทางที่ถูกเจาะบ่อย

ลดแลคและใช้ทรัพยากรให้คุ้ม

  1. ลด view-distance / simulation-distance ลดภาระ CPU ได้มาก
  2. Pre-generate โลก ด้วยปลั๊กอินสร้างแผนที่ล่วงหน้า ช่วยลดการค้างตอนผู้เล่นสำรวจ
  3. ใช้ SSD ของ Droplet ที่เป็นค่าเริ่มต้น ดิสก์เร็วช่วยตอนโหลดชังก์
  4. ใช้ Aikar's flags (ชุด JVM flags ยอดนิยมสำหรับ Paper) ตามคู่มือของ Paper ในกรณี RAM 4 GiB ขึ้นไป
  5. ติดตามด้วย /tps และปลั๊กอินโปรไฟล์ (เช่น spark) เพื่อหาสาเหตุแลค
  6. ตั้ง alert CPU/RAM ดู Monitoring และ Alerts

สำรองข้อมูลโลก

สคริปต์สำรองรายวัน (หยุดการเขียนชั่วคราวก่อนบีบอัด)

#!/bin/bash
cd /opt/minecraft
# ผ่าน RCON หรือคอนโซล: save-off, save-all
tar czf /var/backups/mc-world-$(date +%F).tar.gz server/world server/world_nether server/world_the_end
find /var/backups -name 'mc-world-*.tar.gz' -mtime +7 -delete
# save-on

ตั้งเวลาด้วย cron และส่งสำเนาไป Spaces เพิ่มเติม รวมกับ Droplet Backups และ Snapshots ตาม Backups และ Snapshots เพราะโลกที่เสียหายกู้ย้อนหลังไม่ได้ถ้าไม่มีสำเนา

ค่าใช้จ่ายที่ควรรู้

  • ค่า Droplet รายเดือนตามขนาด (เครื่อง 4 GiB อยู่ที่ราว $24 ตามตารางด้านบน)
  • ค่าสำรองข้อมูลถ้าเปิด Backups
  • Transfer มีโควตารวมตามขนาดเครื่อง ผู้เล่นทั่วไปไม่น่าใช้เกิน
  • เครดิต $200 สำหรับผู้ใช้ใหม่ ใช้ทดลองได้ 60 วันตามเงื่อนไข ดู วิธีรับเครดิตฟรี $200 DigitalOcean
  • เคล็ดลับประหยัดเพิ่มที่ 15 วิธีลดค่าใช้จ่าย DigitalOcean (เช่น snapshot แล้วลบเครื่องเมื่อไม่เล่นนาน)

แก้ปัญหาเบื้องต้น

อาการสาเหตุที่เป็นไปได้วิธีแก้
ผู้เล่นเข้าไม่ได้ไฟร์วอลล์ปิดพอร์ต 25565เปิดทั้ง UFW และ Cloud Firewall
"Can't keep up!"CPU ไม่พอ/ชังก์เยอะลดระยะมองเห็น เพิ่ม CPU
เซิร์ฟเวอร์ถูกฆ่า (OOM)-Xmx สูงกว่า RAM จริงลดค่า -Xmx หรือเพิ่ม RAM
ไม่ขึ้นหลังรีบูตยังไม่ enable servicesystemctl enable minecraft
เวอร์ชันไม่ตรงJava เวอร์ชันผิดติดตั้ง Java ตามที่เกมต้องการ

คำถามที่พบบ่อย

ใช้ Docker รันได้ไหม

ได้ มี image ที่ดูแลโดยชุมชนจำนวนมาก ดูพื้นฐาน Docker ที่ ติดตั้ง Docker บน Droplet แต่ควรเข้าใจแบบติดตั้งตรงก่อน เพื่อแก้ปัญหาได้เอง

เซิร์ฟเวอร์สำหรับเพื่อน 5 คนควรใช้ขนาดไหน

เริ่มที่ 2 GiB สำหรับ vanilla ถ้ามีปลั๊กอินหลายตัวหรือโลกใหญ่ให้ขยับเป็น 4 GiB ปรับขนาด Droplet ได้ภายหลัง

Bedrock Edition (มือถือ/คอนโซล) เล่นได้ไหม

เซิร์ฟเวอร์ Bedrock เป็นซอฟต์แวร์ต่างกัน ใช้ UDP 19132 หรือใช้ Geyser เป็นสะพานให้ผู้เล่น Bedrock เข้า Java server ได้ ตั้งค่าตามเอกสารของโปรเจกต์นั้น

ปิดเครื่องช่วงไม่เล่นแล้วประหยัดได้ไหม

Droplet ที่ปิดเครื่องยังคิดค่าเมื่อยังเก็บดิสก์ไว้ วิธีประหยัดจริงคือสร้าง snapshot แล้วลบ Droplet และสร้างใหม่จาก snapshot เมื่อจะเล่น ดูรายละเอียดต้นทุนที่ 15 วิธีลดค่าใช้จ่าย DigitalOcean

รับเครดิตฟรี $200 (ใช้ได้ 60 วัน)สมัคร DigitalOcean ผ่านลิงก์แนะนำของเรา แล้วเพิ่มวิธีชำระเงินที่ใช้งานได้ ระบบจะให้เครดิตทดลองใช้งาน ตามเงื่อนไขของ DigitalOcean ณ วันที่สมัคร
สมัครรับเครดิต $200 →