额外工具 Extra Tools
DDNet 命令行工具完整列表,包含地图优化、配置管理和测试工具
来源: https://wiki.ddnet.org/wiki/Extra tools
额外工具用于执行玩家游玩行为之外的其他任务,例如:
- 地图作者对地图进行优化
- 开发者进行测试和故障排除
不管是先添加它们的路径到 PATH 变量还是直接输入路径,这些工具都必须通过命令行(例如 Windows 的 cmd 界面或是 Linux 的 Terminal 终端)运行。
获取额外工具
这些工具不会在 DDNet 游戏内或游戏下载页中出现。
制图相关工具可以在下载页面的 Graphics Tools 子页面找到不同平台的版本。
这些额外工具可以在 DDNet 源码 下的 src/tools 路径内找到。
额外工具列表
下面是这些工具的详细说明。
config_retrieve
示例:
config_retrieve map_file功能:
检索 DDNet 地图文件内置的参数,然后写入保存到与地图名字相同的一个配置文件。
示例:对地图文件 Kobra 4.map 使用会将它的参数写入到 Kobra 4.cfg。
- 自 DDNet 9.0 版本后可用
config_store
示例:
config_store map_file功能:
从配置文件将参数写入保存到地图文件,如果配置文件和地图文件名字不同或者不在同一路径下将会操作失败。
如果两个文件的参数原本就一致,则不会执行操作并显示:
configs coincide, not updating map- 自 DDNet 9.0 版本后可用
crapnet
示例:
crapnet功能:
用于测试客户端和服务器的本地连接和传送请求(ping)。
输出:
- 掉包会显示
dropped packet - 成功则显示
cfg = number,其中 number 取值为 0 到 2
dilate
示例:
dilate image_file1 image_file2 ...功能:
这个图形工具对地图作者比较友好。它可以为游戏内图片描边和锐化,防止混淆不同地图结构。
更多信息请查阅 Edge padding。
注意:这只对 RGBA 格式的图片生效。例如 PNG 文件可用而 JPEG 文件不可用。
dummy_map
示例:
dummy_map功能:
创建一个空的分身小地图来启动服务器。
更多信息请参阅 github。
fake_server
示例:
fake_server功能:
为测试创建一个临时的虚拟服务器。
map_convert_07
示例:
map_convert_07 src_map_file dest_map_file功能:
对于那些只能兼容 Teeworlds 的 6.x 版本的地图文件,使用这一命令可以将文件转变为兼容 7.x 版本并保存为 dest_map_file。
错误回显:
- 自 DDNet 12.9 版本后可用
map_diff
示例:
map_diff map_file1 map_file2功能:
对比两个地图文件并根据对比结果输出报告:
返回值:
- 当地图之间没有差异时返回 0
- 否则返回 1
map_extract
示例:
map_extract map_file directory功能:
提取地图文件中的目录到路径参数 directory,如果没有设置参数 directory 则会提取到当前路径。
map_optimize
示例:
map_optimize source_map_filepath dest_map_filepath功能:
优化地图文件(参见 工作原理),然后将输出保存到 dest_map_filepath。
如果没有设置参数 dest_map_filepath 则将默认输出保存到路径文件 out/source_map_filename.map。
注意:优化后地图中嵌入的图片文件名会从
originalname改为originalname_cut_newSHA256(此处 newSHA256 是嵌入地图的图片优化时采用的 sha256 算法)。这一重命名旨在提醒使用者:地图文件中使用的 mapres 会在优化时被更改。
返回值:
-
如果打开源文件或者目标文件出错将返回 -1
-
自 DDNet 15.5.4 版本后可用
map_replace_image
示例:
map_replace_image map_file1 map_file2 imagename image_file功能:
使用图片路径 image_file 下的文件替换当前存在于地图文件 map_file1 中的图片 imagename,然后另存为地图文件 map_file2.map。
注意事项:
- 两个地图文件都必须在使用者的默认 DDNet 文件夹目录下
- 新的图片路径可以是绝对路径也可以是当前目录下的相对路径
map_resave
示例:
map_resave map_file image_file功能:
用指定的图片文件更新地图文件 map_file.map。
错误代码 255:
- 提供了两个以上的参数
- map_file.map 不是有效的地图文件
- image_file 不是有效的图片文件(例如文本文件)
其他情况:返回 0
packetgen
示例:
packetgen功能:
生成并发送网络包到端口 127.0.0.1:8303(默认的本地服务器端口),用以测试和本地服务器的联络。
unicode_confusables
示例:
unicode_confusables string1 string2功能:
对比两串字符串并报告它们是否容易混淆。
示例:如果字母本身相同而差异在于变音符号或者各种角标,例如 aa 和 aá 中的 a 有可能与 á 混淆。
返回值:
-
如果容易混淆则会返回
not_confusable=0 -
否则返回
not_confusable=1 -
自 DDNet 10.3.5 版本后可用
DDNet 12.9 更新:获得了 Unicode 12.0 支持,并且工具名称从
confusables改为unicode_confusables。
uuid
示例:
uuid name功能:
显示指定的 name 的 uuid。
UUID 系统说明:
唯一编号识别系统(uuid)旨在独立作者之间无冲突地创作内容,例如说两个作者制作了同名的文件,则系统会通过赋予文件相互不同的编号(id)将它们区分开,这样在提及文件时不会将它们混淆,明显比旧系统中混乱的事物命名要方便合理。
此系统可以在以下方面运作:
- 引擎
- 游戏信息
- 快照
- 大事件
返回值:
-
如果没有设置参数 name 则会返回错误代码 255
-
自 DDNet 10.6.1 版本后可用
工具分类总结
小提示
- 这些工具需要通过命令行运行,不会出现在游戏内
map_optimize可以减小地图文件大小,但会重命名嵌入的图片config_retrieve和config_store用于在地图文件和配置文件之间传输设置dilate工具只对 RGBA 格式(如 PNG)有效,JPEG 不可用map_convert_07可以将旧版 6.x 地图转换为 7.x 兼容格式unicode_confusables用于检测容易混淆的用户名(防止冒充)- UUID 系统确保不同作者创建的同名内容不会冲突