เปรียบเทียบ
Paper กับ Spigot
อัปเดตเมื่อ 18 ตุลาคม 2569
Spigot คือซอฟต์แวร์เซิร์ฟเวอร์ดั้งเดิมสำหรับปลั๊กอิน Bukkit ส่วน Paper เริ่มจากการเป็น fork ของ Spigot ที่มีแพตช์ด้านประสิทธิภาพ การแก้บั๊ก และ API ที่ใหญ่กว่ามาก และตอนนี้เป็นตัวเลือกที่ใช้มากที่สุดสำหรับเซิร์ฟเวอร์ที่ใช้ปลั๊กอิน ปลั๊กอิน Spigot เกือบทุกตัวรันบน Paper ได้ แต่กลับกันไม่จริงสำหรับปลั๊กอินที่ใช้ API เพิ่มเติมของ Paper
ระบุ Paper หรือ Spigot และเวอร์ชัน
สร้างสิ่งนี้ด้วย Codexeเทียบกันตรง ๆ
| Spigot | Paper | |
|---|---|---|
| รันปลั๊กอิน Bukkit/Spigot | ใช่ | ได้ เกือบทั้งหมด |
| รันปลั๊กอินที่ใช้ได้เฉพาะ Paper | ไม่ | ใช่ |
| ประสิทธิภาพ | ดี | ดีกว่าบนเซิร์ฟเวอร์ส่วนใหญ่: มีการปรับแต่งมากมายและโหลด chunk แบบ async |
| API ของปลั๊กอิน | Bukkit และ Spigot API | เหมือนกัน บวกอีเวนต์ เมธอด และ text component ของ Adventure อีกมาก |
| การตั้งค่า | bukkit.yml, spigot.yml | เหมือนกัน บวกไฟล์คอนฟิกของ Paper เองทั้งแบบ global และแยกตามโลก |
| พฤติกรรมแบบวานิลลา | ใกล้เคียงวานิลลากว่า | แก้ช่องโหว่และบั๊กบางอย่างเป็นค่าเริ่มต้น (บางอย่างเปิดกลับได้) |
| วิธีได้มา | บิลด์เองด้วย BuildTools | ดาวน์โหลดแบบพร้อมใช้จาก papermc.io |
เมื่อไรที่ Paper เป็นตัวเลือกที่ดีกว่า
- เซิร์ฟเวอร์เอาชีวิตรอด SMP มินิเกม และเครือข่ายส่วนใหญ่: ประสิทธิภาพดีกว่าโดยใช้ปลั๊กอินชุดเดิม
- คุณเขียนปลั๊กอินและอยากได้ API ที่ใหญ่กว่า: text component ที่ดีกว่า อีเวนต์มากกว่า และ API แบบ async
- คุณอยากย้ายไป Folia หรือใช้ Velocity ภายหลัง: ทั้งสองมาจากโปรเจกต์ PaperMC เดียวกัน
เมื่อไรที่ Spigot เป็นตัวเลือกที่ดีกว่า
- ผู้เล่นสายเทคนิคพึ่งพากลไกวานิลลาที่ Paper แก้หรือเปลี่ยน เช่น การปั๊มของหรือพฤติกรรมของเรดสโตนบางอย่าง และคุณไม่อยากจัดการการตั้งค่าของ Paper เพื่อสิ่งเหล่านั้น
- คุณเขียนปลั๊กอินที่ต้องรันได้บนเซิร์ฟเวอร์ Bukkit ทุกตัว: บิลด์กับ Spigot API แล้วมันจะรันได้บน Spigot, Paper และ fork ของทั้งสอง
- ปลั๊กอินเฉพาะตัวที่คุณพึ่งพารองรับอย่างเป็นทางการแค่ Spigot และทำงานผิดปกติบน Paper (เกิดน้อย แต่ก็มี)
Paper ในวันนี้
ในเวอร์ชันหลังๆ Paper กลายเป็น hard fork: ไม่รับทุกการเปลี่ยนแปลงจาก Spigot อีกต่อไปและพัฒนาเอง ขณะที่ยังรองรับปลั๊กอินที่เขียนสำหรับ Spigot API ในทางปฏิบัติ ผู้สร้างปลั๊กอินที่ตั้งเป้าที่ Spigot API จะเข้าถึงทั้งสองแบบ และคนที่ต้องการฟีเจอร์ของ Paper ก็ตั้งเป้าที่ Paper
การย้ายเซิร์ฟเวอร์จาก Spigot ไป Paper ปกติแค่เปลี่ยน .jar ของเซิร์ฟเวอร์เป็น Paper ของ Minecraft เวอร์ชันเดียวกัน โลกและปลั๊กอินยังอยู่ครบ สำรองข้อมูลก่อนและเช็กล็อกตอนเริ่มทำงาน
ปลั๊กอิน Spigot และ Paper บน Codexe
ประเภท Bukkit/Spigot/Paper บน Codexe ครอบคลุมทั้งสองแบบ ระบุ "Paper" หรือ "Spigot" และเวอร์ชันในคำขอ: Codexe จะใช้ API นั้น คอมไพล์ปลั๊กอิน และเช็กว่ามี plugin.yml (หรือ paper-plugin.yml) ขอ Spigot ถ้าปลั๊กอินต้องรันได้ทั้งสองแบบ เซิร์ฟเวอร์ทดสอบรัน Paper ปลั๊กอิน Spigot จึงทดสอบบนนั้นได้เช่นกัน
คำถาม
ปลั๊กอิน Spigot ของฉันจะใช้กับ Paper ได้ไหม?
เกือบทั้งหมดใช้ได้โดยไม่ต้องแก้ ปลั๊กอินที่ใช้โค้ดภายในของเซิร์ฟเวอร์ (NMS) ต้องมีบิลด์สำหรับเวอร์ชันนั้นตรงเป๊ะไม่ว่าจะเป็นเซิร์ฟเวอร์ไหน
Purpur ดีกว่า Paper ไหม?
Purpur คือ fork ของ Paper ที่มีตัวเลือกเกมเพลย์เพิ่มเติม รันปลั๊กอิน Paper และ Spigot ได้ เลือกใช้ถ้าคุณอยากได้ตัวเลือกเหล่านั้น ไม่อย่างนั้น Paper ก็เพียงพอ
ย้ายกลับจาก Paper ไป Spigot ได้ไหม?
ส่วนใหญ่ได้ โดยใช้โลกเดิม แต่ปลั๊กอินที่ต้องใช้ API ของ Paper จะใช้ไม่ได้อีก สำรองข้อมูลก่อนเปลี่ยน
Paper รันบนเวอร์ชันเก่าอย่าง 1.8 ได้ไหม?
มีบิลด์ Paper เก่าสำหรับ 1.8.8 อยู่ และเซิร์ฟเวอร์มินิเกมยังใช้กันอยู่ แต่ไม่ได้รับการอัปเดตแล้ว บิลด์ Spigot เก่าก็เช่นกัน
สร้างปลั๊กอินสำหรับเซิร์ฟเวอร์ของคุณ
พรอมต์นี้จะเปิดขึ้นพร้อมส่งได้ทันที:
“ปลั๊กอิน Paper 1.21.4 ชื่อ ChatFormat: รูปแบบแชตพร้อม prefix และ suffix จาก LuckPerms สี MiniMessage สำหรับผู้เล่นที่มี chatformat.color คำสั่ง /chatformat reload และรูปแบบอยู่ใน config.yml”
สร้างสิ่งนี้ด้วย Codexe