Настройки сервера Project Zomboid: зомби, добыча и доступ
Настройки Build 42.19 разделены между параметрами сервера и правилами мира Sandbox. Удобнее менять их через Host → Manage Settings. Перед ручной правкой остановите сервер и скопируйте целиком каталог пользовательских данных Zomboid; меняйте одну группу параметров за раз и после перезапуска проверяйте загруженные значения в журнале. Не редактируйте файлы во время сохранения мира.
Где находятся настройки
| Файл | Назначение |
|---|---|
| Zomboid/Server/<preset>.ini | Название, порты, пароль, доступ, PVP, безопасные дома, RCON, Discord и резервное копирование. |
| Zomboid/Server/<preset>_SandboxVars.lua | Зомби, добыча, электричество и вода, эрозия, уборка тел, множители опыта и правила мира. |
| <preset>_spawnpoints.lua | Конкретные точки появления; карты из модов могут требовать дополнительных точек. |
| <preset>_spawnregions.lua | Именованные регионы выбора при подключении. |
Частое имя набора — servertest. На Windows выделенный сервер обычно хранит настройки в C:\Users\<name>\Zomboid\Server\. Host → Manage Settings создаёт INI и SandboxVars с нужной структурой. Build 41 и Build 42 ведите как отдельные миры с отдельными настройками: сохранения несовместимы. В Build 42.19 категории добычи подробнее, а Discord настраивается в INI.
Количество зомби
Выбор Zombie Count задаёт одновременно индекс Zombies и ZombieConfig.PopulationMultiplier. Расширенные параметры находятся внутри таблицы ZombieConfig, а не в корне SandboxVars.
| Zombie Count | Zombies | PopulationMultiplier |
|---|---|---|
| Insane | 1 | 2.5 |
| Very High | 2 | 1.6 |
| High | 3 | 1.2 |
| Normal | 4 | 0.65 |
| Low | 5 | 0.15 |
| None | 6 | 0.0 |
Для Apocalypse указаны Zombies=4, PopulationMultiplier=0.65, PopulationStartMultiplier=1.0, PopulationPeakMultiplier=1.5 и PopulationPeakDay=28. В ZombieConfig также приводятся RespawnHours=0, RespawnUnseenHours=0, RespawnMultiplier=0, RedistributeHours=12, FollowSoundDistance=100 и RallyGroupSize=20. Нулевой RespawnHours отключает периодическое возрождение, но не перемещение зомби. Значения относятся к настройкам 42.19; проверьте их в меню своей сборки. Таблицы со значениями Normal 1,0× или Insane 4,0× относятся к более старым версиям; не применяйте их автоматически к 42.19.
PopulationPeakMultiplier задаёт рост к пиковому дню, PopulationPeakDay — этот игровой день, RespawnUnseenHours — время без наблюдения участка до разрешённого возрождения. Скорость, сила, стойкость, передача инфекции, зрение и слух находятся отдельно в ZombieLore. Вертолёт и другие события относятся к параметрам мира Sandbox, а не к INI.
Добыча, повторное появление и уборка
| Ключ Sandbox | Пример Apocalypse |
|---|---|
| FoodLootNew | 0.8 |
| CannedFoodLootNew | 0.6 |
| WeaponLootNew | 0.6 |
| RangedWeaponLootNew | 1.2 |
| AmmoLootNew / MedicalLootNew | 0.6 |
| MechanicsLootNew / ToolLootNew / MaterialLootNew | 0.6 |
| LiteratureLootNew / SkillBookLoot | 0.6 |
| KeyLootNew | 0.4 |
| InsaneLootFactor … AbundantLootFactor | 0.05 … 3.0 для ступеней общей редкости |
| Настройка | Где и что означает |
|---|---|
| HoursForLootRespawn | SandboxVars: 0 отключает периодическое заполнение; ненулевое значение задаёт часы ожидания. |
| SeenHoursPreventLootRespawn | SandboxVars: при значении больше нуля ограничивает появление в недавно посещённой области. |
| MaxItemsForLootRespawn | SandboxVars: пример по умолчанию 5; контейнер с пятью или более предметами не пополняется. |
| ConstructionPreventsLootRespawn | SandboxVars: true блокирует появление из-за построек или баррикад. |
| SafehousePreventsLootRespawn | INI: true блокирует появление добычи в занятом убежище. Ключ HoursForLootRespawnSafehouse не используется. |
HoursForCorpseRemoval=216 в примере Apocalypse означает девять игровых дней. Предметы на земле регулируются HoursForWorldItemRemoval и WorldItemRemovalList. Настройте частоту пополнения вместе с правилами убежищ и построек.
PvE, PvP и безопасные дома
Для кооперативного PvE используйте PVP=false. Для PvP с переключаемой защитой пример: PVP=true, SafetySystem=true, ShowSafety=true, SafetyToggleTimer=2, SafetyCooldownTimer=3. Объясните игрокам задержку переключения и восстановления. При PVP=true и SafetySystem=false урон между игроками доступен постоянно; отдельные Non-PVP Zones можно установить через Admin Panel. Опубликуйте правила до создания персонажей и объясните времена переключения и ожидания в приветственном сообщении. Даже при PvE настройте убежища, если хотите ограничить доступ к вещам на базе.
| Ключ INI | Назначение |
|---|---|
| PlayerSafehouse / AdminSafehouse | PlayerSafehouse разрешает игрокам занимать убежища; AdminSafehouse ограничивает занятие администраторами, например для общих баз персонала. |
| SafehouseAllowTrepass | Допуск посторонних; написание Trepass является частью ключа. |
| SafehouseAllowLoot / SafehouseAllowFire | Разрешение посторонним брать вещи / возможность повреждения огнём. |
| SafehouseAllowRespawn | Возрождение участников в убежище. |
| SafehouseDaySurvivedToClaim | Минимум прожитых дней для занятия. |
| SafeHouseRemovalTime | Часы реального времени неактивности до удаления участника из владения. |
| DisableSafehouseWhenOwnerConnected | При подключённом владельце убежище ведёт себя как обычный дом. Ключ DisableSafehouseWhenPlayerConnected не является текущим названием этого параметра. |
| SafehouseAllowNonResidential | Разрешение занимать нежилые здания. |
| SafehousePreventsLootRespawn | Запрет повторной добычи внутри занятого убежища. |
Пример для кооператива: PlayerSafehouse=true, AdminSafehouse=false, SafehouseAllowTrepass=false, SafehouseAllowFire=false, SafehouseAllowLoot=false, SafehouseAllowRespawn=true, SafehouseDaySurvivedToClaim=1, SafeHouseRemovalTime=144, SafehousePreventsLootRespawn=true, DisableSafehouseWhenOwnerConnected=false и NoFire=false. NoFire=true отключает все формы огня, кроме костров, включая Molotov; это шире запрета распространения огня. Фракции независимы от убежищ: за них отвечают Faction, FactionDaySurvivedToCreate и FactionPlayersRequiredForTag. Фракции дают групповые теги, отметки участников на карте и организацию совместной игры.
Доступ, удалённая консоль и Discord
Open=true допускает подключение без заранее созданной учётной записи; Open=false требует whitelist. /adduser "username" "password" создаёт пользователя, /removeuserfromwhitelist "username" удаляет его из списка. /setaccesslevel "username" "moderator" назначает роль; доступны Admin, Moderator, Overseer, GM и Observer. /grantadmin "username" повышает до администратора. При достаточных правах кнопка администратора в HUD открывает панель пользователей, заявок, Non-PVP Zones и разрешённых настроек. В справке пароль /adduser может быть необязательным; для удаления из whitelist применяется /removeuserfromwhitelist, а не несуществующая команда /removeuser. В Admin Panel также доступны списки предметов.
При необходимости удалённой консоли задайте RCONPort и надёжный RCONPassword; не открывайте порт публично без сетевых ограничений. DiscordEnable включает интеграцию глобального текстового чата, DiscordToken хранит секрет бота, DiscordChatChannel, DiscordLogChannel и DiscordCommandChannel задают каналы. Создайте бота и каналы, внесите значения и перезапустите сервер; проверьте сообщения и журнал. Не публикуйте токен. Если удалённая консоль не нужна, оставьте RCON отключённым. Перед открытием сервера проверьте сообщения чата и журналов в серверном логе.
Моды и проверка запуска
WorkshopItems содержит идентификаторы загружаемых пакетов, а Mods — идентификаторы включаемых модов; один пакет может содержать несколько модов. Например: WorkshopItems=1234567890;0987654321 и Mods=ModIdOne;ModIdTwo. Согласуйте оба списка на сервере и клиентах.
Производительность зависит от скорости отдельного ядра, числа игроков, загруженной карты, модов и количества предметов и тел; фиксированная формула памяти на игрока не учитывает эти факторы. Обычно используются UDP-порты 16261 и 16262: проверьте DefaultPort и UDPPort в своём INI и настройте нужный протокол в брандмауэре. BackupsCount, BackupsOnStart, BackupsPeriod и SaveWorldEveryMinutes помогают создать точки восстановления; перед крупными изменениями сохраняйте отдельную полную копию. После перезапуска проверьте в журнале ошибки портов, UPnP и модов, затем войдите обычной учётной записью и испытайте правила. В журнале запуска проверьте также загруженные значения настроек и ошибки привязки порта.
Связанные материалы
Настройка whitelist
Проблемы с Admin Panel
Моды сервера
Зависание на Getting Server Info