คู่มือ
วิธีทำปลั๊กอินมินิเกม Minecraft
อัปเดตเมื่อ 18 ตุลาคม 2569
ปลั๊กอินมินิเกมจะรันเป็นรอบๆ: ผู้เล่นรอในล็อบบี้ เริ่มนับถอยหลัง เกมดำเนินไปตามกฎของมัน มีคนชนะ แล้วอารีน่าถูกรีเซ็ตสำหรับรอบถัดไป มินิเกมทุกแบบ ตั้งแต่ spleef ไปจนถึง bed wars มีโครงเดียวกัน ทำโครงนี้ให้ถูกแล้วกฎของเกมจะเป็นส่วนที่ง่าย
เริ่มจากตัวอย่างนี้แล้วปรับกฎ
สร้างสิ่งนี้ด้วย Codexeทีละขั้นตอน
1.เขียนกฎของหนึ่งรอบ
มีผู้เล่นกี่คน รอบเริ่มและจบอย่างไร ชนะได้อย่างไร ตายแล้วเกิดอะไรขึ้น (ตกรอบ เกิดใหม่ หรือเป็นผู้ชม) และผู้เล่นได้อะไรตอนเริ่ม
2.วางแผนการตั้งค่าอารีน่า
คำสั่งแอดมินสำหรับสร้างอารีน่าและตั้งล็อบบี้ จุดเกิด และขอบเขต เช่น
/mg create <name>และ/mg setspawn <name>อารีน่าจะบันทึกไว้ในไฟล์เพื่อให้อยู่รอดหลังรีสตาร์ต3.กำหนดสถานะของเกม
รอผู้เล่น กำลังเริ่ม (นับถอยหลัง) กำลังเล่น และจบเกม แต่ละสถานะอนุญาตสิ่งที่ต่างกัน: ไม่มีใครทุบบล็อกในล็อบบี้ได้ ไม่มีใครเข้าเกมที่กำลังเล่นอยู่ได้
4.ตัดสินใจว่าจะรีเซ็ตอารีน่าอย่างไร
ติดตามและย้อนบล็อกที่ถูกเปลี่ยนระหว่างรอบ หรือโหลดสำเนาของโลกต้นแบบใหม่ ถ้าไม่รีเซ็ต รอบที่สองจะเริ่มบนแมปที่พังไปแล้ว
5.เพิ่มสิ่งที่ผู้เล่นเห็น
สกอร์บอร์ดด้านข้างแสดงผู้เล่นที่เหลือและเวลา บอสบาร์หรือไตเติลสำหรับการนับถอยหลัง และข้อความแชตสำหรับการฆ่าและผู้ชนะ
6.สร้าง บิลด์ และเล่นหนึ่งรอบ
อธิบายให้ Codexe ฟัง ให้มันคอมไพล์ แล้วเข้าเซิร์ฟเวอร์ทดสอบด้วย ลองเลย ตั้งจำนวนผู้เล่นขั้นต่ำให้น้อยระหว่างทดสอบเพื่อให้รอบเริ่มได้
สถานะของเกม
บั๊กของมินิเกมส่วนใหญ่คือผู้เล่นทำบางอย่างในสถานะที่ผิด การเขียนสถานะไว้ในคำขอจะทำให้ AI สร้างปลั๊กอินโดยยึดสถานะเหล่านั้นเป็นหลัก
| สถานะ | สิ่งที่เกิดขึ้น | กฎทั่วไป |
|---|---|---|
| รอผู้เล่น | ผู้เล่นเข้าล็อบบี้ | ไม่มีดาเมจ ทุบบล็อกไม่ได้ ออกได้ด้วยไอเทมหรือคำสั่ง |
| กำลังเริ่ม | นับถอยหลังเมื่อผู้เล่นครบขั้นต่ำ | หยุดนับถอยหลังถ้าผู้เล่นออกจนต่ำกว่าขั้นต่ำ |
| กำลังเล่น | ใช้กฎของเกม | เข้าร่วมไม่ได้ ตายแล้วตกรอบหรือเกิดใหม่ ออกกลางคันนับว่าแพ้ |
| จบเกม | ประกาศผู้ชนะ แจกรางวัล | ส่งผู้เล่นกลับหลังผ่านไปไม่กี่วินาที รีเซ็ตอารีน่า |
การรีเซ็ตอารีน่า
- บันทึกและย้อนการเปลี่ยนแปลง: เก็บบล็อกแต่ละบล็อกไว้ก่อนที่จะถูกเปลี่ยนระหว่างรอบ แล้ววางคืนตอนจบ เร็วสำหรับอารีน่าเล็กๆ ที่ผู้เล่นทุบหรือวางบล็อกไม่กี่บล็อก
- โลกต้นแบบ: เก็บสำเนาแมปที่สะอาดไว้ อันโหลดโลกที่เล่นแล้วหลังจบรอบ และคัดลอกต้นแบบทับลงไป เรียบง่ายและเชื่อถือได้สำหรับแมปที่ถูกทำลาย
- ห้ามเปลี่ยนแปลงใดๆ: สำหรับเกมอย่างพาร์คัวร์หรือดวล PvP ให้ยกเลิกการเปลี่ยนบล็อกทั้งหมด แล้วไม่ต้องรีเซ็ตอะไรเลย
ตัวอย่างคำอธิบาย
"ปลั๊กอินมินิเกม spleef สำหรับ Paper 1.21.4 แอดมินสร้างอารีน่าด้วย /spleef create <name>, /spleef setlobby และ /spleef setfloor (สองมุมของพื้นหิมะ) ผู้เล่นเข้าร่วมด้วย /spleef join <arena> รอบเริ่มหลังจากมีผู้เล่น 2 คนได้ 15 วินาที สูงสุด 8 คน ผู้เล่นได้พลั่วเพชร ทุบหิมะได้ทันที และตกรอบเมื่อตกลงไปใต้พื้น ผู้เล่นคนสุดท้ายที่เหลืออยู่ชนะ 50 coins ผ่าน Vault ผู้เล่นที่ตกรอบจะกลายเป็นผู้ชม พื้นหิมะถูกกู้คืนหลังจบแต่ละรอบ สกอร์บอร์ดด้านข้างแสดงผู้เล่นที่เหลือและเวลา อารีน่าบันทึกใน arenas.yml จำนวนผู้เล่นขั้นต่ำและรางวัลอยู่ใน config.yml"
การทดสอบมินิเกม
มินิเกมตัดสินจากโค้ดได้ยาก: คุณต้องเล่นสักรอบ ลองเลย จะเปิดเซิร์ฟเวอร์ Paper ส่วนตัวตามเวอร์ชันของคุณพร้อมติดตั้งปลั๊กอิน ซึ่งปกติเป็นโลกแบนราบ และเพื่อนเข้าร่วมได้ถ้าคุณเพิ่มพวกเขาใน สิทธิ์เข้าเซิร์ฟเวอร์ แพ็กเกจฟรีให้เข้าเซิร์ฟเวอร์ทดสอบได้ 2 คน Pro 5 คน Business 10 คน และ Enterprise 20 คน
ขอให้ตั้งจำนวนผู้เล่นขั้นต่ำไว้ใน config.yml เพื่อจะได้ตั้งเป็น 1 หรือ 2 ระหว่างทดสอบ ผู้เล่นทดสอบก็เข้ามาได้เช่นกัน โดยจะรันคำสั่งเข้าร่วมและคำสั่งแอดมิน และเช็กข้อความต่างๆ ซึ่งช่วยจับคำสั่งที่พังได้ก่อนที่คุณจะเล่น
คำถาม
อารีน่าเดียวหรือหลายอารีน่า?
ขอแบบหลายอารีน่าตั้งแต่แรก การเปลี่ยนปลั๊กอินอารีน่าเดียวให้เป็นหลายอารีน่าทีหลังหมายถึงต้องเขียนวิธีเก็บข้อมูลผู้เล่นและสถานะเกมใหม่
ทำมินิเกม PvP 1.8 ได้ไหม?
ได้ ระบุ Spigot หรือ Paper 1.8.8 ในคำขอ: Codexe จะเขียนโค้ดสำหรับ API รุ่นเก่านั้น และเซิร์ฟเวอร์ทดสอบรองรับเวอร์ชัน 1.8 ถึง 26.3
เครือข่ายมินิเกมทำงานอย่างไร?
เครือข่ายขนาดใหญ่จะรันแต่ละเกมบนเซิร์ฟเวอร์ของตัวเองหลังพร็อกซี BungeeCord หรือ Velocity โดยมีเซิร์ฟเวอร์ล็อบบี้ที่ส่งผู้เล่นไปยังเกมที่ว่าง นั่นคือปลั๊กอินพร็อกซีบวกปลั๊กอินเกม แยกเป็นสองโปรเจกต์
สร้างมินิเกมของคุณ
พรอมต์นี้จะเปิดขึ้นพร้อมส่งได้ทันที:
“ปลั๊กอินมินิเกม spleef สำหรับ Paper 1.21.4: สร้างอารีน่าด้วย /spleef create, setlobby และ setfloor, ผู้เล่นเข้าร่วมด้วย /spleef join, รอบเริ่มหลังจากมีผู้เล่น 2 คนได้ 15 วินาที (สูงสุด 8), พลั่วเพชร, ตกรอบเมื่อตกลงไปใต้พื้น, ผู้เล่นคนสุดท้ายชนะ 50 coins ผ่าน Vault, ผู้เล่นที่ตกรอบเป็นผู้ชม, พื้นหิมะกู้คืนหลังจบแต่ละรอบ, สกอร์บอร์ดด้านข้างแสดงผู้เล่นที่เหลือและเวลา, อารีน่าบันทึกใน arenas.yml”
สร้างสิ่งนี้ด้วย Codexe