Вспомогательные приложения
Дополнительные утилиты предназначены для некоторых задач, не связанных с игровым процессом, по типу оптимизации карт для мапперов, или отладки и тестирования для разработчиков. Эти утилиты должны запускаться из консольного интерфейса (вроде Командной строки в 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á можно спутать ("á" считался как "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 aá 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