Description
继上次实现迷你世界与我的世界联机后,我又突发奇想,开始尝试生存战争 2 的兼容项目。
这次使用的是:
- 我的世界国际基岩版 1.26.0(上次是 1.21.50)
- 生存战争 2.4 联机版
依旧用 Go 语言开发,目前已经完成了生存战争 2 存档解析与方块翻译,网络协议部分也写了雏形,但联机功能先放一放,后续再完善。
生存战争 2 的方块格式真的非常折磨:
一个 int32 里同时塞了方块 ID、亮度、特殊值,全程靠位运算拆包、打包,逻辑极其繁琐。
我的解决思路是参考 gophertunnel 的 protocol.IO 设计,自己实现了一套支持双向读写的 bit.IO ,再通过一个统一的 Marshal 函数完成编码与解码,用起来还算方便。
之后又手动枚举了生存战争 2 里100 多种带特殊值的方块,一个个对照、映射,属实累麻了。
像箱子这类带有特殊 NBT/数据的方块逻辑还没写完,后续慢慢补全。
2 月 24 号开学后,能写代码的时间大幅压缩,基本只有周末能抽空推进。
同时还在重构之前的迷你世界翻译器,所以这次更新进度比较慢,望理解。
最后统一说下开源问题:
目前暂时不会开源。我不确定相关官方是否允许这类项目,风险暂不明确,所以先不开源。
也请不要再私信问我开源相关的问题了,感谢理解。
这里在额外 @ 几个,联合创作人数不够了:@jiru114514 @cat7street @坤寻
Comments
观后感:
♥ 4350 ↩ 27
我是存档转换首赢大王。
♥ 2638 ↩ 34
再加个奶块和hytale[doge]
♥ 1568 ↩ 33
🥹
♥ 1756 ↩ 12
这个奖颁发给UP主
♥ 1308 ↩ 9
世纪大和解
♥ 989 ↩ 3
你说在这样下去是不是还能适配泰拉
♥ 419 ↩ 60
下期预告: 【全网首发】我的世界/地球online跨平台联机
♥ 574 ↩ 26
直接快进到全体沙盒游戏大一统时代[笑哭][笑哭][笑哭]
♥ 233 ↩ 1
原来?和平的终点不是共存,而是,求同存异。。。。师傅我悟了!
♥ 154 ↩ 1
NB兄弟NB[支持] 此时某些人又坐不住了
♥ 136 ↩ 5
一战老兵:
♥ 119
要成为古人了,快合个影[胜利][呲牙][胜利]
♥ 211 ↩ 54
感觉不亚于秦始皇统一度量衡[笑哭]
♥ 94 ↩ 4
我在想这样都能互通了,那么是不是某一天网易版可以和国际版联机()
♥ 82 ↩ 11
没有的方块会变成什么,还是直接消失
♥ 81 ↩ 15
合影,准备当古人[米塔动态_爱心][米塔 第二弹_米拉思考]
♥ 119 ↩ 39
我的迷你生存战争
♥ 57 ↩ 3
@是只耶吧 生存战争的语言是基于C++,主要系统是老k自己开发的,他整了很多反编译,如有需要可以,可以@我
♥ 56 ↩ 4