ปลั๊กอิน Minecraft ProtocolLib

ข้อมูลเกี่ยวกับ ProtocolLib และเซิร์ฟเวอร์ที่พบ

🔌 เกี่ยวกับ ProtocolLib

ProtocolLib คือไลบรารีปลั๊กอิน Minecraft ที่เปิดเผยโปรโตคอลเครือข่ายให้ปลั๊กอินอื่นใช้งานได้ โดยมี API สำหรับอ่าน แก้ไข ยกเลิก และส่งแพ็กเก็ตดิบระหว่างเซิร์ฟเวอร์และไคลเอนต์ โดยไม่ต้องให้ปลั๊กอินพึ่งพาภายในของเซิร์ฟเวอร์ที่ถูก obfuscate

🎯 วัตถุประสงค์

ProtocolLib มีอยู่เพื่อทำให้งานระดับ packet มีความน่าเชื่อถือและดูแลง่ายสำหรับผู้พัฒนาปลั๊กอิน โดยรวมการเข้าถึง packet ไว้หลัง API ที่เสถียร เพื่อให้หลายปลั๊กอินสามารถตรวจสอบและเปลี่ยนแปลงทราฟฟิกของ packet ได้โดยไม่ต้องไปเชื่อมกับคลาสภายในของเซิร์ฟเวอร์โดยตรง

⚙️ คุณสมบัติ

  • API แบบ event สำหรับดักจับ packet ขาเข้าและขาออก
  • ตัวอ่าน/เขียนสำหรับฟิลด์ของ packet ที่พบบ่อย (strings, ints, vectors ฯลฯ)
  • ความสามารถในการยกเลิก packet หรือแก้ไขเนื้อหาก่อนถึงปลายทาง
  • เครื่องมือสำหรับสร้างและส่ง packet ฝั่งเซิร์ฟเวอร์
  • ซ่อนคลาสของเซิร์ฟเวอร์ที่ถูก obfuscate ไว้หลังระบบอ่าน/เขียนแบบอิงดัชนี เพื่อเพิ่มความเสถียรข้ามเวอร์ชัน
  • แจกจ่ายเป็น jar ฝั่งเซิร์ฟเวอร์ และสามารถใช้เป็น dependency ตอนคอมไพล์สำหรับการ build ปลั๊กอิน

🧩 เหมาะสำหรับใคร

  • ผู้พัฒนาปลั๊กอินที่ต้องการควบคุมระดับ packet (cosmetics, disguises, client effects แบบกำหนดเอง, เครื่องมือเครือข่าย)
  • ผู้ดูแลเซิร์ฟเวอร์ที่รันปลั๊กอินซึ่งต้องพึ่งการเข้าถึงโปรโตคอลโดยตรง

🏗️ ตัวอย่างการใช้งาน

  • ฟัง packet แชตเพื่อทำการเซ็นเซอร์ฝั่งเซิร์ฟเวอร์ก่อนข้อความจะถูกนำไปใช้
  • ส่ง packet ระเบิดที่ประกอบขึ้นเองไปให้ผู้เล่นเพื่อสร้างเอฟเฟกต์ฝั่งไคลเอนต์โดยไม่เปลี่ยนสถานะของโลก
  • สร้าง disguises, แอนิเมชันแบบกำหนดเอง หรือเอฟเฟกต์ภาพเฉพาะไคลเอนต์อื่น ๆ ที่ต้องใช้การจัดการ packet

⌨️ คำสั่ง

ProtocolLib เองไม่มีคำสั่งสำหรับผู้ใช้; มันเป็นไลบรารีสำหรับนักพัฒนา ไม่ใช่ปลั๊กอินฟีเจอร์

⚙️ การติดตั้ง

📥 การตั้งค่า

  • ดาวน์โหลดไฟล์ jar อย่างเป็นทางการของ ProtocolLib และวางไว้ในไดเรกทอรี plugins/ ของเซิร์ฟเวอร์คุณ
  • รีสตาร์ทเซิร์ฟเวอร์และตรวจสอบคอนโซลเพื่อยืนยันว่าปลั๊กอินโหลดได้โดยไม่มีข้อผิดพลาด
  • เมื่อพัฒนาปลั๊กอินที่ใช้ ProtocolLib ให้เพิ่ม ProtocolLib เป็น dependency ตอนคอมไพล์ และประกาศไว้ใน manifest ของปลั๊กอิน (หรือ soft-depend)

📦 Dependencies

  • ProtocolLib ไม่ต้องใช้ปลั๊กอินเซิร์ฟเวอร์อื่นเพื่อทำงาน; มันถูกออกแบบมาให้ปลั๊กอินอื่นใช้เป็นไลบรารี

🧾 การกำหนดค่า

  • ProtocolLib จะสร้างไฟล์กำหนดค่าของตัวเองเมื่อรันครั้งแรก การกำหนดค่าที่เฉพาะของแต่ละปลั๊กอินจะถูกจัดการโดยปลั๊กอินที่ใช้ ProtocolLib

🧠 หมายเหตุทางเทคนิค

  • ProtocolLib มีจุดเข้าถึง ProtocolManager สำหรับลงทะเบียน packet listener และส่ง packet แบบโปรแกรม
  • โปรเจ็กต์นี้แจกจ่ายภายใต้สัญญาอนุญาต GPL-2.0
  • มีการเผยแพร่ Maven/Gradle coordinates สำหรับใช้เป็น dependency ตอนคอมไพล์
  • ProtocolLib ได้รับการดูแลโดยคำนึงถึงความเข้ากันได้กับ Minecraft server หลายเวอร์ชัน โดยมุ่งเป้าไปที่ซอฟต์แวร์เซิร์ฟเวอร์ที่สืบทอดมาจาก Bukkit เป็นหลัก

🤝 เมื่อปลั๊กอินนี้มีประโยชน์

หากโปรเจ็กต์ของคุณต้องตรวจสอบหรือแก้ไขโปรโตคอล Minecraft ดิบ (สำหรับเอฟเฟกต์ฝั่งไคลเอนต์, visuals แบบกำหนดเอง หรือ network hooks) ProtocolLib จะรวมศูนย์และทำให้งานนั้นเสถียรขึ้น เพื่อให้หลายปลั๊กอินสามารถโต้ตอบกับ packet ได้อย่างปลอดภัย

เซิร์ฟเวอร์ที่มีปลั๊กอิน ProtocolLib

หน้าปลั๊กอิน ProtocolLib แสดงว่าเครื่องมอนิเตอร์พบปลั๊กอินนี้บนเซิร์ฟเวอร์ใด พร้อมแพลตฟอร์มและเวอร์ชันที่เกี่ยวข้อง

ปลั๊กอินอาจเพิ่มคำสั่ง เศรษฐกิจ การป้องกัน สิทธิ์ มินิเกม การเชื่อมต่อ หรือกลไกอื่น ๆ บทบาทจริงของ ProtocolLib ขึ้นอยู่กับการตั้งค่าของแต่ละเซิร์ฟเวอร์

ข้อมูลสร้างอัตโนมัติจากการตอบกลับทางเทคนิคของเซิร์ฟเวอร์ หากเซิร์ฟเวอร์ซ่อนรายชื่อปลั๊กอิน อาจไม่แสดงในส่วนนี้แม้ว่าจะใช้ ProtocolLib

ใช้รายชื่อเซิร์ฟเวอร์ที่มี ProtocolLib เพื่อเปรียบเทียบโปรเจกต์ ตรวจสอบเวอร์ชันที่เข้ากันได้ หรือหาตัวอย่างการใช้งานปลั๊กอินบนเซิร์ฟเวอร์สาธารณะ