RE:NODE

Руководства11 мин чтения

Настройки сервера SCUM: ServerSettings.ini

Руководство по ServerSettings.ini в SCUM: где лежит файл, формат ключей scum., время суток, марионетки, множители лута, слава, возрождение и соседние файлы.

0 прочтений

Сервер SCUM настраивается почти целиком в одном файле, SCUM/Saved/Config/WindowsServer/ServerSettings.ini, все ключи которого начинаются с scum. и сгруппированы по секциям вроде [General], [World], [Respawn], [Vehicles], [Damage] и [Features]. Он читается один раз при запуске, так что любое изменение требует остановки, правки и запуска. Сильнее всего на сервер влияют имя и пароль, скорость времени суток и темнота ночи, лимит и здоровье марионеток (зомби), множители спавнеров лута, а также правила славы и возрождения. Рядом лежит несколько файлов поменьше - для админов, банов, вайтлистов, времени рейдов и цен у торговцев. Это руководство проходит по всем из них и показывает, какие значения стоит менять, а какие лучше оставить в покое.

Прежде всего - пара слов о версиях. Формат конфигурации SCUM менялся за время жизни игры: в старых руководствах ключи без префикса scum. стоят под единственным заголовком [SCUM] и носят имена, которых больше не существует. Сервер молча игнорирует ключи, которых не знает. Считайте файл, который сервер записывает при первом запуске, главным источником для своей сборки, а это руководство используйте, чтобы понимать смысл ключей, а не чтобы вслепую вставлять значения.

Как устанавливается выделенный сервер SCUM#

Выделенный сервер - отдельное приложение Steam с app id 3792580, не совпадающее с самой игрой. Он скачивается через SteamCMD с анонимным входом:

bash
$ steamcmd +force_install_dir C:\scum-server +login anonymous \    +app_update 3792580 validate +quit

Исполняемый файл - SCUM\Binaries\Win64\SCUMServer.exe, и это программа для Windows. Нативной сборки под Linux нет; хостинги, которые запускают SCUM на Linux-машинах, делают это через слой совместимости, поэтому во всех путях в этом руководстве стоит WindowsServer независимо от операционной системы хоста. Если вы впервые сталкиваетесь со SteamCMD, app id и validate, основы описаны в статье SteamCMD простыми словами.

Минимальная строка запуска:

bash
$ SCUMServer.exe -log -port=7777 -MaxPlayers=64

-log открывает вывод лога, -port= задаёт игровой порт, а -MaxPlayers= ограничивает число слотов. Запустите сервер один раз, дождитесь момента, когда он начнёт принимать игроков, и остановите: первый запуск создаёт папку конфигурации, и дальше файлы в вашем распоряжении.

Порты и подключение#

SCUM использует блок последовательных портов, отсчитываемых от того, что вы задали через -port=:

ПортПротоколНазначение
Игровой порт (например, 7777)UDPТрафик игровых клиентов
Игровой порт + 1 (7778)UDPRaw UDP-сокет
Игровой порт + 2 (7779)UDPSteam query, его читает браузер серверов

Все три должны быть доступны, и все они UDP. Если сервер работает, но так и не появляется в списке, обычно query-порт (тот, что +2) заблокирован или занят чем-то другим. Двум серверам на одной машине нужны непересекающиеся блоки, например 7777 и 7780. Steam резервирует для себя порты в диапазоне 27020-27050, так что держите блок за его пределами. Почему игры разделяют query-трафик и игровой трафик, объясняется в статье порты игровых серверов.

Игроки заходят через внутриигровой браузер, отфильтровав по имени, или по прямому IP. Хостинги и списки серверов показывают из блока не всегда один и тот же порт - одни игровой, другие query, - так что если прямое подключение по одному не работает, попробуйте другой, прежде чем подозревать файрвол, и сообщите игрокам, какой использовать.

Папка конфигурации#

После первого запуска в SCUM/Saved/Config/WindowsServer/ лежат:

ФайлЧто в нём
ServerSettings.iniВсё о том, как играется мир
AdminUsers.iniSteamID64, которым разрешены админ-команды, с необязательными дополнительными правами
ServerSettingsAdminUsers.iniSteamID64, которым разрешено менять настройки сервера из игры
BannedUsers.iniЗабаненные SteamID64
WhitelistedUsers.iniИгроки с приоритетными слотами
ExclusiveUsers.iniСписок допуска, когда зайти могут только перечисленные игроки
SilencedUsers.iniИгроки с отключённым чатом
EconomyOverride.jsonПереопределения цен и запасов у торговцев
RaidTimes.jsonОкна, когда базы можно рейдить
Notifications.jsonСообщения по расписанию
Loot/Переопределения спавнеров лута, параметров предметов и дерева лута

