Extra tools/ru: Difference between revisions
Created page with "''Доступно с версии: DDNet 9.0''" |
Кiлiбiк off (talk | contribs) No edit summary |
||
(125 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> | <languages /> | ||
'''''Дополнительные утилиты''''' предназначены для некоторых задач, не связанных с игровым процессом, по типу оптимизации карт для мапперов, или отладки и тестирования для разработчиков. Эти утилиты должны запускаться из консольного интерфейса (вроде Командной строки в Windows или Терминала в системах на базе ядра Linux) либо путем добавления содержащего их каталога в системную переменную PATH, либо путем запуска непосредственно из содержащего каталога. | |||
< | <span id="Getting_the_extra_tools"></span> | ||
== | == Получение дополнительных инструментов == | ||
Эти утилиты '''не''' поставляются в комплекте с бинарными файлами DDNet со [https://ddnet.org/downloads/страницы загрузки]. | Эти утилиты '''не''' поставляются в комплекте с бинарными файлами DDNet со [https://ddnet.org/downloads/ страницы загрузки]. При этом дополнительные инструменты, связанные с маппингом, можно скачать для различных платформ на странице "Загрузки" под названием "Графические инструменты". | ||
Эти и другие дополнительные инструменты (перечисленные ниже) можно найти на [https://github.com/ddnet/ddnet GitHub] в каталоге [https://github.com/ddnet/ddnet/tree/master/src/tools src/tools]. | |||
<span id="List_of_extra_tools"></span> | |||
== Список дополнительных инструментов == | |||
Смотрите ниже список и описание инструментов. | |||
< | <span id="config_retrieve"></span> | ||
=== config_retrieve === | |||
config_retrieve ''Имя_карты'' | |||
Извлекает конфигурацию, встроенную в файл карты DDNet ''map_file'' и сохраняет ее в файле конфигурации карты DDNet с тем же именем (например, "Kobra 4.map" возвращает "Kobra 4.cfg"). | |||
''Доступно с версии: DDNet 9.0'' | |||
<span id="config_store"></span> | |||
=== config_store === | |||
config_store ''Имя_Карты'' | |||
Сохраняет конфигурацию из файла конфигурации карты в файл ''map_file''. Оба файла конфигурации и карты должны иметь одинаковое имя в одном каталоге, иначе операция завершится неудачей. | |||
< | Если нет разницы между конфигурацией для сохранения и конфигурацией, встроенной в карту, то операция будет отменена с сообщением <code>configs coincide, not updating map</code>. | ||
</ | |||
''Доступно с версии: DDNet 9.0'' | ''Доступно с версии: DDNet 9.0'' | ||
<span id="crapnet"></span> | |||
=== crapnet === | |||
< | crapnet | ||
=== | |||
Проверяет соединение, устанавливая локальное соединение клиент–сервер и запуская ping между ними. Сообщает об отброшенных пакетах с сообщением <code>dropped packet</code> и об успехах с <code>cfg = "number"</code>, где "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. Более подробную информацию можно найти в разделе [http://wiki.polycount.com/wiki/Edge_padding Edge padding]. | |||
Обратите внимание, что это работает только с файлами изображений RGBA (например, PNG файлы). В файлах JPEG это не будет работать. | |||
===dummy_map=== | |||
=== | |||
dummy_map | |||
Создаёт фиктивную, небольшую пустую карту, используемую для ванильной антиспуф-функции (<code>sv_vanilla_antispoof</code>). Подробнее можно посмотреть по ссылке: [https://github.com/ddnet/ddnet/blob/a66379918832e5ad93332bbe0475394b156b5c24/src/engine/shared/network_server.cpp#L371]. | |||
===map_convert_07=== | |||
map_convert_07 ''src_map_file'' ''dest_map_file'' | |||
Делает файл <code>''dest_map_file''</code> совместимым с версией Teeworlds 7.x, тогда как иначе он был бы совместим только с версией 6.x. В случае успешного выполнения создаётся корректная карта, совместимая с 07-версией; в противном случае возвращается одно из следующих значений: | |||
< | * Сообщение об использовании, если предоставлены неверные аргументы | ||
* <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. | |||
''Доступно с версии: 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'' | |||
Сравнивает два файла карт и выводит один из следующих результатов: | |||
*нет отличий — означает, что карты идентичны | |||
</ | *<code>different layer numbers</code> — если в одной карте больше слоёв, чем в другой | ||
*<code>different tile layers</code> — если количество слоёв совпадает, но хотя бы один слой отличается | |||
*в противном случае — индексы и позиции флагов, которые различаются. | |||
Если карты идентичны, возвращает 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''] | |||
< | Оптимизирует файл карты в указанном <code>''source_map_filepath''</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>, с удалением пути и расширения исходного файла. | ||
</ | |||
Обрати внимание, что имя встроенных оптимизированных изображений изменяется с <code>''originalname''</code> на <code>''originalname''*cut*''newSHA256''</code> (где <code>''newSHA256''</code> — это новый 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'' | |||
Отправляет запрос [[wikipedia:STUN|STUN]] на сервер и проверяет ответ. | |||
===twping=== | |||
twping ''server''[:''port''] | |||
Измеряет пинг до сервера teeworlds, запрашивая информацию о сервере. Значение ''port'' по умолчанию — 8303. | |||
===unicode_confusables=== | |||
unicode_confusables | |||
unicode_confusables ''string1'' ''string2'' | |||
Сравнивает ''string1'' с ''string2'' и сообщает, являются ли они «путающимися», то есть «равными» символами, которые могут вызвать путаницу. Для этого символы с акцентами или другими элементами вокруг них считаются «путающимися» с базовым символом. Таким образом, ''aa'' и ''aá'' являются путающимися (''á'' считается как ''a''), тогда как ''aa'' и ''ab'' — нет. | |||
< | Если они являются путающимися, возвращает <code>not_confusable=0</code>, в противном случае возвращает <code>not_confusable=1</code>. | ||
</ | |||
''Доступно с версии: DDNet 10.3.5'' | |||
'' | |||
''Новое в DDNet 12.9:'' поддержка Unicode 12.0, и имя инструмента было переименовано с ''confusables'' в ''unicode_confusables''. | |||
===uuid=== | |||
=== uuid === | |||
uuid ''name'' | |||
uuid ''name'' | |||
Выводит uuid для заданного ''name''. | |||
Система uuid была реализована так, чтобы её могли легко расширять независимые разработчики без коллизий, чего не позволяла старая система с возрастающими целыми числами. Это работает для сообщений движка и игры, элементов снимков и событий. | |||
Завершает работу с кодом ошибки 255, если ''name'' не указан. | |||
''Доступно с версии: DDNet 10.6.1'' | |||
'' | |||
Latest revision as of 14:00, 15 June 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.
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