หน้าสร้างเซิร์ฟเวอร์ Minecraft วางการ์ดซอฟต์แวร์ไว้ให้เลือกสิบกว่าใบ ชื่อทั้งหมดฟังดูเหมือนของอย่างเดียวกันที่ต่างกันแค่ความเร็ว แต่ความจริงไม่ใช่แบบนั้น สิ่งที่คุณกำลังเลือกอยู่ไม่ใช่ "ตัวไหนลื่นกว่า" แต่คือ ของแต่งเซิร์ฟที่คุณจะลงได้ในอีกสามเดือนข้างหน้า และของบางอย่างที่คุณจะไม่ได้ใช้เลยถ้าเลือกผิดฝั่ง บทความนี้อธิบายว่าแต่ละตระกูลรับอะไรเข้าไปได้บ้าง แลกอะไรไป และเปลี่ยนใจทีหลังได้แค่ไหน
ม็อดกับปลั๊กอิน คือคำถามที่ซ่อนอยู่ใต้คำถาม
ก่อนจะเถียงกันว่า Paper หรือ Fabric ดีกว่า ให้ตอบคำถามนี้ก่อน: ของที่คุณอยากเอามาลง เป็น ปลั๊กอิน หรือ ม็อด
- ปลั๊กอิน ทำงานอยู่ข้างเซิร์ฟเวอร์ เพิ่มคำสั่ง สิทธิ์ ระบบเศรษฐกิจ ระบบล็อกบ้าน พวกมันไม่แก้ตัวเกม ผู้เล่นจึงเข้าเซิร์ฟด้วย Minecraft ตัวธรรมดาได้เลย ไม่ต้องลงอะไรเพิ่มที่เครื่องตัวเอง
- ม็อด แก้ตัวเกมจริง ๆ เพิ่มบล็อก เพิ่มไอเทม เพิ่มมิติ เพิ่มเครื่องจักร ของแบบนี้ต้องมีทั้งฝั่งเซิร์ฟและฝั่งผู้เล่น ใครไม่ลงม็อดชุดเดียวกันก็เข้าไม่ได้
ในระบบของเรา ประเภทเซิร์ฟเวอร์แต่ละตัวถูกจัดไว้ในสิ่งที่เรียกว่า ตระกูล loader และมีอยู่สามตระกูลเท่านั้น คือ plugin, fabric และ forge ตระกูลนี้แหละคือตัวตัดสินว่าไฟล์ที่คุณอัปโหลดขึ้นไปจะถูกโหลดหรือถูกมองข้าม
ประโยคที่ต้องจำให้ได้ประโยคเดียวคือ ม็อด Forge วางลงบนเซิร์ฟ Paper แล้วจะไม่มีอะไรเกิดขึ้น ไม่ใช่เพราะเราบล็อก แต่เพราะบน Paper ไม่มี loader ของ Forge อยู่เลย ไม่มีใครในเซิร์ฟนั้นคอยเปิดไฟล์ม็อดขึ้นมาอ่าน เซิร์ฟยังเปิดติดตามปกติ แค่ของที่คุณอยากได้ไม่โผล่มา และในทางกลับกัน ปลั๊กอิน Bukkit วางบน Fabric ก็เงียบเหมือนกัน
หกตระกูลซอฟต์แวร์ที่เลือกได้
รายการซอฟต์แวร์ฝั่ง Java ของเราถูกจัดกลุ่มไว้หกกลุ่ม กลุ่มพวกนี้เห็นเป็นหัวข้อชัด ๆ ในช่อง "ซอฟต์แวร์" ของการ์ด "เวอร์ชันและซอฟต์แวร์" ตอนจะเปลี่ยนซอฟต์แวร์ทีหลัง ส่วนหน้าสร้างเซิร์ฟจัดการ์ดใหม่เป็นสามชั้นแทน คือ "แนะนำ", "สำเร็จรูป" และ "ขั้นสูง" ที่ต้องกด "แสดงตัวเลือกขั้นสูง" ก่อนถึงจะเห็น — คนละการจัดกลุ่ม แต่ของข้างในชุดเดียวกัน
| กลุ่ม | ประเภทในกลุ่ม | ตระกูล loader | รับอะไรได้ |
|---|
| Vanilla | Vanilla | ไม่มีเลย | ไม่รับทั้งม็อดและปลั๊กอิน |
| Paper family | Paper, Purpur, Leaf, Folia | plugin | ปลั๊กอิน Bukkit API |
| Legacy plugins | Spigot, Bukkit | plugin | ปลั๊กอิน Bukkit API |
| Fabric | Fabric, Quilt | fabric | ม็อดฝั่ง Fabric |
| Forge | Forge, NeoForge | forge | ม็อดฝั่ง Forge |
| Hybrids | Mohist, Arclight | forge | ม็อด Forge และ ปลั๊กอินพร้อมกัน |
สิ่งที่ตารางนี้บอกและการ์ดในหน้าสร้างไม่ได้บอกคือ ประเภทที่อยู่ในกลุ่มเดียวกันรับของชนิดเดียวกัน การเลือกระหว่าง Paper กับ Purpur กับ Leaf จึงเป็นคนละระดับกับการเลือกระหว่าง Paper กับ Fabric — อันแรกเปลี่ยนรายละเอียด อันหลังเปลี่ยนว่าอะไรลงได้บ้าง
ลูกผสมสองตัวคือ Mohist และ Arclight เป็นข้อยกเว้นที่มีอยู่จริง มันรันม็อด Forge และปลั๊กอิน Bukkit ไปพร้อมกันในเซิร์ฟเดียว โดยมีเงื่อนไขหนึ่งข้อในระบบของเรา คือของทั้งสองชนิดต้องมาจาก Modrinth เท่านั้น หน้าเว็บจะบอกไว้ตรง ๆ ว่า "เซิร์ฟ hybrid ลงมอดและปลั๊กอินผ่าน Modrinth เท่านั้น"
วิธีเลือกให้จบใน 4 ขั้น
ตัดสินใจก่อนว่าจะลงปลั๊กอินหรือลงม็อด
เปิดหน้าเว็บของของที่คุณอยากได้ขึ้นมาดูก่อนหนึ่งชิ้น ถ้ามันเขียนว่ารองรับ Paper/Spigot/Bukkit นั่นคือปลั๊กอิน ถ้าเขียนว่ารองรับ Fabric หรือ Forge/NeoForge นั่นคือม็อด ของยอดนิยมหลายตัวมีทั้งสองเวอร์ชัน แต่หลายตัวก็มีแค่ฝั่งเดียว
ถ้าคุณตอบว่า "ไม่อยากลงอะไรเลย อยากได้เกมแท้ ๆ" คำตอบของคุณคือ Vanilla และคุณข้ามไปอ่านหัวข้อถัดไปได้เลย ถ้าคุณตอบว่า "อยากได้ทั้งชุดพร้อมเล่น" สิ่งที่คุณต้องการคือม็อดแพ็ก ซึ่งเลือกได้จากกลุ่ม "สำเร็จรูป" ในหน้าสร้าง — แต่ต้องรู้ข้อแลกไว้ก่อนว่ามันเปลี่ยนซอฟต์แวร์ทีหลังไม่ได้
เลือกตระกูลที่โหลดของแบบที่คุณเลือกได้
ได้คำตอบจากขั้นแรกแล้วก็ไล่ตามตารางด้านบนได้เลย อยากได้ปลั๊กอินให้เลือกจากตระกูล Paper หรือ Legacy plugins อยากได้ม็อดให้เลือกระหว่าง Fabric กับ Forge ตามที่ของส่วนใหญ่ที่คุณอยากลงรองรับ อยากได้ทั้งสองอย่างพร้อมกันคือลูกผสม
รู้ได้ว่าเลือกถูกตอนไหน: หลังสร้างเสร็จ ให้เข้าไปดูชื่อแท็บของเซิร์ฟตัวนั้น เซิร์ฟตระกูลปลั๊กอินจะเรียกแท็บนั้นว่า "ปลั๊กอิน" ส่วนตระกูลอื่นเรียกว่า "ม็อด" ถ้าเห็นคำที่ไม่ตรงกับสิ่งที่คุณตั้งใจ แปลว่าเลือกฝั่งผิดตั้งแต่ต้น
ตรวจสามอย่างที่ตระกูลนั้นแลกไป
ก่อนกดต่อ ให้เช็คสามข้อนี้กับตัวที่เลือกไว้ เพราะสามข้อนี้เปลี่ยนไม่ได้ด้วยการตั้งค่า มันมากับประเภทเซิร์ฟเวอร์
- Bedrock crossplay — มีให้เฉพาะ Paper, Purpur, Leaf, Spigot, Bukkit ถ้าเพื่อนคุณเล่นบนมือถือหรือคอนโซล ข้อนี้ตัดตัวเลือกไปครึ่งหนึ่ง
- ค่า TPS บนกราฟ — Vanilla, Fabric และ Quilt ไม่มี ดูรายละเอียดในหัวข้อถัดไป
- Java runtime — Fabric กับ Quilt จะถูกยก Java ให้ใหม่ขึ้นอัตโนมัติ ส่วน Forge ไม่ถูกยก โดยตั้งใจ
เผื่อทางเปลี่ยนใจไว้ก่อนกดสร้าง
ข้อนี้สำคัญกว่าที่คิด สิบสามประเภทในหกกลุ่มด้านบนสลับไปมาทีหลังได้ ส่วนม็อดแพ็กสลับไม่ได้เลย และ Pumpkin กับ Custom ก็อยู่นอกชุดที่สลับได้เช่นกัน
ถ้ายังไม่แน่ใจ การเริ่มจากตัวที่อยู่ในสิบสามประเภทนี้คือทางที่ปลอดภัยที่สุด เพราะประตูยังเปิดอยู่ ส่วนถ้าเริ่มจากม็อดแพ็กแล้ววันหนึ่งอยากเปลี่ยน ทางเดียวคือถอดม็อดแพ็กออก หรือสร้างเซิร์ฟใหม่
Vanilla ไม่รับทั้งม็อดและปลั๊กอิน
Vanilla เป็นตัวเดียวในรายการที่ไม่มีตระกูล loader เลย ไม่ใช่ "ตระกูลที่ว่างเปล่า" แต่คือไม่มีจริง ๆ ผลที่ตามมาชัดเจนและไม่มีทางเลี่ยง: เซิร์ฟ Vanilla ลงม็อดหรือปลั๊กอินแยกชิ้นไม่ได้ ทุกประเภทอื่นในหกกลุ่มลงได้หมด มีแต่ Vanilla ที่ถูกกันไว้ตั้งแต่ต้นทาง ถ้าเผลอเข้าไปที่แท็บม็อดของเซิร์ฟ Vanilla ระบบจะบอกว่า "เซิร์ฟเวอร์ประเภทนี้ไม่รองรับม็อด/ปลั๊กอินแยกชิ้น"
นี่ไม่ใช่ข้อเสีย ถ้าสิ่งที่คุณต้องการคือเกมแบบที่ Mojang ปล่อยออกมาจริง ๆ เล่นกับเพื่อนกลุ่มเล็ก ไม่ต้องอธิบายให้ใครลงอะไรเพิ่ม Vanilla คือคำตอบที่ตรงที่สุด และมันยังเปลี่ยนเป็นตัวอื่นทีหลังได้ด้วย เพราะอยู่ในชุดสิบสามประเภทที่สลับกันได้
ตระกูลไหนเปิด Bedrock crossplay ได้
crossplay ของเราทำงานด้วยการติดตั้ง Geyser เข้าไปในเซิร์ฟ Java ในฐานะปลั๊กอิน เมื่อกลไกติดตั้งคือปลั๊กอิน ผลที่ตามมาก็ตรงไปตรงมา คือมันโหลดได้เฉพาะเซิร์ฟที่มีชั้นปลั๊กอินแบบ Bukkit API
สวิตช์ "เปิด Bedrock crossplay (Geyser)" จึงมีให้เฉพาะห้าประเภท คือ Paper, Purpur, Leaf, Spigot และ Bukkit
จุดที่คนมักสะดุดคือ Folia อยู่ในกลุ่ม Paper family แต่ไม่ได้อยู่ในห้าตัวนี้ — ถูกกันออกโดยตั้งใจ ไม่ใช่ตกหล่น ดังนั้นถ้าคุณเลือก Folia เพราะอยากได้เซิร์ฟใหญ่ ๆ แล้วค่อยมาเปิด crossplay ทีหลัง คุณจะไม่เจอสวิตช์นั้น ให้ตัดสินใจเรื่องนี้ตั้งแต่ตอนเลือกประเภท
ส่วน Vanilla, Fabric, Quilt, Forge, NeoForge และลูกผสมทั้งสองตัว ก็ไม่มีสวิตช์นี้เหมือนกัน ผู้เล่นฝั่ง Bedrock ที่อยากเข้าเซิร์ฟกลุ่มนี้ทำไม่ได้ ทางเลือกคือสร้างเซิร์ฟ Minecraft ฉบับ Bedrock แยกไปอีกตัวหนึ่ง ซึ่งเป็นคนละอิมเมจ คนละชุดการตั้งค่า และไม่รับม็อดหรือม็อดแพ็กเลย
ตระกูลไหนมีค่า TPS บนกราฟสุขภาพเกม
การ์ดกราฟในแท็บภาพรวมมีบล็อก "สุขภาพเกม" อยู่ท้ายสุด สำหรับ Minecraft ค่าหัวแถวของบล็อกนี้คือ TPS ซึ่งเราไม่ได้เดาเอง แต่ยิงคำสั่งเข้าไปถามเซิร์ฟผ่าน RCON แล้วอ่านคำตอบกลับมา ซอฟต์แวร์ที่ไม่มีคำสั่งนั้นก็ไม่มีอะไรให้อ่าน
| มี TPS | มีแค่จำนวนผู้เล่น |
|---|
| Paper, Purpur, Leaf, Folia, Spigot, Bukkit, Mohist, Arclight, Forge, NeoForge | Vanilla, Fabric, Quilt, Pumpkin, Custom และเซิร์ฟม็อดแพ็ก |
สังเกตว่า Folia อยู่ฝั่งที่มี TPS ทั้งที่ไม่มี crossplay — สองรายการนี้เป็นคนละรายการกัน อย่าเดาจากรายการหนึ่งไปอีกรายการหนึ่ง
เซิร์ฟที่อยู่ฝั่งขวายังมีกราฟ "ผู้เล่นออนไลน์" ให้ดูตามปกติ แค่ไม่มีเส้น TPS ถ้าคุณกำลังจะเลือก Fabric เพราะอยากลงม็อดสายเบาแล้วคอยจ้องกราฟ TPS ให้รู้ไว้ก่อนว่าเส้นนั้นจะไม่มี วิธีดูว่าเซิร์ฟไหวไหมสำหรับเซิร์ฟกลุ่มนี้ต้องอ่านจากกราฟ RAM และ CPU แทน ซึ่งอธิบายไว้ที่
สองตัวที่ไม่เหมือนใคร: Pumpkin กับ Custom
สองตัวนี้อยู่นอกหกกลุ่มด้านบน และแปลกกันคนละแบบ
Pumpkin เลือกสร้างได้ตามปกติ มีป้าย "เบต้า" กำกับไว้ในหน้าสร้าง แต่มันไม่ได้ใช้อิมเมจเดียวกับเซิร์ฟ Java ตัวอื่นในระบบ ผลคือชุดการตั้งค่าทั้งก้อนใช้กับมันไม่ได้ และเราเลือกซ่อนออกไปเลยแทนที่จะให้กดแล้วเงียบ สิ่งที่หายไปบนเซิร์ฟ Pumpkin คือ
- การ์ดตั้งค่าเซิร์ฟเวอร์ทั้งใบ
- การ์ดกฎเกม
- การรีเซ็ตโลก
- การอัปโหลดไอคอนเซิร์ฟเวอร์
สิ่งที่ยังอยู่ครบคือคอนโซลและการจัดการผู้เล่น เพราะสองอย่างนี้ทำงานผ่าน RCON ซึ่ง Pumpkin ตอบได้
Custom คือการเอาไฟล์ jar ของคุณเองมารัน มันเปิดกว้างที่สุดและด้วยเหตุผลเดียวกันนั้นเองจึงยังจำกัดให้ แอดมินเป็นคนสร้างเท่านั้น ในหน้าสร้างเซิร์ฟของลูกค้าจะไม่เห็นการ์ดนี้เลย ที่น่าสนใจคือเมื่อสร้างขึ้นมาแล้ว Custom กลับเก็บของครบกว่า Pumpkin ทั้งการ์ดตั้งค่า กฎเกม และรีเซ็ตโลกยังใช้ได้ตามปกติ
ทั้งสองตัวเหมือนกันอยู่ข้อหนึ่ง คือถูกกันออกจากชุดที่สลับซอฟต์แวร์ได้ สร้างเป็น Pumpkin แล้วจะเปลี่ยนเป็น Paper ทีหลังไม่ได้
เปลี่ยนซอฟต์แวร์ทีหลังได้แค่ไหน
การ์ด "เวอร์ชันและซอฟต์แวร์" เปลี่ยนได้ทั้งเวอร์ชัน Minecraft และตัวซอฟต์แวร์ แต่มีกติกาสามข้อ
ข้อแรก เปลี่ยนได้เฉพาะภายในสิบสามประเภทในหกกลุ่มด้านบน ทั้งตัวต้นทางและตัวปลายทางต้องอยู่ในชุดนี้ Pumpkin, Custom, Bedrock และประเภทม็อดแพ็กอยู่นอกชุด
ข้อสอง ข้ามตระกูลเมื่อไหร่ ม็อดที่ติดไว้ถูกล้าง ถ้าคุณติดตั้งม็อดหรือปลั๊กอินแยกชิ้นไว้ แล้วเปลี่ยนไปคนละตระกูล loader ระบบจะเตือนว่า "กำลังเปลี่ยนตระกูลซอฟต์แวร์ — ม็อด/ปลั๊กอินที่ติดตั้งไว้จะใช้กับซอฟต์แวร์ใหม่ไม่ได้" และจะไม่ยอมทำจนกว่าคุณจะติ๊กช่อง "ฉันเข้าใจว่าม็อดที่ติดตั้งไว้จะถูกลบออก" การย้ายภายในตระกูลเดียวกัน เช่น Paper ไป Purpur ไม่โดนข้อนี้ ของที่ติดไว้อยู่ต่อ
ข้อสาม เซิร์ฟม็อดแพ็กเปลี่ยนไม่ได้เลย เพราะตัวแพ็กเป็นคนกำหนดทั้ง loader และเวอร์ชัน ระบบจะบอกว่า "เซิร์ฟเวอร์นี้ใช้ม็อดแพ็ก — ต้องถอดม็อดแพ็กก่อนเปลี่ยนเวอร์ชันหรือซอฟต์แวร์" และแม้ถอดม็อดแพ็กออกแล้ว เซิร์ฟที่ยังคาประเภทม็อดแพ็กอยู่ก็ยังเปลี่ยนไม่ได้อยู่ดี
อีกอย่างที่ควรรู้: การเปลี่ยนไม่ได้เกิดขึ้นทันทีที่กด ระบบจะสำรองข้อมูลให้ก่อนหนึ่งรอบ แล้วเปลี่ยนก็ต่อเมื่อสำรองสำเร็จเท่านั้น ถ้าสำรองล้มเหลว การเปลี่ยนจะไม่ถูกนำไปใช้
Java runtime ที่ตามมากับตระกูล
ประเภทเซิร์ฟเวอร์ยังกระทบเรื่องหนึ่งที่มองไม่เห็น คือรุ่นของ Java ที่เซิร์ฟใช้บูต ปกติระบบเลือกให้เองจากเวอร์ชัน Minecraft แต่มีข้อยกเว้นที่ผูกกับประเภทเซิร์ฟเวอร์โดยตรง
Fabric กับ Quilt จะถูกยกพื้น Java ขึ้นอัตโนมัติ ต่อให้คุณเล่น Minecraft เวอร์ชันเก่าที่ปกติจะได้ Java รุ่นเก่า ตัวเลือก Auto ในช่อง "Java runtime" จะแสดงรุ่นที่ยกแล้วให้เห็น ในรูปแบบ Auto — {tag} (แนะนำ) โดย {tag} คือรุ่นที่ถูกเลือกจริง
Forge ไม่ถูกยก และนั่นคือความตั้งใจ Forge รุ่นเก่าอย่างยุค 1.12.2 ต้องการ Java 8 จริง ๆ การไปยกพื้นให้ทั้งกลุ่มม็อดจะทำให้เซิร์ฟที่วันนี้เปิดติดอยู่ดี ๆ พังลงทันที เราจึงเลือกไม่ทำ ถ้าม็อดหรือแพ็กของคุณต้องการ Java รุ่นเฉพาะ ให้ตั้งเองในช่องเดียวกันนั้น
รายละเอียดทั้งหมด — ตารางว่าเวอร์ชันไหนได้ Java อะไร คำเตือนตอนเลือกรุ่นเก่าเกินไป และวิธีกู้เซิร์ฟที่ crash loop เพราะ Java ผิดรุ่น — อยู่ที่
อ่านต่อ
- — รุ่น Java ที่แต่ละเวอร์ชันและแต่ละ loader ต้องใช้
- — วิธีทำเองตั้งแต่ต้น และข้อจำกัดที่จะเจอ
- — ม็อดแพ็กกินแรมเท่าไหร่ และ OOM มาจากอะไร
- — สร้างเซิร์ฟบน uniz.host แล้วเลือกซอฟต์แวร์จากรายการนี้ได้ตั้งแต่ขั้นตอนสร้าง