🎮
VPS

การเปิดเซิร์ฟเวอร์ Minecraft Java Edition ของตัวเองบน VPS ทำให้คุณควบคุมโลกในเกมได้เต็มที่ ทั้งกำหนดกฎ ติดตั้งปลั๊กอิน และเชิญเพื่อนมาเล่นได้ตลอด 24 ชั่วโมงโดยไม่ต้องเปิดคอมพิวเตอร์ที่บ้านทิ้งไว้ บทความนี้จะพาคุณติดตั้งเซิร์ฟเวอร์บน Ubuntu 22.04 หรือ 24.04 แบบทีละขั้นตอน ตั้งแต่การเตรียมระบบ ลง Java จนถึงการรันเป็นบริการ systemd ที่เสถียร

เตรียมความพร้อมก่อนเริ่มติดตั้ง

ก่อนลงมือ ควรมี VPS ที่ใช้ Ubuntu 22.04 LTS หรือ 24.04 LTS พร้อมสิทธิ์ root หรือผู้ใช้ที่ใช้ sudo ได้ และ IP สาธารณะสำหรับให้เพื่อนเชื่อมต่อเข้ามา สิ่งสำคัญที่สุดคือหน่วยความจำ (RAM) เพราะ Minecraft Java ต้องการทรัพยากรพอสมควร

ในภาพรวม เซิร์ฟเวอร์ Vanilla สำหรับผู้เล่นไม่กี่คนควรมี RAM อย่างน้อย 2GB แต่ถ้าต้องการเล่นลื่นไหลกับเพื่อน 4-6 คนพร้อมกัน แนะนำ 4GB ขึ้นไป ยิ่งถ้าลงปลั๊กอินหรือม็อดเยอะ ควรเผื่อ RAM ให้มากกว่านั้น

หากคุณกำลังมองหา VPS สำหรับเปิดเซิร์ฟเวอร์ Minecraft ระบบ VPS Linux ของ AsiaGB ที่ใช้พื้นที่จัดเก็บแบบ SSD และเริ่มต้นที่ 500 บาท/เดือน เป็นตัวเลือกที่เหมาะสำหรับเซิร์ฟเวอร์ขนาดเล็กถึงกลาง จัดการผ่าน DirectAdmin ได้สะดวก

อัปเดตระบบและติดตั้งเครื่องมือพื้นฐาน

ขั้นแรก ให้อัปเดตรายการแพ็กเกจและติดตั้งเครื่องมือที่จำเป็น เช่น wget สำหรับดาวน์โหลดไฟล์ และ screen ไว้เผื่อใช้งาน เริ่มด้วยการเข้าสู่ระบบผ่าน SSH แล้วรันคำสั่งต่อไปนี้

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget screen nano

การอัปเดตระบบก่อนเสมอช่วยลดปัญหาความเข้ากันไม่ได้ของแพ็กเกจ และปิดช่องโหว่ความปลอดภัยที่อาจค้างอยู่ในระบบเดิม

ติดตั้ง Java ให้ตรงกับเวอร์ชัน Minecraft

Minecraft Java Edition ต้องอาศัย Java Runtime ในการทำงาน และเวอร์ชันของ Java ต้องตรงกับเวอร์ชันเกม หากลงผิดเวอร์ชันเซิร์ฟเวอร์จะไม่ยอมเริ่มทำงาน

เวอร์ชัน MinecraftJava ที่ต้องใช้คำสั่งติดตั้ง
1.20.5 ขึ้นไป / 1.21Java 21openjdk-21-jre-headless
1.17 – 1.20.4Java 17openjdk-17-jre-headless
1.16 หรือเก่ากว่าJava 8openjdk-8-jre-headless

สำหรับ Minecraft เวอร์ชันล่าสุด (1.21) ให้ติดตั้ง Java 21 ด้วยคำสั่งต่อไปนี้ เราใช้แพ็กเกจ headless เพราะเซิร์ฟเวอร์ไม่ต้องใช้ส่วนติดต่อกราฟิก ช่วยประหยัดพื้นที่

sudo apt install -y openjdk-21-jre-headless
java -version

เมื่อรัน java -version แล้วควรเห็นข้อความระบุเวอร์ชัน 21 หากขึ้นเวอร์ชันอื่นหรือหาคำสั่งไม่เจอ แสดงว่าการติดตั้งยังไม่สมบูรณ์ ให้ตรวจสอบชื่อแพ็กเกจอีกครั้ง

สร้างผู้ใช้เฉพาะสำหรับ Minecraft

