自动机MP
尼尔:机械纪元多人模式
警告
该项目正在进行中。虽然游戏的一些重要方面得到了很好的支持,但有些方面却没有得到很好的支持。不要指望与参与此项目的人一起玩完整的故事(目前为止)。
目前,这个项目应该只用于与朋友一起进行基本的世界遍历和探索,或者在调试室中玩。任务同步尚未实现。游戏的某些部分将直接被破坏。
特征
主服务器
独立服务器
- 使用 Go 编码的服务器,可以在 Linux 或 Windows 上运行
- MasterClient系统允许“主机”控制游戏世界(敌人和其他世界状态)
- 支持2个以上玩家,不仅仅是玩家+好友
Linux 软件包
Arch Linux (AUR)
玩家同步
- 位置
- 旋转
- 动画
- 吊舱发射
- Pod 程序
- 吊舱手电筒
- 武器/装备选择(但不是实际武器类型本身)
敌人同步
- 当 MasterClient 生成敌人时复制它们
- 删除普通客户端上不应该联网的敌人
- 位置
- 旋转
- 健康/存活状态
- 一些动画
计划/想要的功能
- 模型变换器
- 玩家对战
- 房间/大堂系统
- 未连接到房间/大厅时的幽灵系统
历史
Mod 是在 2017 年开发的,在我转向其他事情之前开发了很短的时间。由于原始版本背后的库不是开源友好的,因此它不是开源的并且发布得较早。
因为这是相当旧的代码,最初并不打算公开发布,所以编码标准不符合我当前的设定。请原谅这一点。随着时间的推移,它可能会被修复。
2017年8月下旬
- 开发开始
- 大量逆向工程
- 脚本系统(mruby?)
- 实体系统
- 好友系统
- 动画、按钮
- 添加了enet和enetpp,将这些系统连接到多人游戏
- 服务器直接托管在 mod 本身内部,而不是独立程序
- 客户端/服务器与 C++ 中定义的原始结构数据进行通信
- 系统使用 VEH 挂钩来挂钩函数中间并检索 CPU 上下文
2017年9月初
2017-09-01_06-35-26.webm
2022 年 7 月下旬至今
- 项目已恢复
- NieR 成为头条新闻、模组工具的发布以及我的联系都增强了我的动力
- 删除所有不开源友好的代码,并用开源等效代码替换所有内容
- 服务器代码被放置在一个独立的 Go 项目中,可以在 Linux 或 Windows 上运行
- 客户端/服务器代码重构为使用平面缓冲区作为数据包结构
- 新系统使用 safetyhook 中的 MidHook 来执行中间函数挂钩并检索上下文
- 客户端代码重构开始符合当前标准并更好地反映实际的游戏结构
- 蜥蜴: