MAATRIX GAMES / Блог / V Rising — ServerHostSettings.json полностью

V Rising — ServerHostSettings.json полностью

MAATRIX GAMES

Настроил сервер V Rising по базовой инструкции, а теперь хочешь докрутить баланс под своих игроков — ускорить крафт, защитить новичков от рейдов на старте, но не превратить сервер в PvE-песочницу? Обе конфигурационные джейсонки в V Rising — не пара галочек, а десятки параметров, которые взаимно перекрывают друг друга: можно час крутить множители, а сервер их молча проигнорирует. Разберём оба файла по разделам — что где лежит, что на что влияет и какие настройки реально ловят гриферов, а какие только создают иллюзию защиты.

Где лежат конфиги и как они применяются

У V Rising два слоя настроек, и путаница между ними — источник половины вопросов в саппорте. В папке установки сервера лежат шаблоны:

VRisingServer_Data/StreamingAssets/Settings/ServerHostSettings.json
VRisingServer_Data/StreamingAssets/Settings/ServerGameSettings.json

Это read-only копии, которые Stunlock Studios перезаписывает при каждом апдейте игры. Реальные, рабочие конфиги, которые читает сервер при старте, находятся в профиле:

%USERPROFILE%\AppData\LocalLow\Stunlock Studios\VRisingServer\Settings\ServerHostSettings.json
%USERPROFILE%\AppData\LocalLow\Stunlock Studios\VRisingServer\Settings\ServerGameSettings.json

Ищи именно вторую папку — она создаётся при первом запуске сервера. Файлы — обычный JSON, редактируются любым текстовым редактором (Notepad++, VS Code), но перед правкой всегда останавливай сервер: изменения подхватываются только при рестарте, а если поймать файл в момент записи — сервер может стартовать с дефолтными значениями.

Разница между файлами простая: ServerHostSettings.json — «паспорт» сервера (порты, лимиты подключений, название, автосейвы), а ServerGameSettings.json — правила игрового мира (баланс, PvP, постройки). Про базовый разворот сервера — в инструкции по установке V Rising.

ServerHostSettings.json: сеть, лимиты, автосейвы

Это не про баланс игры, а про то, как сервер работает как процесс. Основные поля:

ПараметрДефолтЧто делает
Name"V Rising Server"Название в браузере серверов
Description""Текст в описании сервера
Port9876Игровой UDP-порт (не путать с 27015 — это не Source-игра)
QueryPort9877Порт для листинга в Steam/EOS
MaxConnectedUsers40Лимит одновременных игроков
MaxConnectedAdmins4Резерв слотов сверх лимита для админов
ServerFps30Целевой тикрейт симуляции сервера
SaveName"world1"Имя папки сохранения мира
Password""Пароль входа, пусто — паблик
SecuretrueЗащищённый режим (анти-чит слой)
ListOnMasterServer / ListOnSteam / ListOnEOStrueВидимость в списках серверов
AutoSaveCount50Сколько автосейвов хранить
AutoSaveInterval600Интервал автосейва в секундах
Rconобъект {Enabled, Password, Port}Удалённая консоль администрирования
GameSettingsPreset—Ключевое поле, о нём отдельно ниже

На практике важнее всего три вещи. Во-первых, Port/QueryPort — при аренде у хостера они обычно уже проброшены, менять их вручную без синхронизации с панелью бессмысленно. Во-вторых, AutoSaveInterval в 600 секунд на большом мире с активной застройкой может просаживать тикрейт в момент записи — если уже есть лаги на крупных базах, почитай разбор просадок тикрейта от построек. В-третьих, Rcon.Enabled: true с нормальным паролем обязателен, если планируешь администрировать сервер удалённо.

Поднять сервер V Rising за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

Пресеты сложности: GameSettingsPreset — главная ловушка

Вот та самая грабля, из-за которой люди правят ServerGameSettings.json и не видят эффекта. В ServerHostSettings.json есть поле GameSettingsPreset. Пока оно указывает на именованный пресет (в игре это соответствует пресетам из меню создания мира — вариации Relaxed/Standard/Brutal, PvP и PvE профили), сервер игнорирует твои ручные правки в ServerGameSettings.json и подгружает встроенный набор значений пресета поверх файла.

Чтобы ServerGameSettings.json реально работал как ты его написал — выстави пресет в кастомный режим ("Custom"). Только тогда движок читает значения построчно из файла, а не подставляет их из зашитого пресета.

Отдельно от GameSettingsPreset в игре есть GameDifficultyPreset — более грубый переключатель сложности (значения вроде Relaxed и Brutal), который управляет базовым уровнем угрозы мира: силой обычных мобов, скоростью голода/крови. Он пересекается по эффекту с UnitStatModifiers_Global из ServerGameSettings.json — если выставить Brutal и одновременно поднять PowerModifier юнитов руками, эффекты сложатся, и мир станет неиграбельно тяжёлым без явного намерения.

Практический порядок действий: сначала GameSettingsPreset: "Custom" в ServerHostSettings.json, потом уже редактируй ServerGameSettings.json — иначе всё ниже не применится.

Множители прогресса в ServerGameSettings.json

Самый большой блок файла — десятки модификаторов, все по умолчанию 1,0 (в примерах экспорта встречается запятая как разделитель, но парсер принимает и точку — используй точку, это безопаснее). Ключевые:

ПараметрПо умолчаниюДиапазонВлияет на
MaterialYieldModifier_Global1.00.25–5Выход ресурсов с нод (руда, дерево, камень)
DropTableModifier_General1.00.25–5Дроп с мобов и сундуков
DropTableModifier_Missions1.00.25–5Лут за задания слугам (охоты)
BloodEssenceYieldModifier1.00.25–5Кровяная эссенция с убийств
CraftRateModifier1.00.1–10Скорость крафта на станках (не рефайнмент)
RefinementRateModifier1.00.1–10Скорость переработки (плавильни, прессы и т.п.)
BuildCostModifier1.00–10Расход материалов на постройку
RecipeCostModifier1.00–10Стоимость крафта предметов
RefinementCostModifier1.00.1–10Стоимость переработки
ServantConvertRateModifier1.00.1–20Скорость превращения пленных в слуг
DismantleResourceModifier0.750–1Возврат материалов при разборе построек
InventoryStacksModifier1.00.25–5Размер стаков предметов

Для быстрого прогресса на кооп-сервере с друзьями обычно поднимают MaterialYieldModifier_Global и CraftRateModifier до 2–3, оставляя RecipeCostModifier заниженным (0.5–0.7) — так игроки быстрее доходят до интересного контента. На честном PvP-сервере с реальным экономическим давлением эти множители трогают минимально — иначе рейд теряет смысл, потому что отстроиться заново — вопрос получаса.

Учти: ResearchCostModifier и ResearchTimeModifier в официальной документации Stunlock прямо помечены как неиспользуемые в текущей реализации — можно менять, но на исследования это не повлияет.

Отдельно стоят боевые модификаторы урона — VampireStatModifiers (PhysicalPowerModifier, SpellPowerModifier, MaxHealthModifier игрока) и UnitStatModifiers_Global/UnitStatModifiers_VBlood (то же для обычных мобов и боссов). Если после правки этих секций сервер вообще перестал стартовать — почти наверняка это синтаксическая ошибка в JSON, а не сами значения модификаторов.

PvP/PvE и защита кланов от рейдов

Набор настроек, который определяет, насколько сервер безопасен для новичков и насколько раздражают гриферы.

Базовый режим и урон по замкам:

  • GameModeType — PvP или PvE, определяет саму механику урона между игроками.
  • CastleDamageMode — Never / Always / TimeRestricted. На честном PvP обычно Always, но если у тебя казуальное коммьюнити с разными часовыми поясами — TimeRestricted спасает от 3-часовых рейдов в 4 утра по местному.
  • PlayerDamageMode — Always / TimeRestricted, аналогично для урона игрок-игрок (в PvE игнорируется).
  • PvPProtectionMode — время неуязвимости новичков после захода на PvP-сервер: Disabled (0 сек), VeryShort (900), Short (1800), Medium (3600), Long (7200). Это единственная встроенная защита от убийства на споуне — на публичном сервере ставь минимум Short.