เพื่อความปลอดภัย เราไม่ควรรันเซิร์ฟเวอร์เกมด้วยสิทธิ์ root เพราะหากเกิดช่องโหว่ ผู้บุกรุกจะเข้าถึงทั้งระบบได้ทันที ทางที่ดีคือสร้างผู้ใช้แยกที่มีสิทธิ์จำกัดไว้รันเซิร์ฟเวอร์โดยเฉพาะ

sudo useradd -r -m -d /opt/minecraft minecraft
sudo mkdir -p /opt/minecraft
sudo chown -R minecraft:minecraft /opt/minecraft

คำสั่งนี้จะสร้างผู้ใช้ระบบชื่อ minecraft พร้อมกำหนดโฟลเดอร์บ้านเป็น /opt/minecraft ซึ่งเราจะใช้เป็นที่เก็บไฟล์เซิร์ฟเวอร์ทั้งหมด

ดาวน์โหลดไฟล์ server.jar

ให้ดาวน์โหลดไฟล์เซิร์ฟเวอร์อย่างเป็นทางการจากเว็บไซต์ minecraft.net เท่านั้น อย่าดาวน์โหลดจากแหล่งที่ไม่น่าเชื่อถือเพราะอาจมีมัลแวร์แฝง ให้เข้าไปที่หน้า Download server ของ minecraft.net คัดลอกลิงก์ไฟล์ server.jar เวอร์ชันล่าสุด แล้วดาวน์โหลดลงในโฟลเดอร์

sudo su - minecraft
cd /opt/minecraft
wget -O server.jar https://piston-data.mojang.com/v1/objects/<HASH>/server.jar

ลิงก์ดาวน์โหลดของแต่ละเวอร์ชันจะมีรหัส hash เฉพาะที่เปลี่ยนไปเรื่อย ๆ ให้เข้าไปคัดลอกลิงก์ล่าสุดจาก minecraft.net โดยตรงเสมอ อย่านำลิงก์เก่ามาใช้ซ้ำ เพราะอาจได้เวอร์ชันที่ล้าสมัยหรือลิงก์ใช้งานไม่ได้

รันครั้งแรกและยอมรับ EULA

เมื่อรันเซิร์ฟเวอร์ครั้งแรก มันจะสร้างไฟล์ eula.txt ขึ้นมาแล้วหยุดทำงานทันที เพราะเราต้องยอมรับข้อตกลงการใช้งานของ Mojang ก่อน ให้ลองรันด้วยคำสั่งนี้ในฐานะผู้ใช้ minecraft

cd /opt/minecraft
java -Xms2G -Xmx4G -jar server.jar nogui

หลังจากรันครั้งแรก ให้เปิดไฟล์ eula.txt แล้วเปลี่ยนค่าจาก eula=false เป็น eula=true เพื่อยืนยันว่าคุณยอมรับข้อตกลง

nano /opt/minecraft/eula.txt
# เปลี่ยนเป็น eula=true แล้วบันทึก

ตั้งค่า server.properties

ไฟล์ server.properties เป็นหัวใจของการตั้งค่าเซิร์ฟเวอร์ เปิดด้วย nano แล้วปรับแต่งค่าสำคัญตามต้องการ

แนะนำให้เปิด online-mode=true ไว้เสมอ เพราะช่วยกันบัญชีปลอมและป้องกันคนแอบสวมชื่อผู้เล่นคนอื่น หากปิดไว้ ใครก็ตั้งชื่อเป็นแอดมินแล้วเข้ามาป่วนได้

สร้าง systemd service ให้รันอัตโนมัติ

แม้จะรันผ่าน screen ได้ แต่การใช้ systemd service ดีกว่ามาก เพราะเซิร์ฟเวอร์จะเริ่มทำงานเองเมื่อรีบูตเครื่อง และรีสตาร์ตอัตโนมัติหากเกิดปัญหา ให้สร้างไฟล์ unit ด้วยสิทธิ์ root

sudo nano /etc/systemd/system/minecraft.service

ใส่เนื้อหาต่อไปนี้ลงไป

[Unit]
Description=Minecraft Java Server
After=network.target

[Service]
User=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/usr/bin/java -Xms2G -Xmx4G -jar server.jar nogui
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

จากนั้นสั่งให้ systemd โหลดค่าใหม่ เปิดใช้งาน และเริ่มเซิร์ฟเวอร์

sudo systemctl daemon-reload
sudo systemctl enable minecraft
sudo systemctl start minecraft
sudo systemctl status minecraft

