01
การตั้งค่าเริ่มต้น
Setupปลั๊กอินถูกออกแบบมาเพื่อ Folia โดยเฉพาะ ซึ่งใช้ระบบ Multi-threading แยกตาม Region การติดตั้งจึงต้องการความละเอียดสูงกว่า Bukkit/Spigot ทั่วไป
1
ตรวจสอบ Java:
java --version ต้องเป็น Java 21 ขึ้นไป — แนะนำ GraalVM
2
เตรียมฐานข้อมูล: MySQL (Port 3306) และ Redis (Port 6379)
3
ติดตั้งไฟล์
.jar ในโฟลเดอร์ plugins/ แล้วรัน run.bat เพื่อสร้างไฟล์ Config
4
แก้ไข
config.yml ใส่ข้อมูล MySQL / Redis แล้วรีสตาร์ทเซิร์ฟเวอร์
02
ระบบจัดการโลก
World Managementระบบข้ามโลกที่รองรับ Folia Native Async Teleport — ปลอดภัยต่อ Thread Safety ของ Folia
| คำสั่ง | คำอธิบาย | Permission |
|---|---|---|
/bw world import [ชื่อ] [ประเภท] |
โหลดโลกที่มีอยู่หรือสร้างใหม่ (normal / void) | bw.admin.world |
/bw world tp [ชื่อโลก] |
วาร์ปข้ามโลกแบบ Async ปลอดภัยต่อ Folia | bw.admin.tp |
/bw world list |
ดูรายชื่อโลกที่โหลดอยู่ในปัจจุบัน | bw.admin.world |
⚠
ข้อแนะนำ: สำหรับ BedWars Arena ให้ Import ด้วยประเภท
void เพื่อลดภาระ CPU ของเซิร์ฟเวอร์อย่างมีนัยสำคัญ
03
คำสั่งทั้งหมด
Commands| คำสั่ง | คำอธิบาย | Permission |
|---|---|---|
/bw join <arena> |
เข้าเล่นในสนามที่กำหนด | bw.player |
/bw leave |
ออกจากเกมปัจจุบัน | bw.player |
/bw setup |
เปิดเมนูตั้งค่าสนาม (GUI) | bw.admin |
/bw reload |
รีโหลดไฟล์ Config ทั้งหมด | bw.admin |
/bw world import [ชื่อ] [ประเภท] |
Import โลกสำหรับ Arena | bw.admin.world |
/bw world tp [ชื่อโลก] |
Async Teleport ข้ามโลก | bw.admin.tp |
/bw world list |
รายชื่อโลกที่โหลดอยู่ | bw.admin.world |
04
ไฟล์ Config หลัก
config.ymlตั้งค่า server-id ให้ไม่ซ้ำกันในแต่ละเซิร์ฟเวอร์เมื่อใช้งาน Cross-server mode
cross-server-mode: true redis: server-id: "server-1" # ต้องไม่ซ้ำกันในแต่ละเครื่อง arena: min-players: 2 countdown-seconds: 30 auto-load-worlds: - "Lobby" - "Arena_1"
ℹ
Cross-server mode: เมื่อเปิดใช้งาน ระบบจะ Sync สถานะห้องเล่นผ่าน Redis แบบ Real-time ข้ามเซิร์ฟเวอร์ได้ทันที
05
การเพิ่มประสิทธิภาพ
Performanceเพื่อรองรับผู้เล่น 104 คน ได้อย่างลื่นไหล ใช้ JVM Flags ชุดนี้:
java -Xmx8G -Xms8G \ -XX:+UseG1GC \ -XX:MaxGCPauseMillis=200 \ -XX:+ParallelRefProcEnabled \ -XX:+AlwaysPreTouch \ -jar folia-1.21.11.jar --nogui
-Xmx8G / -Xms8G
จองและกำหนด Heap สูงสุด 8GB — ควรตั้งค่าเท่ากันเพื่อลด GC overhead
-XX:+UseG1GC
ใช้ G1 Garbage Collector เหมาะกับ Heap ขนาดใหญ่และผู้เล่นจำนวนมาก
-XX:MaxGCPauseMillis=200
จำกัด GC Pause ไม่เกิน 200ms เพื่อป้องกัน Lag spike ระหว่างเกม
-XX:+AlwaysPreTouch
จอง RAM ทั้งหมดตั้งแต่ Startup ลด Latency ช่วงแรกของเกม
⚡
GraalVM แนะนำ: ใช้ GraalVM JDK 21 แทน Oracle/OpenJDK เพื่อประสิทธิภาพ JIT compilation ที่ดีกว่า โดยเฉพาะบน Folia Multi-thread workloads