sukeme / DstServerHelper

自动处理饥荒联机版(Don't Starve Together)服务器的游戏更新、模组更新、崩溃、重置等,为服主分忧。
38 stars 2 forks source link

延伸功能提问 #3

Closed MCC88432 closed 1 year ago

MCC88432 commented 2 years ago

功能非常棒,在线生成存档的功能也非常棒,请问在线生成存档功能会开源么,生成存档和维护一起是不是开服更容易了。

sukeme commented 2 years ago

简单的开服已经有类似的项目 https://github.com/qinming99/dst-admin ,确实有自己做一个的想法,但暂时还有一些问题没有解决。 比如想做地图解析,但是找不到解密地图信息的方式;比如模组对世界设置等的修改。大概解决这些问题之后才会开始做。 在线生成存档暂时也只是一个 demo,比如不同的世界预设、上一条说的兼容模组对世界设置的修改,代码也比较粗糙,所以现在的版本不想开源。

MCC88432 commented 2 years ago

我觉得做得很棒,用的什么语言做的呀,有计划接收队员贡献者么,哈哈哈。dst-admin我也改了自用版本,加了一些功能,但是我觉你这个完全可以在线开服了,根本不用本地了

sukeme commented 2 years ago

demo 是用的 python 的 flask。 如果你愿意帮忙且对 klei 的代码有一定了解,可以帮忙看下怎么实现 添加会修改世界设置的模组后,获取这些被修改的数据,相关代码主要在 /script/mods.lua 和 /script/modindex.lua。 现在的版本说是 demo 也是因为没有解决这个,导致一些玩法 mod 没法在线配置。不能弄好这个的话就和 dst-admin 差别不大,毕竟这个维护脚本属于开完就不用再管的类型。

MCC88432 commented 2 years ago

你是说,解析像樱花林、more food pack有自身地形设置的类别的mod么

sukeme commented 2 years ago

这两个我没有了解过,我主要指 熔炉、Island Adventures 这类,客户端添加mod后,会添加自定义模式、在世界设置界面添加特有设置项 等等。 下周五的 qol 更新会修改这一部分代码,暂时准备更新后看下能不能解决。

MCC88432 commented 2 years ago

可以先检测该类mod,替换cluster init文件?把类型重写掉然后替换世界设置?

sukeme commented 2 years ago

不可行,这样需要每个模组都人工判断一下需要不要兼容处理,而且也不可能每次更新都去做兼容,必须要有自动解析处理的方法

MCC88432 commented 2 years ago

可以更新迭代的吧,现在也只有熔炉、海钓和岛屿冒险特殊

sukeme commented 2 years ago

其实有很多,熔炉 暴食 海难 海钓 starvefloor samsh 这还只是我简单收集到的。如果有更新或出现新模组也需要尽快兼容,而且我不愿意做这种给模组打补丁的事

MCC88432 commented 2 years ago

可以先等更新,配置变了