Перейти к содержанию

Survivor League: установка и настройка сервера

Установка Survivor League 1.10.9 на сервер Build 42, настройка сезонов, наград, уведомлений и административных прав через Sandbox Options.

Survivor League

Текущая версия: 1.10.9. Survivor League — открытый мод для многопользовательских соревнований в Project Zomboid Build 42. Он объединяет прежние редакции Community и Meeks Protocol, позволяя выбирать тему интерфейса, и при этом сохраняет единую систему подсчёта очков и хранения результатов.

Возможности

  • Раздельный учёт сезона, общего числа убийств и серии: Season Kills накапливаются в течение сезона, Total Kills сохраняются, а независимая серия убийств сбрасывается после смерти.
  • Вкладочный Command Center: по умолчанию открывается клавишей F6. В нём есть таблица лидеров по 10 игроков на странице, личная статистика, история сезона, награды за места на пьедестале и серию, а также административные элементы управления с ограниченным доступом. Код клавиши можно настроить в Sandbox Options.
  • Настраиваемые сезоны и награды за пьедестал: администраторы могут задавать длительность сезона, нужное число убийств, наборы предметов, опыт навыков и черты персонажа через встроенные Sandbox Options.
  • Пять уровней наград за серию убийств: каждый уровень может один раз за жизнь персонажа выдавать предметы и опыт навыков; после смерти серия сбрасывается.
  • Объявления о смерти: необязательные сообщения для всего сервера могут содержать время выживания, Season Kills, Total Kills и пользовательский префикс. Отображение в чате и над персонажем настраивается отдельно; чат включён, а halo-уведомления отключены по умолчанию.
  • Случайные приветствия при подключении: до 20 редактируемых администратором сообщений. Шаблон {name} автоматически подставляет имя игрока; префикс, задержку между сообщениями и включение функции можно настраивать через Sandbox Options.
  • Совместимость чата с Build 42: приветствия вставляются в чат без красного серверного оповещения Build 42; доставка сообщений о смерти и административных уведомлений настраивается отдельно.
  • Системные уведомления: сообщения о протоколе, наградах, исправлениях, сбросе серии и итоговом расчёте показываются как сообщения сервера/системы, а не произносятся персонажем игрока.
  • Гибридная синхронизация: выделенный сервер предпочитает объект игрока на сервере. Резервный механизм совместимости Build 42 отдельно учитывает приросты, сообщённые клиентом, ограничивает их частоту, сравнивает с надёжными серверными счётчиками и помещает подозрительные данные в карантин.
  • Контроль доверия для наград: неподтверждённые приросты из клиентского резервного механизма по умолчанию не дают наград за этапы. Сообщества, доверяющие своим участникам, могут явно разрешить такие награды в Sandbox Options.
  • Резервное обнаружение подтверждённой смерти: события смерти Build 42 обнаруживаются через встроенные callbacks, опрос локального состояния и стандартное сообщение о смерти в чате. Для отчётов нужны активный токен клиентской/серверной сессии и защита от дубликатов.
  • Главный переключатель: при отключении мода прекращаются подсчёт, команды, награды, приветствия, сообщения о смерти и запросы таблицы лидеров.
  • Проверка протокола: до приёма игровых или административных команд клиенты должны завершить точное согласование протокола и версии релиза.
  • Поддержка имён UTF-8: имена игроков и персонажей с многобайтными символами очищаются и обрезаются только по границам символов.
  • Три темы интерфейса: Project Zomboid, Meeks Protocol или Military; выбор задаётся в Sandbox Options, также возможны индивидуальные косметические переопределения для игроков.
  • Брендинг white-label: заголовок и подзаголовок Command Center настраиваются без отдельной сборки.
  • Защищённый перенос старых данных: если таблица Community пуста, можно импортировать прежнюю таблицу SurvivorLeagueData, не удаляя её. Непустые наборы данных автоматически не объединяются.
  • Журналы для ретрансляции: структурированные маркеры [SurvivorLeagueKill], [SurvivorLeagueDeath] и [SurvivorLeagueCommunityJoin] можно использовать в необязательных ретрансляторах для Discord или сайта.

Настройка

Все поддерживаемые параметры владельца сервера доступны во встроенных Sandbox Options Project Zomboid. Для изменения сезонов, наград, сообщений о смерти или приветствий администратору не нужно редактировать Lua-файлы.

