Подпись мода шаг за шагом
Выполняйте по порядку. Первая половина создаёт ключ, середина подписывает PBO, а последние шаги разворачивают ключ, чтобы сервер действительно загрузил мод.
Каждый мод, который работает на сервере DayZ, требует подписи, а подпись требует ключа. Ключ аутентифицирует ваш мод: сервер и подключающийся игрок должны совпадать, иначе подключение отклоняется. Этот туториал проходит всю цепочку с DayZ Tools - создание пары ключей в DSUtils, подпись PBO и размещение публичного ключа в нужную папку, чтобы ваш сервер принял мод.
Установить в Steam — DayZ Tools (DSUtils)Выполняйте по порядку. Первая половина создаёт ключ, середина подписывает PBO, а последние шаги разворачивают ключ, чтобы сервер действительно загрузил мод.
Откройте Steam и переключите фильтр библиотеки с Игр на Инструменты. В списке инструментов будет несколько записей DayZ - DayZ Server, DayZ Experimental Server и так далее -, но нужна вам та, что называется просто DayZ Tools.
DayZ Tools - это бесплатный официальный набор (Steam App 830640), и именно он генерирует и применяет ключи. Установите его прежде всего остального; без него ничто из этого руководства не работает.
Установить в Steam — DayZ Tools (DSUtils)
Как только DayZ Tools установлен, запустите его. Откроется небольшое меню запуска с отдельными инструментами. Для подписи вам нужна утилита подписи DSUtils.
Откройте её и осмотрите окно. Сверху панель для управления ключами, ниже список файлов и элементы управления обработкой. Это единственный инструмент, который вы будете использовать в оставшейся части туториала.
В инструменте подписи нажмите кнопку N, чтобы начать новый ключ. Появится путь назначения - это папка, куда будет записан готовый ключ, запомните её, потому что позже вы вернётесь сюда за файлами.
Создание ключа на самом деле даёт пару: закрытый ключ с расширением .biprivatekey, который вы держите в секрете, и соответствующий публичный .bikey, который вы раздаёте. Думайте о закрытом ключе как о том, что подписывает, а о публичном - как о замке, который проверяет; они работают только вместе.
Убедитесь, что опция использовать эту authority для подписи файлов отмечена, иначе ключ не будет применён к вашим PBO. Затем введите имя authority. Это может быть что угодно - большинство берёт имя своего сервера или короткий тег мода. В этом примере authority называется ML.
Нажмите Create key. Путь к вашему новому ключу теперь отображается в инструменте, подтверждая, что пара создана. Выбирайте имя, которое не жалко показать публично, потому что имя файла .bikey несёт это имя authority с собой.
Мод должен быть организован в правильную структуру папок, прежде чем его можно подписать. Создайте новую папку с префиксом @ и именем вашего мода - например @LoadingScreen для пользовательского экрана загрузки или имя вашей карты, если строите карту. Именно по префиксу @ DayZ распознаёт папку мода.
Внутри этой папки создайте папку addons. В папке addons находится ваш упакованный файл PBO. Если вы следовали руководству по упаковке, у вас уже есть готовый PBO, который можно сюда положить.
Рядом с addons можно также создать папку keys, но это нужно не всегда. Папка keys внутри мода нужна только тогда, когда вы делаете мод публичным - например карту, которую другие хотят запускать на своих серверах. В этом случае публичный .bikey едет внутри мода, чтобы любой, кто его скачает, мог его проверить.
Если мод частный и работает только на вашем сервере - экран загрузки, серверная настройка -, то папка keys внутри мода вообще не нужна. Сервер получает ключ иначе, как показано в последнем шаге. Можно оставить пустую папку keys на будущее, если собираетесь публиковать.
Вернувшись в DSUtils, используйте Add source directory и укажите на папку addons вашего мода. Ваш PBO появляется в списке файлов и показывается как signed false - то есть рядом ещё нет .bisign, и он не подписан.
Перед обработкой включите две опции. Отметьте Sign file list, чтобы инструмент подписал перечисленные файлы, и отметьте Override signatures, чтобы он заменил старую подпись, если PBO был подписан ранее. С обеими вы готовы к обработке.
Нажмите Process files. Инструмент проходит по вашему PBO и применяет подпись с помощью созданного вами ключа. Для одного мода это занимает лишь мгновение.
Следите за индикатором состояния. Если что-то не удалось подписать, появляется красный X; если успешно - зелёная галочка. Зелёная галочка означает, что подпись записана, и новый файл .bisign теперь лежит прямо рядом с вашим PBO в папке addons.
После успешной обработки вы увидите файл .bisign с именем вашей authority - в этом примере ML.bisign - рядом с PBO. Этот файл является доказательством того, что ваш PBO подписан вашим ключом.
Оставьте .bisign ровно там, где он есть, в папке addons рядом с PBO. В тот момент, когда вы его перемещаете или удаляете, мод больше не подписан, перестаёт работать на вашем сервере, а подключающиеся игроки получают ошибку о том, что подпись не совпадает.
Теперь соберите созданные ключи. Откройте папку назначения из третьего шага, откройте закрытый .biprivatekey, скопируйте его содержимое и храните в безопасном месте - этот закрытый ключ вы никогда никому не отдаёте. Публичный .bikey - это тот, который вы распространяете.
Для своего сервера скопируйте всю папку @Mod на сервер, затем поместите публичный .bikey в папку keys сервера - ту же, что уже содержит ключ DayZ, потому что в DayZ всё подписано. Запустите сервер с точно таким же модом, и вы сможете подключиться.
Для публичного мода вместо этого поместите .bikey в собственную папку keys мода перед публикацией. Тогда любой, кто его скачает, получит ключ в комплекте, и он проверяется и на их сервере. Ключ и подпись - это замок и ключ, они открывают дверь только вместе.
.biprivatekey - это ваш секретный ключ подписи - держите его в секрете. .bisign - это подпись, записанная рядом с каждым PBO при подписи. .bikey - публичный ключ, который идёт на сервер (или в папку keys публичного мода), чтобы подпись можно было проверить.
Нет. Папка keys внутри мода нужна только при публикации, чтобы другие запускали его на своих серверах. Для частного серверного мода просто поместите .bikey в собственную папку keys сервера.
Обычно отсутствует .bikey в папке keys сервера, сервер и игрок используют разные версии мода, или .bisign был убран из папки addons. Убедитесь, что один и тот же подписанный мод на обеих сторонах и публичный ключ установлен на сервере.
Да, процесс подписи работает с любым PBO независимо от того, кто его создал - вы указываете DSUtils на папку addons и подписываете его своим ключом. Именно это делает туториал с заимствованным модом как шаблоном.
DayZ Tools, бесплатным официальным набором в Steam (App 830640). Внутри вы запускаете утилиту подписи DSUtils, которая и генерирует пару ключей, и применяет подписи.