Вспомогательные приложения

From DDraceNetwork
Revision as of 14:32, 29 December 2023 by Myr (talk | contribs)

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