Вспомогательные приложения
Дополнительные утилиты предназначены для некоторых задач, не связанных с игровым процессом, по типу оптимизации карт для мапперов, или отладки и тестирования для разработчиков. Эти утилиты должны запускаться из консольного интерфейса (вроде Командной строки в 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.
demo_extract_chat
demo_extract_chat демо_файл
Экспортирует все сообщения из демо-файла, вывод осуществляется в консоль.
chat: *** 'nameless tee' entered and joined the game chat: nameless tee: Hello! broadcast: Welcome! teamchat: brainless tee: Hello team! whisper: -> nameless tee: Hi!
Available since: DDNet 17.4
dilate
dilate image_file1 [image_file2 ... ]
Это графический инструмент, в основном полезный для мапперов. Он заботится о прозрачных областях, чтобы предотвратить появление черных/белых контуров вокруг ваших изображений в игре, что позволяет избежать проблем со смешиванием и mipmap. Более подробную информацию можно найти в разделе Edge padding.
Обратите внимание, что это работает только с файлами изображений RGBA (например, PNG файлы). В файлах JPEG это не будет работать.
dummy_map
dummy_map
Создаёт фиктивную, небольшую пустую карту, используемую для ванильной антиспуф-функции (sv_vanilla_antispoof
). Подробнее можно посмотреть по ссылке: [1].
map_convert_07
map_convert_07 src_map_file dest_map_file
Делает файл dest_map_file
совместимым с версией Teeworlds 7.x, тогда как иначе он был бы совместим только с версией 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_create_pixelart
map_create_pixelart <image.png> <img_pixelsize> <input_map> <layergroup_id> <layer_id> <pos_x> <pos_y> <quad_pixelsize> <output_map> [optimize=0|1] [centralize=0|1]
Создаёт карту с пиксель-артом на основе квадов из изображения.
Примечание: используйте тайлы слоя назначения для определения позиций и пиксели для размеров.
Примечание: установите значение img_pixelsize в 0, чтобы использовать максимально возможный размер.
Примечание: установите значение quad_pixelsize в 0, чтобы использовать то же значение, что и img_pixelsize.
Примечание: если у image.png нет идеальной пиксельной сетки, результат может быть некорректным; вручную измените img_pixelsize для улучшения.
Опция optimize пытается уменьшить общее количество квадов (по умолчанию: 1).
Опции: centralize размещает все точки поворота (пивоты) в одной позиции (значение по умолчанию: 0).
map_diff
map_diff map_file1 map_file2
Сравнивает два файла карт и выводит один из следующих результатов:
- нет отличий — означает, что карты идентичны
different layer numbers
— если в одной карте больше слоёв, чем в другойdifferent tile layers
— если количество слоёв совпадает, но хотя бы один слой отличается- в противном случае — индексы и позиции флагов, которые различаются.
Если карты идентичны, возвращает 0; в противном случае возвращает 1.
map_extract
map_extract map_file [directory]
Извлекает содержимое файла map_file в указанную directory. Если дополнительный аргумент directory не указан, извлекает в текущую директорию.
map_find_env
map_find_env <input_map> <env_number>
Находит квады по заданной оболочке и выводит их индекс и позицию в консоль.
Примечание: позиции найденных квадов указаны относительно их слоёв.
map_optimize
map_optimize source_map_filepath [dest_map_filepath]
Оптимизирует файл карты в указанном source_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_area
map_replace_area <from_map> <from_x> <from_y> <to_map> <to_x> <to_y> <width> <height> <output_map>
Заменяет область одной карты на область из другой карты.
Примечание: используйте тайлы игрового слоя в качестве ориентира для координат и размеров.
map_replace_image
map_replace_image map_file1 map_file2 imagename image_file
Заменяет изображение imagename, находящееся в карте с именем файла map_file1, на изображение из файла image_file и сохраняет в карту с именем файла map_file2.map.
Обрати внимание:
- Оба имени файла карты должны быть указаны относительно папки DDNet по умолчанию пользователя
- Путь к новому изображению может быть абсолютным или относительным к текущему каталогу
map_resave
map_resave source_map.map destination_map.map
Считывает карту source_map.map и записывает её обратно в destination_map.map с использованием последнего формата карты.
packetgen
packetgen
Генерирует и отправляет сетевые пакеты на 127.0.0.1:8303 (localhost, в порт сервера по умолчанию) для проверки связи с локальным экземпляром сервера.
stun
stun address
Отправляет запрос STUN на сервер и проверяет ответ.
twping
twping server[:port]
Измеряет пинг до сервера teeworlds, запрашивая информацию о сервере. Значение port по умолчанию — 8303.
unicode_confusables
unicode_confusables string1 string2
Сравнивает 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 name
Выводит uuid для заданного name.
Система uuid была реализована так, чтобы её могли легко расширять независимые разработчики без коллизий, чего не позволяла старая система с возрастающими целыми числами. Это работает для сообщений движка и игры, элементов снимков и событий.
Завершает работу с кодом ошибки 255, если name не указан.
Доступно с версии: DDNet 10.6.1