使用这个仓库,你可以从DST Dedicated Server的文件或者存档里,提取出lua数据并输出为JSON。
执行这里的脚本需要lua5.1或者luajit。
extract-worldgen-vanilla: 从服务端的源码里提取出世界生成時所使用的设置选项extract-mod-config: 从modinfo.lua里提取出Modの基本信息以及设置选项convert-worldgen-override: 从worldgenoverride.lua或者leveldataoverride.lua里提取出玩家所设置的世界选项convert-mod-override: 从modoverrides.lua里提取出玩家所设置的Mod设置选项
-
extract-worldgen-mod: 提取出由Mod所添加的创建世界时的选项 (Island Adventures,Uncompromising Mode等等)
- 需要用到
unzip命令。 output_dir_path的默认值为./output/worldgen。${dst_version}必须是数字。例如593204。- 版本号存储在
${path_to_dst_server_dir}/version.txt中。
- 版本号存储在
- 输出的JSON结构
lua extract-worldgen-vanilla.lua ${path_to_dst_server_dir}
lua extract-worldgen-vanilla.lua ${path_to_dst_server_dir} ${output_dir_path}
lua extract-worldgen-vanilla.lua ${dst_version} ${path_to_unzipped_scripts_dir}
lua extract-worldgen-vanilla.lua ${dst_version} ${path_to_unzipped_scripts_dir} ${output_dir_path}
# scripts.zip 的路径为 /root/server/data/databundles/scripts.zip 的话
lua extract-worldgen-vanilla.lua /root/server
# output_dir_path/
# ├── ......
# ├── en.forest.master.json
# ├── en.cave.master.json
# ├── en.forest.json
# └── en.cave.jsonoutput_dir_path的默认值为./output/modconfig。- 不指定
lang_code的话默认为en。- 你也可以指定别的语言码,但如果Mod不支持的话应该会变成英语。
- 输出的JSON结构
lua extract-mod-config.lua ${path_to_target_mod_dir}
lua extract-mod-config.lua ${path_to_target_mod_dir} ${output_dir_path}
lua extract-mod-config.lua ${path_to_target_mod_dir} ${output_dir_path} ${lang_code}output_dir_path的默认值为./output/modconfig。- 输出的JSON结构
lua convert-worldgen-override.lua ${path_to_shard_dir}
lua convert-worldgen-override.lua ${path_to_shard_dir} ${output_dir_path}output_dir_path的默认值为./output/modconfig。- 输出的JSON结构
lua convert-mod-override.lua ${path_to_shard_dir}
lua convert-mod-override.lua ${path_to_shard_dir} ${output_dir_path}