Файлам админов и банов посвящена статья админ-команды и сквады в SCUM, а папка лута описана в статье производительность и лут в SCUM. Этот пост - про ServerSettings.ini.

Сам мир - каждый персонаж, база, машина и сквад - хранится в SCUM/Saved/SaveFiles/SCUM.db, базе данных SQLite с сопутствующими файлами -wal и -shm. Эти три файла неразделимы. Делайте их backup вместе и при остановленном сервере.

Соглашения в ServerSettings.ini#

Файл подчиняется нескольким правилам, и, зная их, можно прочитать любой ключ:

  • Каждый ключ начинается с `scum.`: scum.ServerName, scum.MaxPing, scum.TimeOfDaySpeed.
  • Переключатели принимают `True` или `False`.
  • Множители считаются относительно стандартных значений. 1.000000 - значение разработчиков, 2 удваивает его, 0.5 уменьшает вдвое.
  • `-1` означает «использовать значение игры по умолчанию», а не ноль. Лимит -1 не во всех случаях означает «без ограничений»; он означает «как решит игра».
  • Длительности записываются как `HH:MM:SS`, например 24:00:00, а не количеством часов.
  • У валюты может быть суффикс. 2g означает два золота; число без суффикса - обычные деньги.

General: имя, пароль, пинг и сообщения#

ServerSettings.ini
[General]scum.ServerName=EU | PvE weekdays, raids at weekends | Discord: example.gg/scumscum.ServerDescription=Moderated, active admins, loot boosted x1.5scum.ServerPassword=scum.MaxPlayers=64scum.WelcomeMessage=Read the rules on the Discord before building.scum.MessageOfTheDay=Restarts at 06:00 and 18:00 CET.scum.MaxPing=200

scum.ServerName и scum.ServerDescription - ваша реклама. Вынесите в имя регион, стиль (PvP, PvE, смешанный) и то, как с вами связаться, потому что именно по этому игроки фильтруют. Пустой scum.ServerPassword делает сервер публичным.

scum.MaxPlayers - число слотов. Аргумент запуска -MaxPlayers= задаёт то же самое, и если есть оба, хостинг обычно выставляет одно из другого; держите их согласованными. Честное число зависит от CPU, а не от поля: SCUM - сервер на Unreal с большим объёмом симуляции на каждого игрока, и полностью заполненному серверу на 64 слота нужно серьёзное железо. Общая логика - в статье сколько игроков помещается на сервер.

scum.MaxPing выкидывает игроков, чей пинг держится выше значения в миллисекундах. Для сервера в Центральной Европе около 200 пускает большую часть Европы и соседних регионов и отсекает подключения, которые рассинхронизируют всех вокруг.

scum.WelcomeMessage показывается при входе, а scum.MessageOfTheDay повторяется с интервалом, заданным в scum.MessageOfTheDayCooldown. Для чего-то более сложного - предупреждений о перезапуске в фиксированное время - лучше подходит Notifications.json.

scum.ServerPlaystyle помечает сервер в браузере как PvP или PvE. Считайте это просто меткой: исторически она ничего не принуждала, а реальные правила задают настройки урона, время рейдов и ваша модерация.

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

World: время, темнота и население#

ServerSettings.ini
[World]scum.StartTimeOfDay=08:00:00scum.TimeOfDaySpeed=3.84scum.NighttimeDarkness=0.0scum.SunriseTime=06:00:00scum.SunsetTime=21:00:00scum.MaxAllowedPuppets=-1scum.AreAnimalsAllowedInWorld=Truescum.AnimalGlobalDensityMultiplier=1scum.RadiationEnabled=True

Время. scum.TimeOfDaySpeed - насколько быстрее реального идут игровые часы. При значении около 3.84 полные игровые сутки длятся чуть больше шести реальных часов; удвоение сокращает это вдвое. scum.StartTimeOfDay - время на часах при старте сервера, а scum.SunriseTime и scum.SunsetTime задают, какая часть цикла приходится на светлое время. Последние сборки записывают некоторые из этих значений как длительности HH:MM:SS; старые использовали десятичные часы. Придерживайтесь того формата, который уже есть в вашем файле.

