V Rising — ServerHostSettings.json полностью
Настроил сервер 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 | "" | Текст в описании сервера |
Port | 9876 | Игровой UDP-порт (не путать с 27015 — это не Source-игра) |
QueryPort | 9877 | Порт для листинга в Steam/EOS |
MaxConnectedUsers | 40 | Лимит одновременных игроков |
MaxConnectedAdmins | 4 | Резерв слотов сверх лимита для админов |
ServerFps | 30 | Целевой тикрейт симуляции сервера |
SaveName | "world1" | Имя папки сохранения мира |
Password | "" | Пароль входа, пусто — паблик |
Secure | true | Защищённый режим (анти-чит слой) |
ListOnMasterServer / ListOnSteam / ListOnEOS | true | Видимость в списках серверов |
AutoSaveCount | 50 | Сколько автосейвов хранить |
AutoSaveInterval | 600 | Интервал автосейва в секундах |
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_Global | 1.0 | 0.25–5 | Выход ресурсов с нод (руда, дерево, камень) |
DropTableModifier_General | 1.0 | 0.25–5 | Дроп с мобов и сундуков |
DropTableModifier_Missions | 1.0 | 0.25–5 | Лут за задания слугам (охоты) |
BloodEssenceYieldModifier | 1.0 | 0.25–5 | Кровяная эссенция с убийств |
CraftRateModifier | 1.0 | 0.1–10 | Скорость крафта на станках (не рефайнмент) |
RefinementRateModifier | 1.0 | 0.1–10 | Скорость переработки (плавильни, прессы и т.п.) |
BuildCostModifier | 1.0 | 0–10 | Расход материалов на постройку |
RecipeCostModifier | 1.0 | 0–10 | Стоимость крафта предметов |
RefinementCostModifier | 1.0 | 0.1–10 | Стоимость переработки |
ServantConvertRateModifier | 1.0 | 0.1–20 | Скорость превращения пленных в слуг |
DismantleResourceModifier | 0.75 | 0–1 | Возврат материалов при разборе построек |
InventoryStacksModifier | 1.0 | 0.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 1 | 30 | 3 |
| Level 2 | 80 | 5 |
| Level 3 | 150 | 7 |
| Level 4 | 250 | 9 |
Плюс общие лимиты на игрока: 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 заранее.