เซิร์ฟเวอร์ Minecraft มาเป็นขวดเดียว mods พัฒนาขึ้นอย่างไร? พวกมันมีปฏิสัมพันธ์อย่างไรกับขวดดั้งเดิม? ภายใต้ประทุนมีอะไรบ้าง?
มีเทคโนโลยีใดบ้างที่เกี่ยวข้อง ฉันส่วนใหญ่เป็นคน C ++ / Python แต่ฉันต้องการเรียนรู้บางอย่างเกี่ยวกับการพัฒนา mods
เซิร์ฟเวอร์ Minecraft มาเป็นขวดเดียว mods พัฒนาขึ้นอย่างไร? พวกมันมีปฏิสัมพันธ์อย่างไรกับขวดดั้งเดิม? ภายใต้ประทุนมีอะไรบ้าง?
มีเทคโนโลยีใดบ้างที่เกี่ยวข้อง ฉันส่วนใหญ่เป็นคน C ++ / Python แต่ฉันต้องการเรียนรู้บางอย่างเกี่ยวกับการพัฒนา mods
คำตอบ:
JAR เป็นเพียงไฟล์ ZIP ที่มีไฟล์คลาสที่หลากหลายและข้อมูลเมตาอื่น ๆ ที่ใช้ซึ่งเป็นรูปแบบมาตรฐานที่สมบูรณ์
สามารถแตกไฟล์ ZIP และไฟล์คลาสสามารถแก้ไขได้ตามความจำเป็นสำหรับการแก้ไข จากนั้นไฟล์ที่ถูกแก้ไขจะถูกเพิ่มกลับเข้าไปในไฟล์เก็บถาวรซึ่งทำให้เซิร์ฟเวอร์ใช้ไฟล์ที่ถูกแก้ไขแทนที่จะเป็นไฟล์ดั้งเดิม
ในทางเทคนิคแล้ว Minecraft mods เป็นเวอร์ชั่นดั้งเดิมของการแฮ็กรหัสดั้งเดิมไฟล์คลาสไบนารีจริงจะต้องได้รับการแก้ไขเพื่อให้เกมรู้เกี่ยวกับสิ่งใหม่ ๆ ยังไม่มีการสนับสนุน mod อย่างเป็นทางการ (แม้ว่า Notch ระบุว่าจะใช้งานได้ในช่วงเบต้า)
แน่นอนว่านั่นไม่ใช่วิธีที่ดีในการทำสิ่งต่าง ๆ ถ้าคุณออกแบบ mods อย่างจริงจัง แต่คุณจะออกแบบสถาปัตยกรรมปลั๊กอินบางประเภทซึ่งอนุญาตให้โค้ดที่กำหนดเองทำงานตามความเหมาะสม วิธีที่คุณจะทำเกี่ยวกับสิ่งนี้ขึ้นอยู่กับสิ่งที่คุณต้องการให้ mods ของคุณสามารถทำได้ - เช่นถ้าความปลอดภัยเป็นเรื่องที่น่ากังวลคุณอาจต้องการออกแบบ mod interface ให้ใช้สคริปต์บางอย่างเพื่อให้คุณสามารถ จำกัด mod ได้ ทุกสิ่งในคอมพิวเตอร์ของผู้ใช้
ผู้เล่นเดี่ยว mods ถูกแฮ็กของรหัสต้นฉบับ ตอนนี้ผู้เล่นหลายคนแตกต่างกัน พวกเขาเกือบทั้งหมดใช้ตัวห่อหุ้มเซิร์ฟเวอร์ของ hey0 ซึ่งลิงก์ใน minecraft_server.jar (หรือคำใดก็ตามที่อยู่ใน Java land) แต่กำหนดคลาสฟังก์ชั่นของตัวเองโอเวอร์โหลดบางส่วนของฟังก์ชั่นหลักและรัน main ()
สำหรับข้อมูลของคุณ Mojang จะเปิดตัว "Mod API" ในอนาคตอันใกล้ (ในช่วงเบต้าดังนั้นก่อนที่จะมีการเปิดตัวอย่างเป็นทางการซึ่งจะประมาณเดือนพฤศจิกายน 2554)
ในความเป็นจริงมันจะเป็นซอร์สโค้ดแบบเต็มตามที่ระบุไว้ในบล็อกของ Notch
http://notch.tumblr.com/post/4955141617/the-plan-for-mods
แต่ตอนนี้คุณต้อง "decompile" jars เพื่อดูโค้ดที่ obfuscated บางส่วนและทำการคอมไพล์ใหม่เพื่อการใช้งาน / การดีบักในภายหลัง
ในการทำเช่นนี้ฉันขอแนะนำ Minecraft Coder's Pack http://mcp.ocean-labs.de/index.php/MCP_Releases
มีบทเรียนการ modding สองสามตัวในฟอรัมด้วยเช่นนี้: http://www.minecraftforum.net/topic/96862-creating-mods-modding-tutorials-21511/