Jump to content

Extra tools/ru: Difference between revisions

From DDraceNetwork
Lolipod (talk | contribs)
Created page with "''Доступно с версии: DDNet 15.5.4''"
FuzzyBot (talk | contribs)
Updating to match new version of source page
 
(39 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages />
'''''Дополнительные утилиты''''' предназначены для некоторых задач, не связанных с игровым процессом, по типу оптимизации карт для мапперов, или отладки и тестирования для разработчиков. Эти утилиты должны запускаться из command-line интерфейса (вроде Командной строки в Windows или Терминала в системах на базе ядра Linux) either by adding their containing directory to the PATH variable or by running directly from the containing directory.


'''''Дополнительные утилиты''''' предназначены для некоторых задач, не связанных с игровым процессом, по типу оптимизации карт для мапперов, или отладки и тестирования для разработчиков. Эти утилиты должны запускаться из консольного интерфейса (вроде Командной строки в Windows или Терминала в системах на базе ядра Linux) либо путем добавления содержащего их каталога в системную переменную PATH, либо путем запуска непосредственно из содержащего каталога.


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Getting_the_extra_tools"></span>
== Getting the extra tools ==
<div class="mw-translate-fuzzy">
== Получение дополнительных утилит ==
</div>
</div>


Эти утилиты '''не''' поставляются в комплекте с бинарными файлами DDNet со [https://ddnet.org/downloads/страницы загрузки]. Having that said, extra tools mapping-related can be download for different platforms in the Downloads page, under the name "Graphics Tools".
Эти утилиты '''не''' поставляются в комплекте с бинарными файлами DDNet со [https://ddnet.org/downloads/ страницы загрузки]. При этом дополнительные инструменты, связанные с маппингом, можно скачать для различных платформ на странице "Загрузки" под названием "Графические инструменты".
 
Эти и другие дополнительные инструменты (перечисленные ниже) можно найти на [https://github.com/ddnet/ddnet GitHub] в каталоге [https://github.com/ddnet/ddnet/tree/master/src/tools src/tools].


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="List_of_extra_tools"></span>
These and other extra tools (listed below) can be found on the [https://github.com/ddnet/ddnet DDNet source code] under [https://github.com/ddnet/ddnet/tree/master/src/tools src/tools] directory.
<div class="mw-translate-fuzzy">
== Список дополнительных утилит ==
</div>
</div>


Смотрите ниже список и описание инструментов.


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="config_retrieve"></span>
== List of extra tools ==
<div class="mw-translate-fuzzy">
=== config_retrieve ===
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
config_retrieve ''Имя_карты''
See below the list and description of the tools.
 
Извлекает конфигурацию, встроенную в файл карты DDNet ''map_file'' и сохраняет ее в файле конфигурации карты DDNet с тем же именем (например, "Kobra 4.map" возвращает "Kobra 4.cfg").
 
''Доступно с версии: DDNet 9.0''
 
<span id="config_store"></span>
<div class="mw-translate-fuzzy">
=== config_store ===
</div>
</div>


config_store ''Имя_Карты''


<div lang="en" dir="ltr" class="mw-content-ltr">
Сохраняет конфигурацию из файла конфигурации карты в файл ''map_file''.  Оба файла конфигурации и карты должны иметь одинаковое имя в одном каталоге, иначе операция завершится неудачей.
=== config_retrieve ===
 
Если нет разницы между конфигурацией для сохранения и конфигурацией, встроенной в карту, то операция будет отменена с сообщением <code>configs coincide, not updating map</code>.
 
''Доступно с версии: DDNet 9.0''
 
<span id="crapnet"></span>
<div class="mw-translate-fuzzy">
=== crapnet ===
</div>
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
crapnet
config_retrieve ''map_file''
 
Проверяет соединение, устанавливая локальное соединение клиент–сервер и запуская ping между ними. Сообщает об отброшенных пакетах с сообщением <code>dropped packet</code> и об успехах с <code>cfg = "number"</code>, где "number" варьируется от 0 до 2.
 
<span id="demo_extract_chat"></span>
<div class="mw-translate-fuzzy">
=== dilate ===
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
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")
dilate ''Файл_изображения1'' [''Файл_изображения2'' ... ]
</div>
</div>


''Доступно с версии: DDNet 9.0''
<div class="mw-translate-fuzzy">
Это графический инструмент, в основном полезный для мапперов. Он заботится о прозрачных областях, чтобы предотвратить появление черных/белых контуров вокруг ваших изображений в игре, что позволяет избежать проблем со смешиванием и мипмапом. Более подробную информацию смотрите в [http://wiki.polycount.com/wiki/Edge_padding Edge padding].
</div>


<div class="mw-translate-fuzzy">
Обратите внимание, что это работает только в файлах изображений RGBA (например, PNG). В файлах JPEG это не сработает.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
=== config_store ===
=== dummy_map ===
</div>
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
<span id="dilate"></span>
config_store ''map_file''
<div class="mw-translate-fuzzy">
dummy_map
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
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.
Создает фиктивную, небольшую пустую карту, которая будет использоваться для запуска сервера. См. [https://github.com/ddnet/ddnet/blob/a66379918832e5ad93332bbe0475394b156b5c24/src/engine/shared/network_server.cpp#L371] для получения дополнительной информации.
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
If there is no difference between the configuration to stored and the configuration embedded in the map, then operation will be canceled with message <code>configs coincide, not updating map</code>.
=== fake_server ===
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
''Available since: DDNet 9.0''
fake_server
</div>
</div>


<span id="dummy_map"></span>
<div class="mw-translate-fuzzy">
Создает фальшивый(фейковый) сервер для тестирования.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
=== crapnet ===
=== map_convert_07 ===
</div>
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
crapnet
map_convert_07 ''путь_к_файлу_карты'' ''место_назначение_файла_карты''
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="map_convert_07"></span>
Tests connection by setting a client–server connection locally and running ping between them. Reports dropped packets with message <code>dropped packet</code> and successes with <code>cfg = ''number''</code>, where ''number'' varies from 0 to 2.
<div class="mw-translate-fuzzy">
Делает <code>''dest_map_file''</code> совместимым с Teeworlds версии 7.x, иначе он был бы совместим '''только''' с Teeworlds версии 6.x. В случае успеха создается действительная 07-совместимая карта назначения; в противном случае возвращается одно из следующих значений:
</div>
</div>


<div class="mw-translate-fuzzy">
* Сообщение об использовании, если предоставлены неверные аргументы
* <code>failed to open source map</code>, если при открытии карты источников произошла ошибка
* <code>failed to open destination map</code> если при открытии карты назначения произошла ошибка
* <code>error loading storage</code> если по какой-то причине не удалось открыть хранилище
* <code>failed to open image file</code> если произошла ошибка при открытии PNG-изображения
* <code>invalid image format</code> при неправильном форматировании PNG.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
=== dilate ===
''Доступно с версии: DDNet 12.9''
</div>
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
dilate ''image_file1'' [''image_file2'' ... ]
=== map_diff ===
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
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 [http://wiki.polycount.com/wiki/Edge_padding Edge padding] for more info.
map_diff ''файл_карты1'' ''файл_карты2''
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="map_create_pixelart"></span>
Note this works only in RGBA image files (e.g. PNG files). So, it will fail in e.g. JPEG files.
<div class="mw-translate-fuzzy">
Сравнивает два файла карт, сообщая об одном из них:
* нет вывода diff, что означает, что карты одинаковые
* <code>different layer numbers</code>, если одна карта имеет больше слоев, чем другая
* <code>different tile layers</code>, если количество слоев одинаково, но хотя бы один слой отличается от другого
* наконец, позиции индекса и флагов, которые отличаются.
</div>
</div>


<div class="mw-translate-fuzzy">
Если между картами нет разницы, возвращается 0; в противном случае возвращается 1.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
=== dummy_map ===
=== map_extract ===
</div>
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
dummy_map
map_extract ''файл_Карты'' [''директория'']
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
Creates a dummy, small empty map to be used to start a server. See [https://github.com/ddnet/ddnet/blob/a66379918832e5ad93332bbe0475394b156b5c24/src/engine/shared/network_server.cpp#L371] for more info.
Извлекает содержимое из ''map_file'' в ''directory''. Если дополнительный аргумент ''директория'' не указан, извлечение производится в текущую директорию.
</div>
</div>


<div class="mw-translate-fuzzy">
=== map_optimize ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
=== fake_server ===
map_optimize ''Исходный_путь_к_файлу_карты'' [''место_назначение_файла_карты'']
</div>
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
fake_server
Оптимизирует файл карты в указанном <code>"source_map_file path"</code> (см. [https://github.com/ddnet/ddnet/pull/3201 как это работает]) и сохраняет выходные данные в заданном <code>"dest_map_filepath"</code>; если <code>"dest_map_filepath"</code> не задан, вывод путь по умолчанию равен <code>out/"source_map_filename".map</code>, удаляя путь и расширение исходного файла.
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
Creates a fake server for testing.
Обратите внимание, что название оптимизированных встроенных изображений изменено с <code>"originalname"</code> на <code>"originalname"_cut_"newSHA256"</code> (где <code>"newSHA256"</code> - это новый sha256 встроенного оптимизированного изображения). Он переименован для того, чтобы было ясно, что он был оптимизирован, потому что этот инструмент "будет" вносить изменения в карты, используемые файлом карты.
</div>
</div>


<span id="map_diff"></span>
<div class="mw-translate-fuzzy">
Если не удалось открыть исходный или целевой файл, возвращается -1.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
=== map_convert_07 ===
''Доступно с версии: DDNet 15.5.4''
</div>
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
map_convert_07 ''src_map_file'' ''dest_map_file''
=== map_replace_image ===
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
Makes <code>''dest_map_file''</code> 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:
map_replace_image ''файл_карты1'' ''файл_карты2'' ''имя_изображения'' ''файл_изображения''
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="map_extract"></span>
* an usage message if incorrect arguments are provided
<div class="mw-translate-fuzzy">
* <code>failed to open source map</code> if an error happens when opening the source map
Заменяет изображение ''imagename'', находящееся в файле карты с именем ''map_file1'', на изображение с файловым путем ''image_file'' и сохраняет в файл карты с именем ''map_file2.map''.
* <code>failed to open destination map</code> if an error happens when opening the destination map
* <code>error loading storage</code> if failed to open storage for some reason
* <code>failed to open image file</code> if error happens on opening PNG image
* <code>invalid image format</code> if incorrectly formatted PNG.
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
''Available since: DDNet 12.9''
Обратите внимание:
* Имена файлов обеих карт должны быть относительно папки DDNet по умолчанию пользователя.
* Путь к файлу нового изображения может быть абсолютным или относительным к текущему каталогу.
</div>
</div>


<div class="mw-translate-fuzzy">
=== map_resave ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="map_find_env"></span>
=== map_diff ===
<div class="mw-translate-fuzzy">
map_resave ''файл_карты'' ''файл_изображения''
</div>
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
map_diff ''map_file1'' ''map_file2''
Обновляет файл карты ''map_file.map'' с помощью предоставленного файла ''image_file''.
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
Compares two map files, reporting one of the follow:
Статус ошибки 255 возвращается, если 1) предоставлено число аргументов, отличное от 2, 2) если файл ''map_file.map'' недопустим, или 3) если файл ''image_file'' не является допустимым файлом изображения (например, это текстовый файл); в противном случае возвращается 0.
* no diff output, meaning the maps are the same
* <code>different layer numbers</code>, if one map has more layers than another
* <code>different tile layers</code>, if the number of layers is the same, but at least one layer is different
* lastly, the index and flags positions that differ.
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
If there is no difference between maps, returns 0; otherwise, returns 1.
=== packetgen ===
</div>
</div>


<span id="map_optimize"></span>
<div class="mw-translate-fuzzy">
packetgen
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
=== map_extract ===
Генерирует и отправляет сетевые пакеты на 127.0.0.1:8303 (localhost, порт сервера по умолчанию) для проверки связи с локальным экземпляром сервера.
</div>
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
map_extract ''map_file'' [''directory'']
=== unicode_confusables ===
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
Extracts contents from ''map_file'' into the ''directory''. If optional argument ''directory'' is not provided, extracts to the current directory.
unicode_confusables ''строка1'' ''строка2''
</div>
</div>


<div class="mw-translate-fuzzy">
Сравнивает ''string1'' со ''string2'' и сообщает, являются ли они "путаемыми", т.е. если символы "одинаковы" и могут вызвать путаницу. Чтобы это сработало, символы с акцентами или другими элементами вокруг них считаются "перепутанными" с базовым символом. Таким образом, ''aa'' и ''aá'' можно спутать ("á" считался как "a"), а ''aa'' и ''ab'' - нет.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
=== map_optimize ===
Если они перепутаны, возвращается <code>not_confusable=0</code>, в противном случае возвращается <code>not_confusable=1</code>.
</div>
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
<span id="map_replace_area"></span>
map_optimize ''source_map_filepath'' [''dest_map_filepath'']
<div class="mw-translate-fuzzy">
''Доступно с версии: DDNet 10.3.5''
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
Optimizes the map file in the <code>''source_map_filepath''</code> given (see [https://github.com/ddnet/ddnet/pull/3201 how it works]) and stores the output in the given <code>''dest_map_filepath''</code>; if <code>''dest_map_filepath''</code> is unset, output path defaults to <code>out/''source_map_filename''.map</code>, stripping the path and the extension of the source file.
'''Новое в DDNet версии 12.9:''' Поддержка Unicode 12.0 и название инструмента было переименовано из ''confusables'' в ''unicode_confusables''.
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
Note the name of the embedded images optimized is changed from <code>''originalname''</code> to <code>''originalname''_cut_''newSHA256''</code> (where <code>''newSHA256''</code> 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.
=== uuid ===
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
If failed to open source or target file, returns -1.
uuid ''имя''
</div>
</div>


''Доступно с версии: DDNet 15.5.4''
<span id="map_replace_image"></span>
<div class="mw-translate-fuzzy">
Выводит uuid для указанного ''имя''.
</div>


<div class="mw-translate-fuzzy">
Система uuid была реализована таким образом, чтобы ее могли легко расширять независимые авторы без коллизий, чего не позволяла старая система - с возрастающими целыми числами. Это работает для сообщений движка и игры, предметов и событий снапшотов.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
=== map_replace_image ===
Выходит со статусом ошибки 255, если не указано ''name''.
</div>
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
<div class="mw-translate-fuzzy">
map_replace_image ''map_file1'' ''map_file2'' ''imagename'' ''image_file''
''Доступно с версии: DDNet 10.6.1''
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
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''.
===map_resave===
</div>
 
<div lang="en" dir="ltr" class="mw-content-ltr">
map_resave ''source_map.map'' ''destination_map.map''
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Please note:
Reads the map ''source_map.map'' and writes it back to ''destination_map.map'' using the latest map format.
* Both map filenames must be relative to user default DDNet folder
* New image filepath can be absolute, or relative to the current directory
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
=== map_resave ===
===packetgen===
</div>
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
map_resave ''map_file'' ''image_file''
packetgen
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Updates the map file ''map_file.map'' with the provided file ''image_file''.
Generates and sends network packets to 127.0.0.1:8303 (localhost, in default server port) to test communication with a local server instance.
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
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.
===stun===
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
stun ''address''
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
=== packetgen ===
Sends [[wikipedia:STUN|STUN]] request to server and checks response.
</div>
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
packetgen
===twping===
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Generates and sends network packets to 127.0.0.1:8303 (localhost, in default server port) to test communication with a local server instance.
twping ''server''[:''port'']
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Measures ping to a teeworlds server by requesting the server information. ''port'' defaults to 8303.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
=== unicode_confusables ===
===unicode_confusables===
</div>
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
unicode_confusables ''string1'' ''string2''
unicode_confusables ''string1'' ''string2''
</div>
</div>
Line 263: Line 342:
</div>
</div>


''Доступно с версии: DDNet 10.3.5''
<div lang="en" dir="ltr" class="mw-content-ltr">
''Available since: DDNet 10.3.5''
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
''New in DDNet version 12.9:'' Unicode 12.0 support and the tool name was renamed from ''confusables'' to ''unicode_confusables''.
''New in DDNet 12.9:'' Unicode 12.0 support and the tool name was renamed from ''confusables'' to ''unicode_confusables''.
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
===uuid===
</div>


=== uuid ===
<div lang="en" dir="ltr" class="mw-content-ltr">
 
  <div lang="en" dir="ltr" class="mw-content-ltr">
uuid ''name''
uuid ''name''
</div>
</div>
Line 288: Line 370:
</div>
</div>


''Доступно с версии: DDNet 10.6.1''
<div lang="en" dir="ltr" class="mw-content-ltr">
''Available since: DDNet 10.6.1''
</div>

Latest revision as of 10:17, 8 January 2025

Дополнительные утилиты предназначены для некоторых задач, не связанных с игровым процессом, по типу оптимизации карт для мапперов, или отладки и тестирования для разработчиков. Эти утилиты должны запускаться из консольного интерфейса (вроде Командной строки в Windows или Терминала в системах на базе ядра Linux) либо путем добавления содержащего их каталога в системную переменную PATH, либо путем запуска непосредственно из содержащего каталога.

Получение дополнительных утилит

Эти утилиты не поставляются в комплекте с бинарными файлами DDNet со страницы загрузки. При этом дополнительные инструменты, связанные с маппингом, можно скачать для различных платформ на странице "Загрузки" под названием "Графические инструменты".

Эти и другие дополнительные инструменты (перечисленные ниже) можно найти на GitHub в каталоге src/tools.

Список дополнительных утилит

Смотрите ниже список и описание инструментов.

config_retrieve

config_retrieve Имя_карты

Извлекает конфигурацию, встроенную в файл карты DDNet 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 Файл_изображения1 [Файл_изображения2 ... ]

Это графический инструмент, в основном полезный для мапперов. Он заботится о прозрачных областях, чтобы предотвратить появление черных/белых контуров вокруг ваших изображений в игре, что позволяет избежать проблем со смешиванием и мипмапом. Более подробную информацию смотрите в Edge padding.

Обратите внимание, что это работает только в файлах изображений RGBA (например, PNG). В файлах JPEG это не сработает.

dummy_map

dummy_map

Создает фиктивную, небольшую пустую карту, которая будет использоваться для запуска сервера. См. [1] для получения дополнительной информации.

fake_server

fake_server

Создает фальшивый(фейковый) сервер для тестирования.

map_convert_07

map_convert_07 путь_к_файлу_карты место_назначение_файла_карты

Делает dest_map_file совместимым с Teeworlds версии 7.x, иначе он был бы совместим только с Teeworlds версии 6.x. В случае успеха создается действительная 07-совместимая карта назначения; в противном случае возвращается одно из следующих значений:

  • Сообщение об использовании, если предоставлены неверные аргументы
  • failed to open source map, если при открытии карты источников произошла ошибка
  • failed to open destination map если при открытии карты назначения произошла ошибка
  • error loading storage если по какой-то причине не удалось открыть хранилище
  • failed to open image file если произошла ошибка при открытии PNG-изображения
  • invalid image format при неправильном форматировании PNG.

Доступно с версии: DDNet 12.9

map_diff

map_diff файл_карты1 файл_карты2

Сравнивает два файла карт, сообщая об одном из них:

  • нет вывода diff, что означает, что карты одинаковые
  • different layer numbers, если одна карта имеет больше слоев, чем другая
  • different tile layers, если количество слоев одинаково, но хотя бы один слой отличается от другого
  • наконец, позиции индекса и флагов, которые отличаются.

Если между картами нет разницы, возвращается 0; в противном случае возвращается 1.

map_extract

map_extract файл_Карты [директория]

Извлекает содержимое из map_file в directory. Если дополнительный аргумент директория не указан, извлечение производится в текущую директорию.

map_optimize

map_optimize Исходный_путь_к_файлу_карты [место_назначение_файла_карты]

Оптимизирует файл карты в указанном "source_map_file path" (см. как это работает) и сохраняет выходные данные в заданном "dest_map_filepath"; если "dest_map_filepath" не задан, вывод путь по умолчанию равен out/"source_map_filename".map, удаляя путь и расширение исходного файла.

Обратите внимание, что название оптимизированных встроенных изображений изменено с "originalname" на "originalname"_cut_"newSHA256" (где "newSHA256" - это новый sha256 встроенного оптимизированного изображения). Он переименован для того, чтобы было ясно, что он был оптимизирован, потому что этот инструмент "будет" вносить изменения в карты, используемые файлом карты.

Если не удалось открыть исходный или целевой файл, возвращается -1.

Доступно с версии: DDNet 15.5.4

map_replace_image

map_replace_image файл_карты1 файл_карты2 имя_изображения файл_изображения

Заменяет изображение imagename, находящееся в файле карты с именем map_file1, на изображение с файловым путем image_file и сохраняет в файл карты с именем map_file2.map.

Обратите внимание:

  • Имена файлов обеих карт должны быть относительно папки DDNet по умолчанию пользователя.
  • Путь к файлу нового изображения может быть абсолютным или относительным к текущему каталогу.

map_resave

map_resave файл_карты файл_изображения

Обновляет файл карты map_file.map с помощью предоставленного файла image_file.

Статус ошибки 255 возвращается, если 1) предоставлено число аргументов, отличное от 2, 2) если файл map_file.map недопустим, или 3) если файл image_file не является допустимым файлом изображения (например, это текстовый файл); в противном случае возвращается 0.

packetgen

packetgen

Генерирует и отправляет сетевые пакеты на 127.0.0.1:8303 (localhost, порт сервера по умолчанию) для проверки связи с локальным экземпляром сервера.

unicode_confusables

unicode_confusables строка1 строка2

Сравнивает string1 со string2 и сообщает, являются ли они "путаемыми", т.е. если символы "одинаковы" и могут вызвать путаницу. Чтобы это сработало, символы с акцентами или другими элементами вокруг них считаются "перепутанными" с базовым символом. Таким образом, aa и можно спутать ("á" считался как "a"), а aa и ab - нет.

Если они перепутаны, возвращается not_confusable=0, в противном случае возвращается not_confusable=1.

Доступно с версии: DDNet 10.3.5

Новое в DDNet версии 12.9: Поддержка Unicode 12.0 и название инструмента было переименовано из confusables в unicode_confusables.

uuid

uuid имя

Выводит uuid для указанного имя.

Система uuid была реализована таким образом, чтобы ее могли легко расширять независимые авторы без коллизий, чего не позволяла старая система - с возрастающими целыми числами. Это работает для сообщений движка и игры, предметов и событий снапшотов.

Выходит со статусом ошибки 255, если не указано name.

Доступно с версии: DDNet 10.6.1

map_resave

map_resave source_map.map destination_map.map

Reads the map source_map.map and writes it back to destination_map.map using the latest map format.

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.

stun

stun address

Sends STUN request to server and checks response.

twping

twping server[:port]

Measures ping to a teeworlds server by requesting the server information. port defaults to 8303.

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 10.3.5

New in DDNet 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