เมื่อชุมชนผู้เล่นเติบโตขึ้น เซิร์ฟเวอร์ Minecraft เพียงเครื่องเดียวมักไม่พออีกต่อไป เจ้าของเซิร์ฟส่วนใหญ่จึงต้องการแยกโหมดเกมออกเป็นหลายส่วน เช่น ล็อบบี้ (lobby), เอาชีวิตรอด (survival) และมินิเกม (minigames) โดยให้ผู้เล่นสลับไปมาได้อย่างลื่นไหลโดยไม่ต้องออกจากเซิร์ฟแล้วเข้าใหม่ วิธีที่มาตรฐานที่สุดคือการวางพร็อกซี (proxy) ไว้ด้านหน้าเซิร์ฟเวอร์เบื้องหลังหลายเครื่อง บทความนี้จะพาคุณตั้งค่า Velocity ซึ่งเป็นพร็อกซียุคใหม่ พร้อมเปรียบเทียบกับ BungeeCord และ Waterfall อย่างตรงไปตรงมา
พร็อกซีเครือข่าย Minecraft ทำงานอย่างไร
พร็อกซีคือโปรแกรมที่รับการเชื่อมต่อจากผู้เล่นที่พอร์ต 25565 แล้วส่งต่อ (route) ไปยังเซิร์ฟเวอร์เบื้องหลัง (backend) เครื่องใดเครื่องหนึ่ง ผู้เล่นจะเห็นเพียง IP หรือโดเมนเดียว แต่เบื้องหลังอาจมี Paper/Spigot หลายเครื่องแยกตามหน้าที่ เมื่อผู้เล่นพิมพ์คำสั่งหรือเหยียบพอร์ทัล พร็อกซีจะย้ายเขาไปเซิร์ฟอื่นได้ทันทีโดยไม่หลุดการเชื่อมต่อ
ข้อดีหลักคือ คุณสามารถขยายเครือข่ายได้ไม่จำกัด แยกภาระงาน (load) ของแต่ละโหมดเกม และรีสตาร์ทเซิร์ฟย่อยหนึ่งเครื่องได้โดยผู้เล่นในเซิร์ฟอื่นไม่ได้รับผลกระทบ
Velocity คืออะไร ทำไมจึงแนะนำ
Velocity เป็นพร็อกซีประสิทธิภาพสูงที่พัฒนาโดยทีม PaperMC ออกแบบมาให้ปลอดภัยและรองรับผู้เล่นจำนวนมากได้ดีกว่ารุ่นเก่า มันใช้ระบบ modern forwarding ที่เข้ารหัสข้อมูลผู้เล่นระหว่างพร็อกซีกับ backend ทำให้ยากต่อการปลอมตัว Velocity ต้องใช้ Java 17 ขึ้นไป (แนะนำ Java 21) และมีระบบปลั๊กอินของตัวเองที่แยกจากปลั๊กอิน Bukkit/Spigot
Waterfall ซึ่งเป็นฟอร์กของ BungeeCord ถูกประกาศ ยุติการพัฒนา (deprecated/EOL) โดยทีม PaperMC แล้ว และแนะนำให้ทุกคนย้ายไปใช้ Velocity แทน หากคุณกำลังเริ่มเครือข่ายใหม่ในปี 2026 ควรเลือก Velocity ตั้งแต่ต้น
เปรียบเทียบ Velocity, BungeeCord และ Waterfall
| คุณสมบัติ | Velocity | BungeeCord | Waterfall |
|---|---|---|---|
| สถานะการพัฒนา | ใช้งานได้ กำลังพัฒนาต่อ | ยังดูแลอยู่ (เก่า) | ยุติแล้ว (EOL) |
| ประสิทธิภาพ | สูงสุด | ปานกลาง | ปานกลาง |
| ความปลอดภัย forwarding | modern (เข้ารหัส) | legacy | legacy/modern บางส่วน |
| Java ขั้นต่ำ | 17 (แนะนำ 21) | 8+ | 11+ |
| ระบบปลั๊กอิน | เฉพาะของ Velocity | Bungee API | Bungee API |
| แนะนำสำหรับปี 2026 | ใช่ | เฉพาะระบบเก่า | ไม่ |
การติดตั้ง Velocity เบื้องต้น
ดาวน์โหลดไฟล์ jar ของ Velocity จากเว็บ PaperMC แล้วรันครั้งแรกเพื่อให้ระบบสร้างไฟล์ตั้งค่า
- วางไฟล์
velocity.jarในโฟลเดอร์เฉพาะ - รันด้วยคำสั่ง
java -Xms1G -Xmx1G -jar velocity.jar - ระบบจะสร้าง
velocity.tomlและไฟล์forwarding.secretอัตโนมัติ - ปิดโปรแกรม แล้วแก้ไข
velocity.toml
ตัวอย่างไฟล์ velocity.toml
bind = "0.0.0.0:25565"
motd = "&bASIA Network"
show-max-players = 500
online-mode = true
player-info-forwarding-mode = "modern"
forwarding-secret-file = "forwarding.secret"
[servers]
lobby = "127.0.0.1:30066"
survival = "127.0.0.1:30067"
minigames = "127.0.0.1:30068"
try = [
"lobby"
]
[forced-hosts]
"play.asiagb-example.com" = ["lobby"]
ค่า player-info-forwarding-mode = "modern" คือหัวใจของความปลอดภัย มันบังคับให้ backend ตรวจสอบ secret ก่อนยอมรับข้อมูลผู้เล่น รายการ [servers] คือเซิร์ฟย่อยทั้งหมด และ try คือลำดับที่พร็อกซีจะพยายามพาผู้เล่นเข้าเมื่อเชื่อมต่อครั้งแรก
ตั้งค่าเซิร์ฟเวอร์เบื้องหลัง (Paper)
backend แต่ละเครื่องต้องปิด online-mode เพราะพร็อกซีเป็นผู้ตรวจสอบตัวตนแทนแล้ว แต่การปิดเฉยๆ อันตรายมากหากไม่ป้องกัน ดังนั้นต้องเปิดระบบ forwarding ของ Velocity บน Paper ด้วย
ใน server.properties ของแต่ละ backend
# server.properties (backend)
online-mode=false
server-port=30066
server-ip=127.0.0.1
จากนั้นเปิดใช้ Velocity forwarding ใน config/paper-global.yml
# paper-global.yml
proxies:
velocity:
enabled: true
online-mode: true
secret: 'วางค่าเดียวกับไฟล์ forwarding.secret ของ Velocity ที่นี่'
ค่า secret นี้ต้องตรงกับเนื้อหาในไฟล์ forwarding.secret ของ Velocity เป๊ะๆ ถ้าไม่ตรงผู้เล่นจะเข้า backend ไม่ได้
ความปลอดภัย: จุดที่พลาดแล้วเจ๊ง
คำเตือนสำคัญ: เมื่อคุณตั้ง online-mode=false บน backend โดยไม่มีไฟร์วอลล์และไม่มี forwarding secret ที่ถูกต้อง ใครก็ตามที่รู้ IP และพอร์ตของ backend สามารถเชื่อมต่อตรงและ เข้าเกมด้วยชื่อผู้เล่นใดก็ได้ รวมถึงชื่อของแอดมิน นี่คือช่องโหว่ร้ายแรงที่ทำให้เซิร์ฟถูกยึดได้ทันที
วิธีป้องกันที่ถูกต้อง
- อย่าเปิด backend สู่สาธารณะ ให้ bind ไว้ที่
127.0.0.1หรือ IP ภายในเครือข่าย (private network) เท่านั้น - ตั้งไฟร์วอลล์ให้พอร์ต backend (เช่น 30066-30068) รับการเชื่อมต่อได้เฉพาะจาก IP ของพร็อกซีเท่านั้น
- ใช้ modern forwarding เสมอ และเก็บไฟล์
forwarding.secretเป็นความลับ - เปิดเฉพาะพอร์ต 25565 ของพร็อกซีสู่สาธารณะเท่านั้น
รันบน VPS เดียว หรือกระจายหลายเครื่อง
สำหรับเครือข่ายขนาดเล็กถึงกลาง คุณสามารถรันทั้งพร็อกซีและ backend ทุกเครื่องบน VPS เดียวได้ โดยให้ backend bind ที่ 127.0.0.1 ซึ่งปลอดภัยโดยธรรมชาติเพราะเข้าถึงจากภายนอกไม่ได้ เมื่อเครือข่ายใหญ่ขึ้น คุณอาจแยกพร็อกซีและ backend ออกไปคนละเครื่อง
หากกระจายหลายเครื่อง ควรวางไว้ใน datacenter เดียวกันและใช้ private networking เพื่อลด latency ระหว่างพร็อกซีกับ backend เพราะทุกแพ็กเก็ตของผู้เล่นต้องวิ่งผ่านสองต่อ ยิ่งดีเลย์ต่ำยิ่งเล่นลื่น
เครือข่ายที่มีหลายเซิร์ฟย่อมต้องการ RAM และ CPU มากขึ้นตามจำนวนเซิร์ฟและผู้เล่น การเลือก VPS ที่มีทรัพยากรเพียงพอตั้งแต่ต้นจะช่วยลดปัญหา lag ในภายหลัง ผู้ให้บริการอย่าง AsiaGB มี VPS Linux ที่ใช้ดิสก์ SSD เริ่มต้น 500 บาท/เดือน จัดการผ่าน DirectAdmin พร้อม uptime 99% ซึ่งเหมาะกับการเริ่มต้นเครือข่าย Minecraft ที่ต้องรันหลายโปรเซสพร้อมกัน
ปลั๊กอินและการเชื่อมต่อข้ามเซิร์ฟ
ปลั๊กอินของ Velocity ไม่เหมือนกับปลั๊กอิน Bukkit/Spigot คุณต้องหาปลั๊กอินเวอร์ชันสำหรับพร็อกซีโดยเฉพาะ งานที่มักต้องตั้งค่าให้ทำงานข้ามเซิร์ฟได้แก่
- แชทข้ามเซิร์ฟ (cross-server chat): ใช้ปลั๊กอินฝั่งพร็อกซีเพื่อรวมแชท
- สิทธิ์ผู้เล่น (LuckPerms): ต้องตั้งค่าโหมด network/SQL เพื่อให้สิทธิ์ตรงกันทุกเซิร์ฟ
- ระบบ MOTD และคิว: จัดการที่ฝั่งพร็อกซีเป็นหลัก
สรุป
การเชื่อมหลายเซิร์ฟเวอร์ Minecraft เป็นเครือข่ายเดียวด้วย Velocity ช่วยให้คุณขยายชุมชนได้แบบมืออาชีพ แยกโหมดเกม และย้ายผู้เล่นได้อย่างลื่นไหล จุดสำคัญที่สุดคือความปลอดภัย ต้องปิด online-mode บน backend คู่กับ modern forwarding และไฟร์วอลล์เสมอ เลือก Velocity แทน Waterfall ที่ยุติการพัฒนาแล้ว และเตรียม VPS ที่มีทรัพยากรพอเพียงเพื่อรองรับการเติบโตของเครือข่ายในระยะยาว
คำถามที่พบบ่อย (FAQ)
Velocity กับ BungeeCord ต่างกันอย่างไร ควรเลือกอันไหน
Velocity เป็นพร็อกซียุคใหม่ที่เร็วและปลอดภัยกว่า รองรับ modern forwarding ที่เข้ารหัสข้อมูลผู้เล่น ส่วน BungeeCord เก่ากว่าและใช้ legacy forwarding สำหรับเครือข่ายใหม่ในปี 2026 ควรเลือก Velocity โดยเฉพาะเมื่อ Waterfall ซึ่งเป็นฟอร์กของ BungeeCord ถูกยุติการพัฒนาไปแล้ว
ทำไมต้องตั้ง online-mode=false บน backend และปลอดภัยไหม
เพราะพร็อกซีเป็นผู้ตรวจสอบตัวตนผู้เล่นแทน backend จึงต้องปิด online-mode แต่จะปลอดภัยก็ต่อเมื่อคุณเปิด modern forwarding พร้อม secret ที่ถูกต้อง และตั้งไฟร์วอลล์ให้พอร์ต backend รับเฉพาะ IP ของพร็อกซี ถ้าเปิดสู่สาธารณะโดยไม่ป้องกัน ใครก็เข้าเกมด้วยชื่อใดก็ได้
รัน Velocity และเซิร์ฟย่อยบน VPS เครื่องเดียวได้ไหม
ได้สำหรับเครือข่ายขนาดเล็กถึงกลาง โดยให้ backend bind ที่ 127.0.0.1 ซึ่งปลอดภัยเพราะเข้าจากภายนอกไม่ได้ เมื่อผู้เล่นเพิ่มขึ้นค่อยแยกออกไปหลายเครื่อง ควรอยู่ใน datacenter เดียวกันและใช้ private networking เพื่อลด latency ระหว่างพร็อกซีกับ backend
Velocity ต้องใช้ Java เวอร์ชันอะไร
Velocity ต้องใช้ Java 17 เป็นอย่างต่ำ และแนะนำ Java 21 เพื่อประสิทธิภาพและความเข้ากันได้ที่ดีที่สุด ควรตรวจสอบให้ backend Paper/Spigot ใช้เวอร์ชัน Java ที่เข้ากันกับเวอร์ชันเกมด้วย เพื่อหลีกเลี่ยงปัญหาการเริ่มระบบ
พร้อมเปิดเซิร์ฟเวอร์ Minecraft ของคุณแล้วหรือยัง?
AsiaGB VPS Linux (SSD, DirectAdmin, uptime 99%) เริ่มต้น 500 บาท/เดือน ดาต้าเซ็นเตอร์ไทย/สิงคโปร์ ปิงต่ำ เหมาะกับเซิร์ฟ Minecraft ทุกขนาด
ดูแพ็กเกจ VPS