scum.NighttimeDarkness - насколько тёмной становится ночь. Ночи SCUM на тёмном конце шкалы очень тёмные, и заметная часть игроков на это время уходит. Большинство серверов сообщества либо делают ночи короткими (более ранний закат, более поздний рассвет или более высокая скорость), либо немного их осветляют. Если поменять и то, и другое сразу, будет трудно понять, на что именно реагируют игроки.

Марионетки. Марионетки (puppets) - это заражённые в SCUM. scum.MaxAllowedPuppets ограничивает, сколько их одновременно существует во всём мире, а -1 оставляет это на усмотрение игры. Этот лимит - один из двух главных рычагов производительности сервера SCUM наряду с числом игроков, потому что каждая марионетка - персонаж с AI, которого симулирует сервер. Урон и здоровье марионеток - отдельные множители в секции урона. Если по вечерам сервер не справляется, снизить лимит марионеток - лучший первый шаг, чем снижать число слотов.

Животные. scum.AreAnimalsAllowedInWorld включает или выключает фауну, scum.AnimalGlobalDensityMultiplier масштабирует её, а множители распространённости по видам (медведь, кабан, олень, волк и другие) настраивают состав. Сервер с упором на охоту поднимает оленей и кабанов; хардкорный - волков и медведей.

Радиация. scum.RadiationEnabled сохраняет радиационные зоны, которые охраняют часть лучшего лута. Если её выключить, эти районы станут обычными точками для лута.

В секции мира также лежат лимиты ключ-карт для ценных объектов, тайминги встреч и грузовых сбросов и другие события мира. Меняйте их, когда основы уже устоялись, и по одному.

Лут и спавн предметов#

Количество лута управляется на двух уровнях: глобальными множителями в ServerSettings.ini и подробными переопределениями по спавнерам и предметам в папке Loot/.

ServerSettings.ini
scum.SpawnerProbabilityMultiplier=1scum.ExamineSpawnerProbabilityMultiplier=1scum.ExamineSpawnerExpirationTimeMultiplier=1scum.EnableItemCooldownGroups=1scum.ItemCooldownGroupsDurationMultiplier=1.000000

Что делает каждый из них:

  • scum.SpawnerProbabilityMultiplier масштабирует шанс того, что спавнер лута в открытом мире что-то выдаст. Это и есть та настройка «loot x1.5», которую рекламируют в именах серверов.
  • scum.ExamineSpawnerProbabilityMultiplier делает то же для обыскиваемых контейнеров - шкафов, ящиков, шкафчиков, которые игрок осматривает.
  • scum.ExamineSpawnerExpirationTimeMultiplier влияет на то, как долго обысканный контейнер считается обысканным, прежде чем его снова можно лутать.
  • scum.EnableItemCooldownGroups и scum.ItemCooldownGroupsDurationMultiplier управляют группами перезарядки, которые не дают одному и тому же классу ценных предметов снова появиться слишком скоро после того, как один из них нашли.

Поднимайте множители аккуратно. Удвоение лута звучит щедро, а на деле обычно приводит к тому, что за день все полностью экипированы, и остаётся только драться или выходить из игры. Умеренная прибавка - от 1.25 до 1.5 - плюс более быстрое восполнение базовых вещей вроде еды и воды ближе к тому, чего на самом деле хочет большинство групп. Настройка по предметам, которая это делает возможным, описана в статье производительность и лут в SCUM.

Возрождение, слава и сквады#

SCUM связывает смерть и возрождение с очками славы и внутриигровой валютой. Секция возрождения назначает цену каждому варианту - случайному, по сектору, в убежище, у сквада - и задаёт перезарядку между использованиями.

ServerSettings.ini (respawn and fame keys)
scum.SquadRespawnPrice=2gscum.CloningSicknessEnabled=Truescum.FameGainMultiplier=1.0scum.FamePointPenaltyOnDeath=0.1

Как это сочетается:

  • Цены возрождения определяют, насколько широк выбор у игрока после смерти. Дешёвые возрождения по сектору и в убежище поддерживают темп боёв; дорогие делают смерть весомой.
  • `scum.CloningSicknessEnabled` накладывает дебафф после возрождения. Он отбивает охоту к самоубийству ради возрождения, чтобы выбраться из неудачной позиции.
  • `scum.FameGainMultiplier` масштабирует скорость набора славы. Слава открывает варианты возрождения и видна в игре как статус.
  • `scum.FamePointPenaltyOnDeath` - доля славы, теряемая при смерти.

Поведение сквадов - сколько надгробий может держать сквад, сколько флагов может принадлежать игроку, сколько времени нужно, чтобы перехватить флаг, - находится в секции features:

ServerSettings.ini
[Features]scum.TombstoneMaxAmountPerSquad=3scum.AllowMultipleFlagsPerPlayer=Falsescum.NumberOfAllowedFlagsPerPlayer=10scum.FlagOvertakeDuration=24:00:00scum.AllowMapScreen=True

scum.NumberOfAllowedFlagsPerPlayer действует, только если scum.AllowMultipleFlagsPerPlayer равно True. Флаги определяют базы, а именно базы заполняют базу данных долгоживущего сервера SCUM, поэтому будьте сдержанны с обоими. scum.FlagOvertakeDuration - сколько противнику нужно удерживать область флага, чтобы его перехватить. scum.AllowMapScreen=False убирает карту, что нравится некоторым хардкорным серверам, а большинству игроков кажется наказанием.

Урон, техника и строительство баз#

В секции урона лежат множители урона игроков по игрокам, урона и здоровья марионеток, урона турелей и гниения баз. Два из них требуют аккуратности:

  • Здоровье и урон марионеток. Более высокий множитель здоровья марионеток делает каждую встречу с заражёнными дольше и опаснее, а значит, больше расходуется патронов и больше стрельбы, которая привлекает ещё больше марионеток. Это гораздо более серьёзное изменение сложности, чем кажется.
  • Гниение элементов базы. Множитель гниения определяет, как быстро элементы базы без обслуживания теряют прочность. Быстрое гниение убирает брошенные базы с карты - хорошо для производительности и новых игроков, - но наказывает тех, кто взял неделю отдыха.

Секция техники ограничивает количество машин каждого типа, задаёт расход топлива и заряда аккумулятора и определяет, сколько неиспользуемая машина проживёт, прежде чем её удалят. Количество техники - настройка производительности не меньше, чем геймплея: каждая машина - сохраняемый физический объект.

Защита от рейдов настраивается не в .ini, а в RaidTimes.json: там перечислены дни и часы, когда урон по базам разрешён. Серверы с PvE по будням и рейдами по выходным используют его, чтобы это правило обеспечивала игра, а не админы.

Порядок изменений, который работает#

  1. Сначала backup. ServerSettings.ini и база сохранения вместе. На любом хостинге с панелью backup перед правкой - это кнопка отмены; почему стоит иногда и восстанавливать backup, объясняет статья backup, которые действительно восстанавливаются.
  2. Остановите сервер.
  3. Меняйте одну группу настроек. Время, или лут, или марионеток - но не все три сразу.
  4. Запустите и прочитайте лог на предмет отвергнутых или неизвестных ключей.
  5. Поиграйте вечер, прежде чем делать выводы. Изменения лута и марионеток проявляются не сразу.
  6. Объявляйте изменения геймплея. Игроки замечают изменение лута или славы задолго до того, как прочитают, зачем оно.

Когда перезапускать сервер, чтобы применить изменения и никого не раздражать, описано в статье расписания перезапусков, которые помогают; серверы SCUM обычно перезапускаются дважды в день, и это естественные моменты, чтобы выкатывать правки.

FAQ#

Где лежит ServerSettings.ini на сервере SCUM?

В SCUM/Saved/Config/WindowsServer/, его создаёт первый запуск сервера. В пути на любом хостинге стоит WindowsServer, потому что выделенный сервер SCUM - это бинарник для Windows, даже если машина хоста работает на Linux.

Почему настройка из руководства ничего не делает?

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

Как сделать ночи в SCUM короче?

Поднимите scum.TimeOfDaySpeed, чтобы сократить весь цикл, или сдвиньте scum.SunriseTime и scum.SunsetTime, чтобы отдать большую его часть дню. scum.NighttimeDarkness меняет то, насколько ночь тёмная, а не то, сколько она длится.

Как увеличить количество лута на сервере SCUM?

Поднимите scum.SpawnerProbabilityMultiplier для спавнеров в открытом мире и scum.ExamineSpawnerProbabilityMultiplier для обыскиваемых контейнеров. Обычно хватает небольших шагов вроде 1.25 или 1.5; настройка по отдельным предметам делается в папке переопределений Loot.

Нужно ли перезапускать сервер после изменения настроек?

Да. Файл читается при запуске. Админы из ServerSettingsAdminUsers.ini могут менять часть настроек из внутриигрового меню, но правки в файле всегда требуют перезапуска.

Можно ли запустить сервер SCUM на Linux?

Нативно - нет. Сервер - это бинарник для Windows; Linux-хостинги запускают его через слой совместимости, а пути к конфигурации остаются виндовыми.


Комментарии

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

0/2000