Защита замков и осада:

  • CastleHeartDamageMode — определяет, можно ли вообще уничтожить сердце замка врага: CanBeDestroyedOnlyWhenDecaying (только если владелец забросил базу и она в упадке — самый щадящий режим), CanBeDestroyedByPlayers, CanBeSeizedOrDestroyedByPlayers (можно ещё и захватить чужую базу себе).
  • SiegeWeaponHealth — здоровье осадного голема: VeryLow (500) … VeryHigh (2500). Влияет на то, сколько времени и ресурсов требует организованный рейд.
  • CastleSiegeTimer (по умолчанию 420 сек) — сколько длится состояние «пробитой» осады, пока постройки уязвимы и нельзя чинить стены.
  • CastleUnderAttackTimer (по умолчанию 60 сек) — блокировка строительства сразу после того, как по стене или двери ударили осадным оружием или взрывчаткой.
  • CastleMinimumDistanceInFloors (по умолчанию 2) — минимальное расстояние между чужими сердцами замков в клетках построек, защищает от блокирования чужого спота вплотную.

Кланы и окна PvP по расписанию:

  • ClanSize (по умолчанию 4, диапазон 1–10) — сколько игроков может быть в одном клане с общим прогрессом и совместной застройкой. Для дружеских серверов часто поднимают до 6–8.
  • DeathContainerPermission — кто может лутать труп: Anyone, ClanMembers, OnlySelf.
  • Блоки VSPlayerWeekdayTime/VSPlayerWeekendTime/VSCastleWeekdayTime/VSCastleWeekendTime — если PlayerDamageMode/CastleDamageMode выставлены в TimeRestricted, именно эти блоки (StartHour/StartMinute/EndHour/EndMinute плюс TimeZone: Local/UTC/PST/CET/CST) задают окна, когда PvP и рейды разрешены. Удобно для серверов с игроками из разных часовых поясов — можно разрешить рейды только по вечерам выходных.

Моды, которые трогают эти же механики (кастомный баланс кланов, PvP-плагины), устанавливаются поверх ванильного баланса — см. топ модов для сервера V Rising.

Лимиты построек: сколько игрок может застроить

Раздел CastleStatModifiers_Global — то, о чём забывают, пока сервер не забивается гигантскими базами и не начинает тормозить. Лимиты растут по уровню сердца замка (HeartLimits.Level1…Level4):

Уровень сердцаFloorLimit (плитки/этажи)ServantLimit (гробы слуг)
Level 1303
Level 2805
Level 31507
Level 42509

Плюс общие лимиты на игрока: CastleLimit (2 — сколько сердец замка можно иметь одновременно), SafetyBoxLimit (1 — вампирских сейфов на замок), TombLimit (12), VerminNestLimit (4). FloorLimit можно расширять до 250 даже на Level 1, если хочешь дать игрокам простор без прокачки — но каждая дополнительная плитка постройки это лишняя нагрузка на симуляцию и декей, который считается через CastleDecayRateModifier и CastleBloodEssenceDrainModifier. Если после увеличения лимитов сервер начал тормозить на крупных базах — смотри TickPeriod в CastleStatModifiers_Global (по умолчанию 5): реже тикать — меньше нагрузка, но и менее отзывчивый декей заброшенных построек.

Часть модов (BepInEx-плагины на управление лимитами построек) конфликтует с ручными правками CastleStatModifiers_Global — ставь их по инструкции по установке модов, чтобы не поймать рассинхрон между конфигом мода и ServerGameSettings.json.

Поднять сервер V Rising за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

Частые вопросы

Я поменял ServerGameSettings.json, но в игре ничего не изменилось. Почему?

Почти всегда GameSettingsPreset в ServerHostSettings.json до сих пор указывает на именованный пресет вместо "Custom". Пока это так, значения из файла игнорируются в пользу пресета.

Можно ли применить новые настройки без полного рестарта сервера?

Нет, оба конфига читаются только при старте процесса — после ручной правки JSON нужен рестарт.

Что будет, если выставить значение множителя за пределами Min/Max из документации?

Сервер обычно клампит значение до ближайшей границы диапазона либо откатывает к дефолту при следующей загрузке — рассчитывать на значения вне документированных пределов не стоит.

Как понять, что я сломал в JSON, если сервер не стартует после правки конфига?

В большинстве случаев это синтаксис — лишняя или пропущенная запятая, незакрытая скобка. Прогони файл через JSON-валидатор перед сохранением; если сервер всё равно падает при старте — смотри лог, движок обычно называет некорректный ключ.

Разные ClanSize и лимиты застройки — это про производительность или про баланс?

И то, и другое: большие кланы с раздутыми FloorLimit дольше остаются активными в памяти сервера и чаще требуют пересчёта декея, так что на слабом железе стоит либо снижать лимиты, либо резервировать больше RAM заранее.