Extra tools/ru: Difference between revisions
Created page with "'''''Дополнительные утилиты''''' предназначены для некоторых задач, не связанных с игровым процессом, по типу оптимизации карт для мапперов, или отладки и тестирования для разработчиков. Эти утилиты должны запускаться из command-line интерфейса (вроде Командной строк..." |
No edit summary |
||
(42 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
'''''Дополнительные утилиты''''' предназначены для некоторых задач, не связанных с игровым процессом, по типу оптимизации карт для мапперов, или отладки и тестирования для разработчиков. Эти утилиты должны запускаться из | '''''Дополнительные утилиты''''' предназначены для некоторых задач, не связанных с игровым процессом, по типу оптимизации карт для мапперов, или отладки и тестирования для разработчиков. Эти утилиты должны запускаться из консольного интерфейса (вроде Командной строки в Windows или Терминала в системах на базе ядра Linux) либо путем добавления содержащего их каталога в системную переменную PATH, либо путем запуска непосредственно из содержащего каталога. | ||
<span id="Getting_the_extra_tools"></span> | |||
== Получение дополнительных утилит == | |||
Эти утилиты '''не''' поставляются в комплекте с бинарными файлами 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> | ||
== Список дополнительных утилит == | |||
</ | |||
Смотрите ниже список и описание инструментов. | |||
=== config_retrieve === | === config_retrieve === | ||
config_retrieve ''Имя_карты'' | |||
Извлекает конфигурацию, встроенную в файл карты DDNet ''map_file'' и сохраняет ее в файле конфигурации карты DDNet с тем же именем (например, "Kobra 4.map" возвращает "Kobra 4.cfg"). | |||
''Доступно с версии: DDNet 9.0'' | |||
=== config_store === | === config_store === | ||
config_store ''Имя_Карты'' | |||
Сохраняет конфигурацию из файла конфигурации карты в файл ''map_file''. Оба файла конфигурации и карты должны иметь одинаковое имя в одном каталоге, иначе операция завершится неудачей. | |||
< | Если нет разницы между конфигурацией для сохранения и конфигурацией, встроенной в карту, то операция будет отменена с сообщением <code>configs coincide, not updating map</code>. | ||
</ | |||
''Доступно с версии: DDNet 9.0'' | |||
=== crapnet === | === crapnet === | ||
crapnet | |||
crapnet | |||
Проверяет соединение, устанавливая локальное соединение клиент–сервер и запуская ping между ними. Сообщает об отброшенных пакетах с сообщением <code>dropped packet</code> и об успехах с <code>cfg = "number"</code>, где "number" варьируется от 0 до 2. | |||
=== dilate === | === dilate === | ||
dilate ''Файл_изображения1'' [''Файл_изображения2'' ... ] | |||
Это графический инструмент, в основном полезный для мапперов. Он заботится о прозрачных областях, чтобы предотвратить появление черных/белых контуров вокруг ваших изображений в игре, что позволяет избежать проблем со смешиванием и мипмапом. Более подробную информацию смотрите в [http://wiki.polycount.com/wiki/Edge_padding Edge padding]. | |||
Обратите внимание, что это работает только в файлах изображений RGBA (например, PNG). В файлах JPEG это не сработает. | |||
=== dummy_map === | === dummy_map === | ||
dummy_map | |||
Создает фиктивную, небольшую пустую карту, которая будет использоваться для запуска сервера. См. [https://github.com/ddnet/ddnet/blob/a66379918832e5ad93332bbe0475394b156b5c24/src/engine/shared/network_server.cpp#L371] для получения дополнительной информации. | |||
=== fake_server === | === fake_server === | ||
fake_server | |||
Создает фальшивый(фейковый) сервер для тестирования. | |||
=== map_convert_07 === | === map_convert_07 === | ||
map_convert_07 ''путь_к_файлу_карты'' ''место_назначение_файла_карты'' | |||
Делает <code>''dest_map_file''</code> совместимым с Teeworlds версии 7.x, иначе он был бы совместим '''только''' с Teeworlds версии 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_diff === | === map_diff === | ||
map_diff ''файл_карты1'' ''файл_карты2'' | |||
< | Сравнивает два файла карт, сообщая об одном из них: | ||
* нет вывода diff, что означает, что карты одинаковые | |||
</ | * <code>different layer numbers</code>, если одна карта имеет больше слоев, чем другая | ||
* <code>different tile layers</code>, если количество слоев одинаково, но хотя бы один слой отличается от другого | |||
* наконец, позиции индекса и флагов, которые отличаются. | |||
Если между картами нет разницы, возвращается 0; в противном случае возвращается 1. | |||
=== map_extract === | === map_extract === | ||
map_extract ''файл_Карты'' [''директория''] | |||
Извлекает содержимое из ''map_file'' в ''directory''. Если дополнительный аргумент ''директория'' не указан, извлечение производится в текущую директорию. | |||
=== map_optimize === | === map_optimize === | ||
map_optimize ''Исходный_путь_к_файлу_карты'' [''место_назначение_файла_карты''] | |||
< | Оптимизирует файл карты в указанном <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>, удаляя путь и расширение исходного файла. | ||
</ | |||
< | Обратите внимание, что название оптимизированных встроенных изображений изменено с <code>"originalname"</code> на <code>"originalname"_cut_"newSHA256"</code> (где <code>"newSHA256"</code> - это новый sha256 встроенного оптимизированного изображения). Он переименован для того, чтобы было ясно, что он был оптимизирован, потому что этот инструмент "будет" вносить изменения в карты, используемые файлом карты. | ||
</ | |||
Если не удалось открыть исходный или целевой файл, возвращается -1. | |||
''Доступно с версии: DDNet 15.5.4'' | |||
=== map_replace_image === | === map_replace_image === | ||
map_replace_image ''файл_карты1'' ''файл_карты2'' ''имя_изображения'' ''файл_изображения'' | |||
Заменяет изображение ''imagename'', находящееся в файле карты с именем ''map_file1'', на изображение с файловым путем ''image_file'' и сохраняет в файл карты с именем ''map_file2.map''. | |||
Обратите внимание: | |||
* Имена файлов обеих карт должны быть относительно папки DDNet по умолчанию пользователя. | |||
* Путь к файлу нового изображения может быть абсолютным или относительным к текущему каталогу. | |||
=== map_resave === | === map_resave === | ||
map_resave ''файл_карты'' ''файл_изображения'' | |||
Обновляет файл карты ''map_file.map'' с помощью предоставленного файла ''image_file''. | |||
Статус ошибки 255 возвращается, если 1) предоставлено число аргументов, отличное от 2, 2) если файл ''map_file.map'' недопустим, или 3) если файл ''image_file'' не является допустимым файлом изображения (например, это текстовый файл); в противном случае возвращается 0. | |||
=== packetgen === | === packetgen === | ||
packetgen | |||
Генерирует и отправляет сетевые пакеты на 127.0.0.1:8303 (localhost, порт сервера по умолчанию) для проверки связи с локальным экземпляром сервера. | |||
=== unicode_confusables === | === unicode_confusables === | ||
unicode_confusables ''строка1'' ''строка2'' | |||
Сравнивает ''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 ''имя'' | |||
uuid '' | |||
Выводит uuid для указанного ''имя''. | |||
Система uuid была реализована таким образом, чтобы ее могли легко расширять независимые авторы без коллизий, чего не позволяла старая система - с возрастающими целыми числами. Это работает для сообщений движка и игры, предметов и событий снапшотов. | |||
Выходит со статусом ошибки 255, если не указано ''name''. | |||
''Доступно с версии: DDNet 10.6.1'' | |||
'' | |||
Latest revision as of 14:51, 29 December 2023
Дополнительные утилиты предназначены для некоторых задач, не связанных с игровым процессом, по типу оптимизации карт для мапперов, или отладки и тестирования для разработчиков. Эти утилиты должны запускаться из консольного интерфейса (вроде Командной строки в 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