ออโตมาตะMP
NieR: Mod ผู้เล่นหลายคนของ Automata
คำเตือน
โครงการนี้เป็นงานระหว่างดำเนินการ แม้ว่าบางประเด็นสำคัญของเกมจะได้รับการสนับสนุนอย่างดี แต่บางประเด็นก็ไม่รองรับ อย่าคาดหวังว่าจะได้เล่นเนื้อเรื่องเต็มกับใครสักคนที่มีโปรเจ็กต์นี้ (ยัง)
ในขณะนี้ โปรเจ็กต์นี้ควรใช้สำหรับการสำรวจโลกขั้นพื้นฐานกับเพื่อน ๆ หรือเล่นในห้องแก้ไขข้อบกพร่องเท่านั้น การซิงค์ภารกิจยังไม่ได้ดำเนินการ บางส่วนของเกมก็จะพังทันที
คุณสมบัติ
เซิร์ฟเวอร์หลัก
- อนุญาตให้ไคลเอนต์ค้นพบเซิร์ฟเวอร์โดยไม่ต้องรู้ IP ล่วงหน้า
เซิร์ฟเวอร์แบบสแตนด์อโลน
- เซิร์ฟเวอร์ที่เข้ารหัสใน Go ที่สามารถทำงานบน Linux หรือ Windows
- ระบบ MasterClient เพื่ออนุญาตให้มี "โฮสต์" ที่ควบคุมโลกของเกม (ศัตรูและสถานะโลกอื่น)
- รองรับผู้เล่นมากกว่า 2 คน ไม่ใช่แค่ผู้เล่น + เพื่อน
แพ็คเกจลินุกซ์
อาร์คลินุกซ์ (AUR)
- เวอร์ชันที่ติดแท็ก
- เวอร์ชันคอมไพล์
ผู้เล่นซิงค์
- ตำแหน่ง
- การหมุน
- ภาพเคลื่อนไหว
- การยิงพ็อด
- โปรแกรมพ็อด
- ไฟฉายพ็อด
- การเลือกอาวุธ/ชุดอุปกรณ์ (แต่ไม่ใช่ประเภทอาวุธจริง)
ศัตรูซิงค์
- จำลองการวางไข่ของศัตรูในขณะที่ MasterClient วางไข่
- ลบศัตรูบนฝั่งไคลเอ็นต์ปกติที่ไม่ควรเชื่อมต่อเครือข่าย
- ตำแหน่ง
- การหมุน
- สุขภาพ/สภาวะความเป็นอยู่
- ภาพเคลื่อนไหวบางส่วน
คุณสมบัติที่วางแผนไว้/ต้องการ
- ตัวเปลี่ยนโมเดล
- พีวีพี
- ระบบห้องพัก/ล็อบบี้
- ระบบ Ghost เมื่อไม่ได้เชื่อมต่อกับห้อง/ล็อบบี้
ประวัติศาสตร์
Mod ที่ถูกพัฒนาย้อนกลับไปในปี 2017 และมีการพัฒนาที่สั้นมากก่อนที่ผมจะย้ายไปทำอย่างอื่น สิ่งนี้ไม่ใช่โอเพ่นซอร์สและเผยแพร่เร็วกว่านี้เนื่องจากไลบรารีที่อยู่เบื้องหลังเวอร์ชันดั้งเดิมไม่เป็นมิตรกับโอเพ่นซอร์ส
เนื่องจากนี่เป็นโค้ดที่ค่อนข้างเก่าแต่เดิมไม่ได้ตั้งใจที่จะเผยแพร่ต่อสาธารณะ มาตรฐานการเข้ารหัสจึงไม่ขึ้นอยู่กับชุดปัจจุบันของฉัน โปรดให้อภัยสิ่งนี้ มันอาจจะได้รับการแก้ไขเมื่อเวลาผ่านไป
ปลายเดือนสิงหาคม 2560
- การพัฒนาเริ่มขึ้น
- วิศวกรรมย้อนกลับมากมาย
- ระบบการเขียนสคริปต์ (mruby?)
- ระบบเอนทิตี
- ระบบบัดดี้
- แอนิเมชั่น, ปุ่ม
- เพิ่ม enet & enetpp เพื่อเชื่อมต่อระบบเหล่านี้กับผู้เล่นหลายคน
- เซิร์ฟเวอร์ถูกโฮสต์โดยตรงภายในตัวดัดแปลง ไม่ใช่โปรแกรมแบบสแตนด์อโลน
- ไคลเอนต์/เซิร์ฟเวอร์สื่อสารกับข้อมูลโครงสร้างดิบที่กำหนดใน C++
- ระบบใช้ VEH hooks เพื่อเชื่อมต่อส่วนกลางของฟังก์ชันและดึงข้อมูลบริบทของ CPU
ต้นเดือนกันยายน 2560
- โปรเจ็กต์ถูกยกเลิก มีการบันทึกวิดีโอสั้นๆ บางส่วนที่ดำเนินการอยู่
2017-09-01_06-35-26.webm
ปลายเดือนกรกฎาคม 2565-ปัจจุบัน
- โครงการได้รับการฟื้นฟู
- การผสมผสานระหว่างการพาดหัวข่าวของ NieR เครื่องมือการม็อดที่เผยแพร่ และฉันได้รับการติดต่อเพิ่มเติมเกี่ยวกับแรงจูงใจที่นี่
- ฉีกโค้ดใด ๆ ที่ไม่เป็นมิตรกับโอเพ่นซอร์สออกและแทนที่ทุกอย่างด้วยโอเพ่นซอร์สที่เทียบเท่ากัน
- รหัสเซิร์ฟเวอร์ถูกวางลงในโปรเจ็กต์ Go แบบสแตนด์อโลนที่สามารถทำงานได้บน Linux หรือ Windows
- รหัสไคลเอ็นต์/เซิร์ฟเวอร์ได้รับการปรับโครงสร้างใหม่เพื่อใช้ flatbuffer สำหรับโครงสร้างแพ็กเก็ต
- ระบบใหม่ใช้ MidHook จาก Safetyhook เพื่อใช้งาน Mid Function Hook และดึงข้อมูลบริบท
- ซึ่งเร็วกว่ามากและไม่มีข้อเสียของการไม่ปลอดภัยสำหรับเธรด
- การปรับโครงสร้างโค้ดไคลเอ็นต์เริ่มรักษามาตรฐานปัจจุบันและสะท้อนโครงสร้างเกมจริงได้ดีขึ้น
- ลิซาร์ดี:
- แก้ไขข้อผิดพลาดในการเชื่อมต่อและสร้างใหม่เล็กน้อย