Уровни серии убийств, для которых не настроены предметы и задано 0 XP, считаются отключёнными даже при отмеченном переключателе. Это позволяет избежать пустых выдач наград и вводящих в заблуждение уведомлений.

Пустые ячейки сообщений при подключении игнорируются. Добавьте {name} в любое место текста, где должно отображаться имя подключившегося игрока.

На выделенных серверах Build 42, где число убийств зомби не обновляется в объекте игрока на сервере, можно оставить включённой настройку Allow hosted/co-op client kill-report fallback. Это режим совместимости, а не криптографическое доказательство убийства. Отчёты сохраняют сведения об источнике, ограничиваются по частоте, сравниваются со счётчиком сервера после того, как он подтверждён как надёжный; подозрительные значения помещаются в карантин. Оставляйте Allow unverified client-fallback milestone rewards отключённым, если не доверяете каждому подключённому клиенту.

Истечение сезона проверяется при запуске сервера, затем раз в минуту и во время обычного опроса игроков. Защита от повторного расчёта не позволяет параллельным таймерам или административным запросам выдать награды за пьедестал несколько раз.

Season Kills накапливаются в течение активного сезона. Смерть сбрасывает только Current Streak и отметки уже полученных наград за текущую жизнь. Total Kills и Best Streak сохраняются. Старое значение LeaderboardSize всё ещё читается из сохранённых пресетов для совместимости, но параметр скрыт, а Command Center всегда разбивает все зарегистрированные результаты на страницы по 10 игроков.

Запросы таблицы лидеров ограничиваются по частоте и на клиенте, и на сервере. Перед передачей интерфейсу имена игроков очищаются и ограничиваются по длине. Отчёты клиента о подтверждённой смерти включены по умолчанию, поскольку выделенный многопользовательский сервер Build 42 не всегда передаёт встроенные Lua-события смерти.

По умолчанию для Command Center используется код клавиши Project Zomboid 64 (F6). Чтобы назначить другую клавишу, измените Command Center key code на допустимый код. В журналах сервера есть структурированные записи о решениях протокола, автоматическом запуске итогового расчёта, административных запросах, отклонённых неавторизованных попытках и завершении расчёта.

Описание объединённой логики и процедура перехода со старой редакции Meeks Protocol приведены в ARCHITECTURE.md и MIGRATION.md.

Административные права

Администраторы всегда получают полный набор прав управления Survivor League. Учётным записям Moderator и Overseer через Sandbox Options можно выдать четыре независимых права, контролируемых сервером: просмотр оперативного статуса, управление результатами/архивом, повторная выдача награды и завершение сезона. По умолчанию доступен только просмотр статуса. Сервер заново проверяет права для каждой защищённой команды: скрытие вкладки или кнопки не является границей безопасности.

Обновление с версии 1.8.0

Замените клиентскую и серверную копии полным пакетом версии 1.10.9, затем перезапустите Project Zomboid и сервер. Существующие таблицы результатов, история сезонов и Sandbox-настройки остаются в схеме данных 2. В версии 1.10.9 сохранена защищённая сверка общего числа убийств и добавлен резервный механизм объявления о смерти для Build 42.

Установка

  1. Установите мод через Steam Workshop или скопируйте SurvivorLeagueCommunity в каталог модов Project Zomboid.
  2. Добавьте SurvivorLeagueCommunity в параметр Mods= конфигурации сервера.
  3. Настройте мод в разделе Survivor League меню Sandbox Options.
  4. Перезапустите сервер после изменения настроек.
  • Идентификатор Workshop: 3784151798
  • Идентификатор мода: SurvivorLeagueCommunity
  • Требуется Project Zomboid Build 42.20 или новее.
Информация
Переведён охват строк 1–66 README: обзор функций, настройки, права администратора, обновление и установка. README не описывает подробно каждую административную операцию. Резервный отчёт клиента об убийствах не является криптографическим подтверждением; награды за этап по таким неподтверждённым сообщениям выключены по умолчанию. Убийства за сезон сохраняются после смерти, текущая серия сбрасывается. Сведения о MIT указаны вне выбранного диапазона, а текст лицензии не захвачен. Независимые игровые тесты и проверка для 42.21 не проводились.