เปิดไฟร์วอลล์และเชื่อมต่อเข้าเซิร์ฟเวอร์

Minecraft ใช้พอร์ต 25565/tcp เป็นค่าเริ่มต้น หากคุณเปิด ufw ไว้ ต้องอนุญาตพอร์ตนี้ก่อน มิฉะนั้นเพื่อนจะเชื่อมต่อเข้ามาไม่ได้

sudo ufw allow 25565/tcp
sudo ufw reload

เมื่อทุกอย่างพร้อมแล้ว ให้เปิดเกม Minecraft ที่เครื่องของคุณ ไปที่ Multiplayer แล้ว Add Server ใส่ IP ของ VPS ตามด้วย :25565 (หรือใส่แค่ IP ก็ได้เพราะเป็นพอร์ตมาตรฐาน) จากนั้นก็เข้าเล่นได้เลย

การดูแลรักษาและปรับแต่งประสิทธิภาพ

หลังติดตั้งเสร็จ ควรดูแลเซิร์ฟเวอร์ให้ทำงานราบรื่นในระยะยาว เริ่มจากการสำรองข้อมูลโฟลเดอร์โลก (world) เป็นประจำ เผื่อเกิดเหตุไม่คาดฝัน คุณจะกู้คืนได้ทันที

สำหรับการปรับแต่งประสิทธิภาพ ให้ตั้งค่า -Xms และ -Xmx ให้เหมาะสมกับ RAM ที่มี โดยเว้นพื้นที่ไว้ให้ระบบปฏิบัติการอย่างน้อย 1GB หากมีผู้เล่นเยอะและต้องการประสิทธิภาพสูง อาจพิจารณาใช้เซิร์ฟเวอร์แบบ Paper ที่ปรับแต่งมาให้เร็วกว่า Vanilla ในการดูบันทึกการทำงานสามารถใช้ sudo journalctl -u minecraft -f เพื่อดู log แบบเรียลไทม์ได้

เพียงเท่านี้คุณก็มีเซิร์ฟเวอร์ Minecraft Java Edition ของตัวเองที่ทำงานตลอด 24 ชั่วโมงบน Ubuntu VPS พร้อมให้เพื่อน ๆ เข้ามาผจญภัยด้วยกันแล้ว

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

ต้องใช้ RAM เท่าไหร่ในการเปิดเซิร์ฟเวอร์ Minecraft?

อย่างน้อย 2GB สำหรับผู้เล่นไม่กี่คน แต่แนะนำ 4GB ขึ้นไปเพื่อความลื่นไหลเมื่อเล่นกับเพื่อน 4-6 คน และควรเผื่อ RAM มากกว่านั้นหากลงปลั๊กอินหรือม็อด

Minecraft เวอร์ชันล่าสุดต้องใช้ Java เวอร์ชันอะไร?

Minecraft 1.20.5 ขึ้นไปและ 1.21 ต้องใช้ Java 21 ส่วนเวอร์ชัน 1.17 ถึง 1.20.4 ใช้ Java 17 ให้ติดตั้งด้วยคำสั่ง sudo apt install openjdk-21-jre-headless

ทำไมเซิร์ฟเวอร์รันครั้งแรกแล้วหยุดทำงานทันที?

เพราะเซิร์ฟเวอร์สร้างไฟล์ eula.txt และรอให้คุณยอมรับข้อตกลงของ Mojang ก่อน ให้แก้ค่าในไฟล์เป็น eula=true แล้วเริ่มเซิร์ฟเวอร์อีกครั้ง

เพื่อนเชื่อมต่อเข้าเซิร์ฟเวอร์ไม่ได้ ต้องแก้อย่างไร?

ตรวจสอบว่าเปิดพอร์ต 25565/tcp บนไฟร์วอลล์แล้วด้วยคำสั่ง sudo ufw allow 25565/tcp และเช็กว่าเซิร์ฟเวอร์ทำงานอยู่ด้วย sudo systemctl status minecraft รวมถึงใช้ IP สาธารณะที่ถูกต้อง

พร้อมเปิดเซิร์ฟเวอร์ Minecraft ของคุณแล้วหรือยัง?

AsiaGB VPS Linux (SSD, DirectAdmin, uptime 99%) เริ่มต้น 500 บาท/เดือน ดาต้าเซ็นเตอร์ไทย/สิงคโปร์ ปิงต่ำ เหมาะกับเซิร์ฟ Minecraft ทุกขนาด

ดูแพ็กเกจ VPS