Extra tools are available for running some non-gaming-related tasks, like map optimization by mappers, or debugging and testing by developers. These tools must be run from command-line interface (e.g. Command Prompt on Windows or Terminal on Linux) either by adding their containing directory to the PATH variable or by running directly from the containing directory.
Getting the extra tools
These tools are not provided in the binary DDNet game in the Downloads page. Having that said, extra tools mapping-related can be download for different platforms in the Downloads page, under the name "Graphics Tools".
List of extra tools
See below the list and description of the tools.
Retrieves configuration embedded in a DDNet map file map_file and stores it in a DDNet map configuration file with same filename (e.g. "Kobra 4.map" returns "Kobra 4.cfg")
Available since: DDNet 9.0
Stores configuration from a map's configuration file into the map_file. Both configuration and map files must have the same filename in the same directory, otherwise the operation will fail.
If there is no difference between the configuration to stored and the configuration embedded in the map, then operation will be canceled with message
configs coincide, not updating map.
Available since: DDNet 9.0
Tests connection by setting a client–server connection locally and running ping between them. Reports dropped packets with message
dropped packet and successes with
cfg = number, where number varies from 0 to 2.
dilate image_file1 [image_file2 ... ]
It is a graphics tool, mainly useful for mappers. It takes care of transparent areas to prevent black/white outlines around your images ingame, therefore avoiding blending and mipmap issues. See Edge padding for more info.
Note this works only in RGBA image files. So, it will not work for, for instance, in JPEG files.
Creates a dummy, small empty map to be used to start a server. See  for more info.
Creates a fake server for testing.
map_convert_07 src_map_file dest_map_file
dest_map_file compatible with Teeworlds version 7.x that otherwise it would be compatible only with Teeworlds version 6.x. If successfully, it creates a valid 07-compatible destination map; otherwise, it returns one of the following:
- an usage message if incorrect arguments are provided
failed to open source mapif an error happens when opening the source map
failed to open destination mapif an error happens when opening the destination map
error loading storageif failed to open storage for some reason
failed to open image fileif error happens on opening PNG image
invalid image formatif incorrectly formatted PNG.
Available since: DDNet 12.9
map_diff map_file1 map_file2
Compares two map files, reporting one of the follow:
- no diff output, meaning the maps are the same
different layer numbers, if one map has more layers than another
different tile layers, if the number of layers is the same, but at least one layer is different
- lastly, the index and flags positions that differ.
If there is no difference between maps, returns 0; otherwise, returns 1.
map_extract map_file [directory]
Extracts contents from map_file into the directory. If optional argument directory is not provided, extracts to the current directory.
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 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
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_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.
- 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_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.
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 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 aá are confusable (á was considered as a), while aa and ab are not.
If they are confusable, it returns
not_confusable=0, otherwise, returns
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.
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