Extra tools/zh: Difference between revisions

From DDraceNetwork
(Created page with "''自DDNet 12.9版本后可用''")
(Created page with "提取地图文件''map_file''中的目录到路径参数''directory'',如果没有设置参数''directory''则会提取到当前路径。")
Line 90: Line 90:
  示例:map_extract ''map_file'' [''directory'']
  示例:map_extract ''map_file'' [''directory'']


提取地图文件''map_file''中的目录到路径参数''directory'',如果没有设置参数''directory''则会提取到当前路径。
提取地图文件''map_file''中的目录到路径参数''directory'',如果没有设置参数''directory'' 则会提取到当前路径。


=== map_optimize ===
=== map_optimize ===

Revision as of 11:32, 22 June 2023

额外工具用于执行玩家游玩行为之外的其他任务,例如地图作者对地图进行优化,或是开发者进行测试和故障排除。不管是先添加它们的路径到PATH变量还是直接输入路径,这些工具都必须通过命令行(例如Windows的cmd界面或是Linux的Terminal终端)运行。

获取额外工具

这些工具会在DDNet游戏内或游戏下载页中出现。制图相关工具可以在下载页面的Graphics Tools子页面找到不同平台的版本。

这些额外工具可以在DDNet源码下的src/tools路径内找到。

额外工具列表

下面是这些工具的详细说明。

config_retrieve

示例:config_retrieve map_file

检索DDNet地图文件map_file内置的参数,然后写入保存到与地图名字相同的一个配置文件。例如对地图文件Kobra 4.map使用会将它的参数写入到Kobra 4.cfg。

  • 自DDNet 9.0版本后可用

config_store

示例:config_store map_file

从配置文件将参数写入保存到地图文件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版本的地图文件src_map_file ,使用这一命令可以将文件转变为兼容7.x版本并保存为dest_map_file 。这一命令在不同情况下执行失败则会有不同回显:

  • 如果提供的参数不正确会显示用法示例;
  • 如果在打开源文件src_map_file 时出错则会显示failed to open source map
  • 如果在打开目标文件dest_map_file 时出错则会显示failed to open destination map
  • 如果磁盘空间不足或有其他存储问题则会显示error loading storage
  • 如果在打开PNG图片时出错则会显示failed to open image file
  • 如果图片格式错误则会显示invalid image format

自DDNet 12.9版本后可用

map_diff

示例:map_diff map_file1 map_file2

对比两个地图文件并根据对比结果输出报告:

  • 地图相同则显示no diff output ;
  • 如果两个地图的图层数不一样则显示different layer numbers
  • 如果层数一致但是层中实体不一样则显示different tile layers
  • 其他情况则显示指标和旗帜位置的差异。

当地图之间没有差异时返回0,否则返回1。

map_extract

示例:map_extract map_file [directory]

提取地图文件map_file中的目录到路径参数directory,如果没有设置参数directory 则会提取到当前路径。

map_optimize

示例:map_optimize source_map_filepath [dest_map_filepath]

Optimizes the map file in the source_map_filepath given (see how it works) and stores the output in the given dest_map_filepath; if dest_map_filepath is unset, output path defaults to out/source_map_filename.map, stripping the path and the extension of the source file.

Note the name of the embedded images optimized is changed from originalname to originalname_cut_newSHA256 (where newSHA256 is the new sha256 of the embedded optimized image). It is renamed is to make clear it was optimized because this tool will make changes in the mapres used by the map file.

If failed to open source or target file, returns -1.

Available since: DDNet 15.5.4

map_replace_image

示例:map_replace_image map_file1 map_file2 imagename image_file

Replaces the image imagename currently inside the map filename map_file1 with the image filepath image_file, and save into the map filename map_file2.map.

Please note:

  • Both map filenames must be relative to user default DDNet folder
  • New image filepath can be absolute, or relative to the current directory

map_resave

示例:map_resave map_file image_file

Updates the map file map_file.map with the provided file image_file.

The error status 255 is returned if 1) a number of arguments different from 2 is provided, 2) if the map_file.map is not valid, or 3) if image_file is not a valid image file (e.g. it is a text file); otherwise, return 0.

packetgen

示例:packetgen

Generates and sends network packets to 127.0.0.1:8303 (localhost, in default server port) to test communication with a local server instance.

unicode_confusables

示例:unicode_confusables string1 string2

Compares string1 with string2 and report if they are "confusable", i.e. if the characters are "equal" and could cause confusion. For this to work, the characters with accents or other things around them are considered the "confusable" with the base character. Therefore, aa and are confusable (á was considered as a), while aa and ab are not.

If they are confusable, it returns not_confusable=0, otherwise, returns not_confusable=1.

Available since: DDNet version 10.3.5

New in DDNet version 12.9: Unicode 12.0 support and the tool name was renamed from confusables to unicode_confusables.

uuid

示例:uuid name

Prints uuid for the provided name.

The uuid system was implemented to be easily extended by independent authors without collisions, something that the old system – with increasing integers – did not allow. This works for engine and game messages, snapshot items and events.

Exits with error status 255 if name is not provided.

Available since: DDNet 10.6.1