Выделенный сервер V Rising - это бесплатное приложение под Windows (приложение Steam 1829350), которое настраивается двумя JSON-файлами. В ServerHostSettings.json описано, что представляет собой сервер, - имя, порты, пароль, лимит игроков, имя сохранения, автосохранение, RCON. В ServerGameSettings.json - как играется игра: PvP или PvE, правила рейдов на замки, размер клана, рейты лута и крафта, длина суток. Сервер слушает UDP 9876 для игры и 9877 для Steam query, вмещает по умолчанию до 40 игроков и хранит мир в виде пронумерованных автосохранений в папке, которую вы задаёте через -persistentDataPath. Администраторы - это SteamID в adminlist.txt. Всё, что ниже, - подробности: какую копию файлов сервер на самом деле читает, что делает каждая настройка и как не потерять замок.
Как работают серверы V Rising#
В мир V Rising можно играть одному, хостить его приватно из игры или держать на выделенном сервере. Выделенный сервер держит мир - замки, слуг, территорию, прогресс - запущенным и доступным, даже когда никого нет в сети, и в V Rising это важнее, чем в большинстве игр на выживание, потому что замки разрушаются, когда в их сердцах заканчивается эссенция крови. Выключенный сервер нельзя зарейдить, но замок, хозяин которого не заходил неделю, на работающем сервере всё равно разрушается.
Факты, которые определяют всю остальную настройку:
- Исполняемый файл сервера есть только под Windows. Stunlock поставляют
VRisingServer.exe. На Linux он работает под Wine или Proton. Общий подход описан в статье Wine и Proton для серверов только под Windows. - Персонажи живут на сервере. В отличие от Valheim или Enshrouded, персонаж V Rising принадлежит сохранению одного сервера. На каждом новом сервере игрок начинает с нуля.
- У каждого файла настроек две копии. Значения по умолчанию в установке и активные копии в вашей папке данных. Правка не той копии - самая частая ошибка при настройке, о ней дальше.
Требования#
Сервер V Rising умеренный. Память растёт с числом замков и слуг сильнее, чем с числом игроков.
| Сервер | RAM | CPU | Диск |
|---|---|---|---|
| 1-10 игроков, PvE | 4-6 GB | 2 ядра | 15 GB |
| 10-25 игроков | 6-8 GB | 2-3 ядра | 20 GB |
| 25-40 игроков, много замков | 8-12 GB | 3-4 ядра | 25 GB |
При работе под Wine добавьте немного памяти. ServerFps в настройках хоста (по умолчанию 30) задаёт, сколько кадров симуляции в секунду сервер пытается выполнять; оставьте значение по умолчанию. Его повышение стоит CPU прямо пропорционально и редко улучшает что-то заметное игрокам. Почему, объясняется в статье что на самом деле значит tick rate.
Установка и persistent data path#
$ steamcmd +@sSteamCmdForcePlatformType windows \ +force_install_dir /home/vrising/server \ +login anonymous +app_update 1829350 validate +quitСервер всегда следует запускать с persistent data path - папкой, в которой он хранит сохранения и активные копии своих настроек:
VRisingServer.exe -persistentDataPath .\save-data -serverName "Longship Vampires" -saveName "world1" -logFile ".\logs\VRisingServer.log"Без -persistentDataPath сервер использует папку глубоко в профиле пользователя Windows, которую трудно найти, трудно копировать и которая теряется, если профиль пользователя меняется. Задайте путь один раз и больше его не меняйте: если поменять его позже, сервер будет смотреть в пустую папку и начнёт новый мир.
Файлы настроек существуют в двух местах:
| Расположение | Роль |
|---|---|
VRisingServer_Data/StreamingAssets/Settings/ | Значения по умолчанию, поставляемые с сервером. Перезаписываются при обновлении |
<persistentDataPath>/Settings/ | Ваши копии. Если они есть, сервер отдаёт предпочтение им |
Скопируйте ServerHostSettings.json и ServerGameSettings.json из StreamingAssets/Settings/ установки в <persistentDataPath>/Settings/ и правьте только эти копии. Правки файлов в папке установки пропадут при следующем обновлении сервера. Аргументы запуска вроде -serverName и -saveName переопределяют соответствующие настройки хоста - это удобно в панели, где они являются полями на вкладке Startup, и сбивает с толку, если забыть, что они там есть.
ServerHostSettings.json#
{ "Name": "Longship Vampires", "Description": "PvE, relaxed rates, EU evenings", "Port": 9876, "QueryPort": 9877, "MaxConnectedUsers": 40, "MaxConnectedAdmins": 4, "ServerFps": 30, "SaveName": "world1", "Password": "", "Secure": true, "ListOnSteam": true, "ListOnEOS": true, "AutoSaveCount": 20, "AutoSaveInterval": 120, "CompressSaveFiles": true, "GameSettingsPreset": "", "AdminOnlyDebugEvents": true, "DisableDebugEvents": false, "Rcon": { "Enabled": false, "Port": 25575, "Password": "" }}| Ключ | Что делает |
|---|---|
Name, Description | Показываются в списке серверов |
Port, QueryPort | Игровой порт и query-порт, оба UDP |
MaxConnectedUsers | Лимит игроков |
MaxConnectedAdmins | Дополнительные слоты, которыми администраторы могут пользоваться на заполненном сервере |
SaveName | Имя папки мира внутри каталога сохранений |
Password | Пароль для входа; пусто - без пароля |
Secure | Включает VAC |
ListOnSteam, ListOnEOS | Показывать сервер в браузере для Steam и для Epic и других платформ |
AutoSaveCount | Сколько автосохранений хранить |
AutoSaveInterval | Секунд между автосохранениями |
CompressSaveFiles | Сохранения меньше ценой небольшой нагрузки на CPU |
GameSettingsPreset | Использовать именованный пресет вместо ServerGameSettings.json |
Rcon | Удалённая консоль; по умолчанию выключена |
SaveName - это и есть мир. Поменяйте его, и сервер начнёт новый мир под новым именем; верните обратно, и старый вернётся. Поэтому это самый чистый способ запустить новый сезон, сохранив прошлый на диске.
GameSettingsPreset - вторая ловушка. Если задано имя пресета - например, StandardPvP или StandardPvE, - сервер использует этот пресет и игнорирует ваш ServerGameSettings.json. Оставьте поле пустым, чтобы использовать собственный файл.
ServerGameSettings.json: правила#
ServerGameSettings.json длинный. Настройки, которые меняют в первую очередь:
| Ключ | Значения | Действие |
|---|---|---|
GameModeType | PvP, PvE | Основной режим |
CastleDamageMode | Never, Always, TimeRestricted | Когда замкам можно наносить урон |
PlayerDamageMode | Always, TimeRestricted | Когда игроки могут наносить урон друг другу |
ClanSize | число, по умолчанию 4 | Игроков в клане |
CanLootEnemyContainers | true, false | Можно ли грабить сундуки |
BloodBoundEquipment | true, false | Сохраняется ли снаряжение при смерти |
TeleportBoundItems | true, false | Мешают ли ресурсы перемещаться через путевые врата |
AllWaypointsUnlocked | true, false | Все путевые врата открыты с самого начала |
RelicSpawnType | Unique, Plentiful | Один экземпляр каждого Soul Shard или много |
Рейты и стоимости - это множители, где 1.0 соответствует стандартной игре:
MaterialYieldModifier_Global- добываемые ресурсы.DropTableModifier_General- лут с врагов и из контейнеров.BloodEssenceYieldModifier- получаемая эссенция крови, которой питаются сердца замков.InventoryStacksModifier- размер стаков.CraftRateModifier- скорость крафта (больше - быстрее).ResearchCostModifier,RefinementCostModifier,BuildCostModifier- стоимости (меньше - дешевле).ServantConvertRateModifier- скорость обращения людей в слуг.CastleDecayRateModifier- как быстро разрушаются замки без подпитки.0фактически отключает разрушение.CastleBloodEssenceDrainModifier- как быстро сердца замков сжигают эссенцию крови.
TeleportBoundItems=false - самое востребованное изменение для удобства: оно позволяет игрокам проносить руду через путевые врата и избавляет от множества пеших переходов. TeleportBoundItems и BloodBoundEquipment вместе решают, насколько сурово наказываются смерть и перемещения, так что договоритесь о них всей группой.
Во вложенных объектах лежат более подробные правила. GameTimeModifiers задаёт длину суток (DayDurationInSeconds) и дневные часы; VampireStatModifiers и UnitStatModifiers_Global масштабируют урон и здоровье; UnitStatModifiers_VBlood масштабирует боссов V Blood; а в CastleStatModifiers_Global лежат лимиты замков, включая HeartLimits для каждого уровня сердца (плитки пола и число слуг) и число замков, которыми может владеть каждый игрок. Меняйте их маленькими шагами: изменения здоровья и урона боссов расходятся волнами по всей прогрессии.
Полный набор ключей меняется с версиями игры. Эталон для вашей версии - файл в StreamingAssets/Settings/ установки, а каждый ключ описан в собственной серверной документации Stunlock.
Окна PvP и рейды на замки#
На PvP-сервере режимы TimeRestricted ограничивают бои и рейды заданными часами, которые определяются в PlayerInteractionSettings:
"CastleDamageMode": "TimeRestricted","PlayerDamageMode": "Always","PlayerInteractionSettings": { "TimeZone": "Local", "VSPlayerWeekdayTime": { "StartHour": 18, "StartMinute": 0, "EndHour": 23, "EndMinute": 0 }, "VSPlayerWeekendTime": { "StartHour": 16, "StartMinute": 0, "EndHour": 23, "EndMinute": 0 }, "VSCastleWeekdayTime": { "StartHour": 19, "StartMinute": 0, "EndHour": 22, "EndMinute": 0 }, "VSCastleWeekendTime": { "StartHour": 18, "StartMinute": 0, "EndHour": 23, "EndMinute": 0 }}TimeZone может быть Local (часы машины сервера) или именованным часовым поясом; допустимые имена смотрите в документации своей версии. Окна рейдов - главный инструмент, который делает PvP честным для тех, кто не может сидеть в сети весь вечер: в замок нельзя вломиться, пока его хозяева спят. Выбирайте часы под то, где живут ваши игроки. Серверу в Германии с европейским сообществом нужны вечера по центральноевропейскому времени; серверу, чьи игроки разбросаны по континентам, нужен компромисс, который кому-нибудь не понравится.
TimeZone: Local следует часам сервера, а на многих хостинговых серверах это UTC. Если окна рейдов открываются со сдвигом на час-два, причина в этом. Задайте пояс явно или поправьте часы.
Пример: спокойный PvE для шести друзей#
Небольшой группе, которая играет несколько вечеров в неделю, нужно не то же самое, что публичному PvP-серверу, а значения по умолчанию настроены под второе. Конфигурация, которая обычно работает:
"GameModeType": "PvE","CastleDamageMode": "Never","ClanSize": 6,"TeleportBoundItems": false,"BloodBoundEquipment": true,"MaterialYieldModifier_Global": 2.0,"InventoryStacksModifier": 2.0,"CraftRateModifier": 2.0,"ServantConvertRateModifier": 2.0,"CastleDecayRateModifier": 0.0Логика, строка за строкой. PvE без урона по замкам, потому что никто в компании друзей не хочет вернуться к разграбленной базе. Размер клана на всю группу, чтобы при желании все делили один замок. Путевые врата, через которые можно носить ресурсы, потому что таскать руду через всю карту - самая неинтересная часть игры для людей с ограниченным числом вечеров. Снаряжение сохраняется при смерти, так что неудачный бой стоит времени, но не часов крафта. Двойные добыча, стаки, крафт и обращение слуг, чтобы игра уместилась в несколько вечеров в неделю, не пропуская её целиком. И без разрушения замков, потому что тот, кто уехал в отпуск на две недели, не должен терять свою часть замка.
То, что конфигурация оставляет нетронутым, так же осознанно: здоровье и урон боссов остаются стандартными, чтобы бои с V Blood - то, ради чего большинство и играет, - сохранили свою сложность. Если группа, догнав снаряжение, сочтёт боссов слишком сложными, настраивать нужно UnitStatModifiers_VBlood, маленькими шагами.
Производительность и перезапуски#
Сервер V Rising долго работает стабильно для небольшой группы и начинает обходиться дороже по мере того, как множатся замки и слуги. Слуги симулируются независимо от того, в сети ли их хозяин, а большие замки - это много объектов для сохранения. Если на зрелом мире автосохранения вызывают заметный подвис, CompressSaveFiles обменивает немного CPU на меньший объём записи, а чуть больший AutoSaveInterval делает подвис реже ценой больших потерь в худшем случае.
Ежедневный или еженедельный перезапуск в тихий час держит память ровной на долгоживущем мире; о выборе времени - в статье расписания перезапусков, которые помогают, а команда RCON announcerestart - чистый способ заранее предупредить игроков.
Порты и подключение#
| Порт | Протокол | Назначение |
|---|---|---|
9876 | UDP | Игровой трафик |
9877 | UDP | Steam query, его использует браузер серверов |
25575 | TCP | RCON, только если включён |
Оба игровых порта - UDP. Если сервер работает, но его никто не видит, первый подозреваемый - query-порт; логика разобрана в статье порты игровых серверов. Игроки могут искать сервер по имени во внутриигровом браузере или использовать Direct Connect с адресом и игровым портом. Новый сервер появляется в списке через несколько минут.
Администраторы, консоль и RCON#
Права администратора берутся из adminlist.txt в <persistentDataPath>/Settings/ (если его нет, скопируйте из значений по умолчанию установки), по одному SteamID64 на строку. Бан-лист - banlist.txt рядом с ним. Оба файла читаются во время работы сервера.
Администратор включает внутриигровую консоль (в настройках игры, в разделе общих настроек), открывает её клавишей backtick или тильды и авторизуется:
| Команда | Действие |
|---|---|
adminauth | Даёт права администратора, если ваш SteamID есть в списке |
admindeauth | Снимает их |
kick <name> | Отключает игрока |
banuser <name or SteamID> | Банит и добавляет в banlist.txt |
unban <SteamID> | Снимает бан |
banned | Выводит список банов |
AdminOnlyDebugEvents и DisableDebugEvents в настройках хоста определяют, могут ли администраторы использовать отладочные события вроде спавна; на честном PvP-сервере держите их ограниченными.
RCON ограничен. Когда он включён, он поддерживает небольшой набор команд, по сути объявления на сервере и объявление о перезапуске с таймером (announce и announcerestart). Он полезен для предупреждений по расписанию, а не для администрирования. Защищайте его так же, как любую удалённую консоль, - как именно, разобрано в статье безопасный RCON.
Сохранения, резервные копии и вайпы#
Сохранения лежат в <persistentDataPath>/Saves/, в папке версии (например, v3 или v4, в зависимости от формата сохранения вашей сборки), затем в папке, названной по SaveName, где находятся пронумерованные автосохранения. Сервер записывает одно каждые AutoSaveInterval секунд и хранит AutoSaveCount штук, удаляя самые старые.
- Делайте копии всей папки `Saves` и своей папки `Settings` - ежедневно и перед каждым обновлением. Автосохранения лежат на том же диске, что и мир, который они защищают.
- Останавливайте штатно. Штатная остановка записывает мир. Убитый процесс или остановка из-за нехватки памяти теряет всё, что произошло с последнего автосохранения.
- Восстанавливайте так: остановите сервер, верните скопированную папку сохранения под тем же
SaveNameи запустите его. Чтобы откатиться в пределах собственных автосохранений сервера, уберите более новые папки автосохранений, чтобы нужное стало последним. Храните копии того, что убираете. - Вайпайте, меняя
SaveName. Новый мир начинается пустым; старый остаётся на диске.
Почему восстановить одну копию намеренно важнее, чем сделать много копий, объясняется в статье резервные копии, которые действительно восстанавливаются.
В RE:NODE папка persistent data и оба JSON-файла доступны в файловом менеджере и по SFTP, слоты резервных копий есть в каждом игровом тарифе, а вкладка Schedules может запускать ночной backup и перезапуск. Отдельной строки в каталоге у V Rising нет; что предлагается, смотрите в списке игровых серверов.
Моды#
Моды V Rising работают на BepInEx и распространяются в основном через Thunderstore. Серверные моды добавляют команды администратора, правила для удобства и события, ничего не требуя от клиента; некоторым модам нужны обе стороны. Крупные обновления игры ломают моды BepInEx, пока их не пересоберут, поэтому сервер с модами не должен обновляться в день патча. Об этом дне - статья что делать, когда обновление мода всё сломало. Многие серверы работают на ванильной игре, потому что ServerGameSettings.json и так покрывает большую часть того, что игроки хотят изменить.
Если что-то не работает#
Изменения настроек ничего не дают. Вы правили копию в StreamingAssets, задан GameSettingsPreset или значение переопределяет аргумент запуска.
Сервер начал новый мир. Изменился SaveName или -persistentDataPath. Верните их и перезапустите.
Сервера нет в браузере серверов. Query-порт закрыт или не UDP, ListOnSteam равен false, или список медленный. Проверьте через Direct Connect.
Окна рейдов не в то время. Часы сервера в UTC, а TimeZone равен Local.
Команды администратора отклоняются. SteamID нет в adminlist.txt в активной папке Settings, или не выполнена команда adminauth.
FAQ#
Сколько игроков может быть на сервере V Rising?
MaxConnectedUsers по умолчанию равен 40. Можно и больше, но замки и слуги растут вместе с игроками, и серверу нужны соответствующие память и CPU.
Переносятся ли персонажи V Rising между серверами?
Нет. Персонажи принадлежат сохранению сервера. Зайти на новый сервер - значит начать нового персонажа.
Как отключить разрушение замков?
Поставьте CastleDecayRateModifier в 0 в ServerGameSettings.json. На частном сервере это избавляет людей от потери замка, пока их нет.
Можно ли запустить V Rising на Linux?
Только через Wine или Proton; сервер - сборка под Windows.
Как начать новый сезон?
Поменяйте SaveName и перезапустите сервер. Сервер создаст новый мир, а старое сохранение останется в своей папке.




Комментарии
Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.