Minecraft: การตั้งค่าเซิร์ฟเวอร์ Bungeecord
คู่มือนี้ถูกสร้างขึ้นด้วยผลิตภัณฑ์ดังต่อไปนี้:
(รายละเอียดอาจแตกต่างกันไปตามผลิตภัณฑ์จากผู้ให้บริการต่างๆ แต่แนวคิดหลักยังคงเหมือนเดิม)
ทำไมต้องมีการตั้งค่า BungeeCord?
BungeeCord คือการจัดการกลุ่มเซิร์ฟเวอร์ที่เชื่อมต่อกันผ่านเซิร์ฟเวอร์พร็อกซี (เซิร์ฟเวอร์ BungeeCord) เพื่อปรับแต่งเครือข่ายของเซิร์ฟเวอร์เหล่านี้ ต้องแก้ไขไฟล์ config.yml ในหน้านี้คุณจะได้เรียนรู้ความหมายของแต่ละการตั้งค่าอย่างละเอียด พร้อมข้อมูลเพิ่มเติมเกี่ยวกับผลกระทบต่อเซิร์ฟเวอร์ย่อย เช่น PaperSpigot และ Bukkit
การตั้งค่า
forge_support
ค่านี้สามารถตั้งเป็น false หรือ true ได้ ถ้าตั้งเป็น true ผู้เล่นสามารถเข้าเซิร์ฟเวอร์ด้วยไคลเอนต์ Forge (สำหรับ modpacks) ถ้าตั้งเป็น false เซิร์ฟเวอร์จะปฏิเสธการเชื่อมต่อนี้
player_limit
ค่านี้บอกจำนวนผู้เล่นสูงสุดที่อนุญาตให้เชื่อมต่อเซิร์ฟเวอร์พร้อมกันได้ เมื่อเทียบกับค่า max_players ใน listeners ค่านี้เป็นการกำหนดจำนวนผู้เล่นทั้งหมดแบบภายในและแน่นอน
permissions
ในส่วนนี้สามารถกำหนดสิทธิ์ให้กับกลุ่มต่างๆ ได้ สิทธิ์เหล่านี้เป็น สิทธิ์ของ BungeeCord เท่านั้น ไม่ใช่สิทธิ์ของ Spigot/Bukkit รูปแบบและการเยื้อง (โดยใช้ 2 ช่องว่าง) สำคัญมาก:
permissions:
GroupName:
- Permission.One
- Permission.Two
timeout
ตัวเลขนี้แสดงเวลาสูงสุดที่เซิร์ฟเวอร์ไม่ส่งสัญญาณใดๆ ไปยังผู้เล่นก่อนจะปิดเซิร์ฟเวอร์และตัดการเชื่อมต่อ ค่าเริ่มต้นคือ 30000 ซึ่งเท่ากับเวลาตอบสนองสูงสุด 30 วินาที
log_commands
ค่านี้ตั้งเป็น false หรือ true ได้ ถ้าตั้งเป็น true จะมีข้อความแสดงในคอนโซลเมื่อผู้เล่นใช้คำสั่ง BungeeCord ถ้าตั้งเป็น false ข้อความนี้จะไม่แสดง
network_compression_threshold
ตั้งขนาดของแพ็กเกจที่ส่งไปยังผู้เล่น ค่าที่น้อยกว่าค่าเริ่มต้น 256 เช่น 128 อาจช่วยปรับปรุงการเชื่อมต่อกับผู้ใช้ที่อยู่ไกลกว่า แต่จะทำให้การใช้ CPU สูงขึ้นมาก ดังนั้นควรระวังเมื่อเปลี่ยนค่า
online_mode
ค่านี้ตั้งเป็น false หรือ true ได้ ถ้าตั้งเป็น true จะอนุญาตเฉพาะผู้เล่นที่ซื้อ Minecraft เท่านั้น ถ้าตั้งเป็น false ผู้เล่น cracked ก็สามารถเข้าเซิร์ฟเวอร์ได้เพราะจะไม่มีการติดต่อกับเซิร์ฟเวอร์ Mojang สำคัญ: ถ้าต้องการให้ผู้เล่น cracked เล่นได้ ควรใช้ปลั๊กอินตรวจสอบสิทธิ์ มิฉะนั้นผู้เล่นอื่นอาจแอบอ้างและได้สิทธิ์แอดมิน
disabled_commands
ที่นี่คุณสามารถระบุคำสั่งที่ต้องการปิดใช้งานและไม่ให้ใช้ได้ในเครือข่ายทั้งหมด ข้อจำกัดนี้ใช้กับผู้เล่นทุกคนในเครือข่าย
servers
รายการนี้แสดงเซิร์ฟเวอร์ย่อยทั้งหมดในเครือข่าย ถ้าเซิร์ฟเวอร์ใดไม่อยู่ในนี้ จะไม่ถูกรวมในระบบเซิร์ฟเวอร์ของคุณ รูปแบบและการเยื้อง (2 ช่องว่าง) สำคัญ:
servers:
ServerName:
motd: '&1Just another BungeeCord - Forced Host'
address: 0.0.0.0:2000
restricted: false
motd คือข้อความที่แสดงในรายการเซิร์ฟเวอร์เมื่อคุณพิงเซิร์ฟเวอร์ย่อยโดยใช้ฟังก์ชัน forced_hosts:
ใน address ให้ใส่ IP ของเซิร์ฟเวอร์ย่อย ถ้า restricted เป็น true ผู้เล่นต้องมีสิทธิ์ bungeecord.server.ServerName ถึงจะเข้าเซิร์ฟเวอร์ย่อยได้
listeners
ตัวแปรนี้มีตัวเลือกมากมายที่สำคัญสำหรับการเชื่อมต่อกับเซิร์ฟเวอร์ BungeeCord สามารถสร้าง listeners หลายตัวเพื่ออนุญาตการเชื่อมต่อกับ IP และพอร์ตต่างๆ Listener ประกอบด้วยค่าการตั้งค่าดังนี้:
- query_port - กำหนดพอร์ตของ listener
- motd - ข้อความที่แสดงในรายการเซิร์ฟเวอร์เมื่อผู้เล่นเข้าถึงเซิร์ฟเวอร์ BungeeCord โดยตรง
- tab_list - เลือกระหว่าง GLOBAL_PING, GLOBAL และ SERVER โดย GLOBAL_PING จะแสดงผู้เล่นทั้งหมดพร้อมพิงในแท็บลิสต์ GLOBAL จะแสดงผู้เล่นทั้งหมดข้ามเซิร์ฟเวอร์แต่ไม่แสดงพิง SERVER จะแสดงเฉพาะผู้เล่นในเซิร์ฟเวอร์ย่อยเดียวกัน สำคัญ: ฟังก์ชันนี้ไม่ทำงานในเวอร์ชัน 1.8 หรือต่ำกว่า
- query_enabled - ตั้งเป็น false หรือ true ถ้า true จะตรวจสอบ UDP query ในกระบวนการ DNS เพื่ออนุญาตเฉพาะการเชื่อมต่อนี้ ถ้า false จะอนุญาตการเชื่อมต่ออื่นๆ ผ่านการส่งต่อไปยังเซิร์ฟเวอร์
- proxy_protocol - ตั้งเป็น false หรือ true ถ้า true จะใช้โปรโตคอล HAProxy ถ้า false จะปฏิเสธโปรโตคอลนี้
- forced_hosts - อนุญาตการเชื่อมต่อโดยตรงไปยังเซิร์ฟเวอร์ย่อยแบบเฉพาะเจาะจง รูปแบบ:
Your.OwnDomain.net: ServerName
- ping_passthrough - ตั้งเป็น false หรือ true ถ้า true จะแสดง MOTD จริงของเซิร์ฟเวอร์ย่อยแทน MOTD ในการตั้งค่า BungeeCord เมื่อพิงเซิร์ฟเวอร์ย่อยผ่าน forced_hosts ถ้า false จะแสดงค่าจากตัวแปร servers
- priorities - ระบุลำดับความสำคัญของเซิร์ฟเวอร์ที่ผู้เล่นควรเชื่อมต่อก่อน เซิร์ฟเวอร์ที่ออฟไลน์หรือไม่พร้อมใช้งานจะถูกข้าม
- bind_local_address - ตั้งเป็น false หรือ true ถ้า true ระบบจะพยายามส่งผู้เล่นไปยังเซิร์ฟเวอร์ที่ฟัง IP เดียวกับเซิร์ฟเวอร์ BungeeCord ถ้า false เซิร์ฟเวอร์ย่อยสามารถมี IP ต่างกันได้ ค่านี้สำคัญสำหรับเครือข่ายที่รันเซิร์ฟเวอร์บนระบบต่างกัน
- host - กำหนด IP และพอร์ตของโฮสต์ ถ้าใส่ 0.0.0.0 เป็น IP จะรับทุก IP และโดเมนที่ส่งต่อมายังโฮสต์
- max_players - กำหนดจำนวนผู้เล่นสูงสุดของ listener นี้
- tab_size - กำหนดจำนวนผู้เล่นสูงสุดที่แสดงในแท็บลิสต์
- ค่านี้ตั้งเป็น false หรือ true ถ้า true ผู้เล่นจะเชื่อมต่อกับเซิร์ฟเวอร์เริ่มต้นเสมอ (เซิร์ฟเวอร์แรกใน priorities) ถ้า false ผู้เล่นจะไปยังเซิร์ฟเวอร์ย่อยที่เล่นครั้งล่าสุด สำคัญ: ถ้าเปิดค่านี้ การเชื่อมต่อผ่าน forced_hosts จะถูกส่งต่อไปยังเซิร์ฟเวอร์เริ่มต้นด้วย
ip_forward
ตั้งเป็น false หรือ true ถ้า true ผู้เล่นจะเข้าถึงเครือข่ายได้เฉพาะผ่านเซิร์ฟเวอร์ BungeeCord เท่านั้น ถ้า false ผู้เล่นสามารถเชื่อมต่อโดยตรงกับเซิร์ฟเวอร์ย่อยได้ถ้ารู้ IP และพอร์ต สำคัญ: ถ้าตั้ง online_mode เป็น true ควรเปิดฟังก์ชันนี้ด้วยเพื่อปิดช่องโหว่ด้านความปลอดภัย
prevent_proxy_connections
ตั้งเป็น false หรือ true ถ้า true ที่อยู่ IP ของผู้เล่นที่เชื่อมต่อจะถูกส่งไปยังเซิร์ฟเวอร์ Mojang ถ้า false เซิร์ฟเวอร์จะป้องกันการส่งต่อ IP ไปยัง Mojang ค่านี้ไม่มีผลต่อประสบการณ์การเล่นเกมจริง
groups
ในรายการนี้คุณสามารถกำหนดกลุ่มหนึ่งหรือหลายกลุ่มให้กับผู้เล่นแต่ละคน เพื่อให้พวกเขาได้รับสิทธิ์ BungeeCord ตามที่กำหนดใน permissions รูปแบบและการเยื้อง (2 ช่องว่าง) สำคัญ:
groups:
PlayerName:
- GroupName
connection_throttle
ค่านี้กำหนดเวลาที่ผู้เล่นต้องรอก่อนจะลองเชื่อมต่อเซิร์ฟเวอร์อีกครั้ง ค่าเริ่มต้นคือ 4000 ซึ่งเท่ากับเวลารอสูงสุด 4 วินาที
stats
ที่นี่ BungeeCord จะใส่โค้ดสุ่มแรนดอม แนะนำไม่ให้เปลี่ยนโค้ดนี้ เพราะจะช่วยปรับปรุง BungeeCord และแก้บั๊ก ข้อมูลวิเคราะห์จะถูกส่งแบบไม่ระบุตัวตนและเข้ารหัสไปยังนักพัฒนา
connection_throttle_limit
ค่านี้กำหนดจำนวนครั้งที่ผู้เล่นพยายามเชื่อมต่อก่อนจะต้องรอเวลาที่กำหนดใน connection_throttle ก่อนจะลองเชื่อมต่ออีกครั้ง