
Darkwood 联机框架终于有点进度了
2026-08-09 00:00:00
# Darkwood
# 开发记录
# 多人联机
最近在做的 Darkwood 联机框架已经有个大体的模样了。它是基于 BepInEx、Harmony、Mirror 和 Telepathy 写的实验性框架,主要给局域网、Radmin VPN、ZeroTier 这类环境使用。
现在基本的联机流程已经能跑起来:主机可以带最多 7 个远端玩家,客户端连接后会自动下载主机存档,不需要再手动复制文件。玩家替身、位置和动画、普通攻击和特殊攻击也已经接上了,敌人、门窗、场景物品和容器的状态同步正在逐步补齐。
今天主要修的是“进世界后突然断线”的问题。之前客户端请求主机发送权威世界快照时,主机会在一帧里处理太多实体,偶尔会把 Mirror 的消息处理直接打崩。这一版改成了排队分帧发送,每帧只处理一部分实体,单个对象出错也不会拖垮整个连接,断线后的清理也补了一遍。
因为Darkwood 本身不是按多人游戏设计的,所以很多对象没有现成的网络 ID,存档和世界状态的一致性也比想象中麻烦,真的很麻烦...
而且因为我没有第二台设备,所以进行不了实际的测试,也不清楚能否跑得起来,只能后面找朋友帮忙测试了。
总之,现在算是把主要骨架搭起来了,接下来重点就是找几台电脑实际玩一会儿。
希望一切顺利。
GitHub 评论登录尚未配置完成
缺少:Client ID、评论仓库名、仓库所有者、管理员账号。 请在博客管理器的“评论系统配置”中填写 GitHub OAuth App 和评论仓库信息后重新部署。
