RE:NODE

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

ARK Ascended: настройки ini сервера

Какие настройки ARK: Survival Ascended идут в GameUserSettings.ini, а какие в Game.ini: рейты, разведение, импринт и множители характеристик с объяснениями.

0 прочтений

ARK: Survival Ascended читает свои правила из двух файлов в ShooterGame/Saved/Config/WindowsServer/. В GameUserSettings.ini, в секции [ServerSettings], лежат общие настройки сервера - пароли, сложность, рейты добычи и приручения, разрушение построек, лимиты строений. В Game.ini, в секции [/script/shootergame.shootergamemode], лежат правила, которые читает игровой режим, - разведение и импринт, множители характеристик за уровень, источники опыта, переопределения энграмм и уровней. Положите ключ не в тот файл или не в ту секцию - и он будет молча проигнорирован. Редактируйте файлы только при остановленном сервере, потому что при штатном выключении GameUserSettings.ini записывается на диск заново. Это и есть большая часть работы; остальная часть статьи - о том, какие ключи важны, в какую сторону крутится каждый и чего они стоят.

Если сервер у вас ещё не запущен, начните с руководства по установке ARK: Survival Ascended: там разобраны установка, строка запуска, порты и десяток настроек, которые все меняют в первый же день. Здесь предполагается, что сервер уже стартует, и речь идёт о двух файлах подробнее.

В каком файле должна стоять настройка#

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

  • `GameUserSettings.ini`, `[ServerSettings]`: всё, что официальный сервер показал бы в списке серверов или что администратор может поменять на живом сервере. Глобальные рейты (добыча, приручение, опыт), множители урона и сопротивления, расход еды и воды, таймеры разрушения, переключатели PvE и PvP, лимиты строений, пароли администратора и входа, RCON.
  • `Game.ini`, `[/script/shootergame.shootergamemode]`: правила, привязанные к классу игрового режима. Разведение, взросление, импринт, прирост характеристик за уровень у игроков и существ, отдельные источники опыта, таймеры урожая и порчи, лимиты племён и альянсов, переопределения энграмм, потолки уровней и массивы для отдельных предметов или существ.

Есть одна лазейка. Любой ключ из [ServerSettings] можно передать и в строке запуска как аргумент запроса ?Key=Value, и строка запуска важнее файла. Это удобно в панели, где строка запуска собирается из полей, и сбивает с толку, когда кто-то поставил ?XPMultiplier=2 на вкладке Startup, а кто-то другой продолжает править ini и не понимает, почему ничего не меняется. Выберите для каждой настройки одно место и держитесь его. Ключи из Game.ini так передать нельзя.

code
TheIsland_WP?listen?SessionName=Longship?XPMultiplier=2.0?TamingSpeedMultiplier=3.0 -log

И ещё одно правило, которое стоит повторить: при штатном выключении сервер записывает в GameUserSettings.ini то, что держал в памяти. Если отредактировать файл при работающем сервере, а потом нажать Stop, ваши правки пропадут. Game.ini так не перезаписывается, но изменения в нём вступают в силу только при следующем запуске, так что безопасная привычка для обоих файлов одна: остановить, отредактировать, запустить.

Рейты в GameUserSettings.ini#

Это множители, о которых игроки спрашивают в первые десять минут. Все по умолчанию равны 1.0, если не сказано иное, и все находятся в [ServerSettings].

КлючЧто масштабируетТипичное повышенное значение
XPMultiplierВесь получаемый опыт2.0 - 5.0
TamingSpeedMultiplierЭффективность приручения за одно кормление3.0 - 5.0
HarvestAmountMultiplierРесурсы за удар2.0 - 3.0
HarvestHealthMultiplierСколько ударов выдерживает источник ресурсов1.0 - 2.0
ResourcesRespawnPeriodMultiplierВремя до восстановления ресурсов (меньше - быстрее)0.5
DayCycleSpeedScaleСкорость всего цикла дня и ночи1.0
DayTimeSpeedScale / NightTimeSpeedScaleДень и ночь по отдельностиночь 2.0, чтобы её сократить
PlayerCharacterFoodDrainMultiplierГолод игрока0.5 - 1.0
PlayerCharacterWaterDrainMultiplierЖажда игрока0.5 - 1.0
PlayerCharacterStaminaDrainMultiplierРасход выносливости игрока1.0
DinoCharacterFoodDrainMultiplierГолод прирученных существ0.5 - 1.0
ItemStackSizeMultiplierРазмер стаков2.0 - 10.0

Прежде чем умножать всё на пять, полезно знать несколько взаимодействий.

HarvestHealthMultiplier и HarvestAmountMultiplier оба повышают выход с источника, но по-разному. Повышение количества даёт больше за удар; повышение прочности даёт больше ударов до того, как источник исчезнет. Если удвоить оба, один камень даст примерно вчетверо больше, а это обычно больше, чем задумывалось. Выберите что-то одно.

TamingSpeedMultiplier меняет то, сколько прогресса приручения даёт каждая порция еды, - это сокращает приручение, но не меняет, сколько существо остаётся без сознания. При высоких значениях узким местом становятся оцепенение и наркотики, а не еда. Если совместить высокий рейт приручения с пониженным DinoCharacterFoodDrainMultiplier, прирученные существа станут дешёвыми в содержании, а значит, их будет больше - и именно это самая дорогая часть сервера ARK.

ItemStackSizeMultiplier - одна из немногих настроек удобства, которая действительно помогает здоровью сервера: меньше стаков - меньше объектов в ящиках. На Ascended она работает надёжно, но со временем у неё бывали исключения (предметы с фиксированным размером стака, например некоторые расходники), так что проверьте её на тех предметах, которые важны вашим игрокам.

DayTimeSpeedScale и NightTimeSpeedScale умножают скорость каждой половины суток, так что NightTimeSpeedScale=2.0 делает ночь вдвое короче. Они складываются с DayCycleSpeedScale, который масштабирует обе половины. Сократить ночь - самая частая просьба на PvE-сервере, и это ничего не стоит.

Сложность, урон и правила выживания#

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

КлючДействие
DifficultyOffsetМасштаб от 0.0 до 1.0 между минимумом и максимумом переопределения
OverrideOfficialDifficulty5.0 даёт диких до 150 уровня, 6.0 - до 180
DinoDamageMultiplierУрон, который наносят дикие существа
PlayerDamageMultiplierУрон, который наносят игроки
StructureDamageMultiplierУрон, который наносят постройки (турели, шипы)
PlayerResistanceMultiplierУрон, который получают игроки (меньше - крепче)
DinoResistanceMultiplierУрон, который получают существа (меньше - крепче)
StructureResistanceMultiplierУрон, который получают постройки (меньше - крепче)

Потолок уровня диких - это OverrideOfficialDifficulty, умноженный на 30, отсюда и цифры 150 и 180. Поставьте DifficultyOffset=1.0, чтобы действительно дойти до потолка, а затем один раз выполните cheat DestroyWildDinos, чтобы карта заново заселилась существами новых уровней. Без этого последнего шага изменение касается только существ, которые появятся с этого момента, и вы неделю будете гадать, почему ничего не изменилось.

Множители сопротивления работают наоборот по сравнению с множителями урона. PlayerResistanceMultiplier=0.5 означает, что игроки получают половину урона. Легко поставить StructureResistanceMultiplier=2.0, думая, что постройки станут прочнее; на деле они будут получать вдвое больше урона.

Правила, которые меняют не сложность, а то, как играется сервер:

  • ServerPVE=True отключает урон между игроками. На PvE-сервере посмотрите также AllowFlyerCarryPvE (подхват существ других игроков) и AllowCaveBuildingPvE.
  • ServerHardcore=True сбрасывает персонажа до первого уровня при смерти.
  • PreventOfflinePvP=True вместе с PreventOfflinePvPInterval (в секундах) защищает постройки племени, когда все его участники не в сети дольше этого времени. Это главный инструмент, который делает небольшой PvP-сервер терпимым для людей с работой.
  • ShowMapPlayerLocation=True показывает ваше положение на карте, и большинству PvE-групп это нужно.
  • AllowThirdPersonPlayer и ServerCrosshair делают ровно то, что написано в названии.
  • DisableStructureDecayPvE=True полностью отключает разрушение построек на PvE; PvEStructureDecayPeriodMultiplier вместо этого растягивает таймер.

Разрушение построек заслуживает осознанного решения, а не значения по умолчанию. На частном сервере для друзей отключите его: никто не хочет вернуться из двухнедельного отъезда и обнаружить, что базу можно захватить. На публичном сервере разрушение - ваш сборщик мусора. База человека, который поиграл один выходной, - это всё равно несколько тысяч построек, которые сервер держит в памяти и записывает на диск при каждом сохранении. AutoDestroyOldStructuresMultiplier и переключатели разрушения для существ (DisableDinoDecayPvE, PvPDinoDecay, AutoDestroyDecayedDinos) существуют по той же причине.

Лимиты построек и прирученных существ#

Эти настройки решают, насколько вырастет ваше сохранение, и они важнее любого рейта.

КлючПо умолчаниюЧто ограничивает
TheMaxStructuresInRange10500Постройки в радиусе от места установки
MaxTamedDinos5000Прирученных существ на всём сервере
MaxPersonalTamedDinos0 (выкл.)Прирученных существ на племя, если задано
PersonalTamedDinosSaddleStructureCost0 (выкл.)Скольким существам засчитывается седло-платформа
MaxPlatformSaddleStructureLimitзависит от сборкиПостройки на одном седле-платформе

MaxTamedDinos - глобальный потолок, и когда он достигнут, сервер отказывает в новых приручениях. На сервере с горсткой игроков до него дело не доходит. Доходит дело до другого - до одного заводчика со ста пятьюдесятью существами в загоне, что разрешено при любых значениях по умолчанию. MaxPersonalTamedDinos, выставленный примерно на 300 на племя, ставит этому предсказуемый предел, не мешая нормальной игре, и это гораздо мягче, чем обнаружить проблему, когда сохранения начнут длиться по минуте.

Повышение TheMaxStructuresInRange позволяет строить более крупные базы в одном месте. Это нормально на сервере с запасом памяти и ужасная идея на сервере, который и так близок к пределу. Каждая постройка - объект на сервере, а мегабаза - это десятки тысяч таких объектов. В руководстве по памяти для ARK разобрано, как это выглядит в гигабайтах.

Разведение и импринт в Game.ini#

Большая часть Game.ini уходит именно сюда, потому что официальное время разведения измеряется реальными днями. Всё это ставится в [/script/shootergame.shootergamemode].

Game.ini
[/script/shootergame.shootergamemode]MatingIntervalMultiplier=0.25MatingSpeedMultiplier=2.0EggHatchSpeedMultiplier=10.0BabyMatureSpeedMultiplier=10.0BabyFoodConsumptionSpeedMultiplier=0.5BabyCuddleIntervalMultiplier=0.1BabyCuddleGracePeriodMultiplier=2.0BabyImprintAmountMultiplier=1.0BabyImprintingStatScaleMultiplier=1.0LayEggIntervalMultiplier=0.5

Что делает каждый из них и в какую сторону работает:

  • MatingIntervalMultiplier - перерыв, прежде чем самка сможет спариться снова. Меньше - быстрее. 0.25 превращает официальный перерыв до двух суток примерно в полдня.
  • MatingSpeedMultiplier - как быстро заполняется полоса спаривания, пока пара стоит рядом. Больше - быстрее.
  • EggHatchSpeedMultiplier - инкубация яиц. Больше - быстрее. Касается и беременности у млекопитающих.
  • BabyMatureSpeedMultiplier - рост от детёныша до взрослого. Больше - быстрее. Именно эта настройка решает, займёт разведение крупного существа вечер или неделю.
  • BabyFoodConsumptionSpeedMultiplier - сколько ест детёныш. Меньше - выращивать проще.
  • BabyCuddleIntervalMultiplier - время между запросами импринта. Меньше - запросы чаще.
  • BabyCuddleGracePeriodMultiplier - сколько запрос ждёт, прежде чем качество импринта начнёт падать.
  • BabyImprintAmountMultiplier - процент импринта за один уход.
  • BabyImprintingStatScaleMultiplier - насколько полный импринт усиливает характеристики. 0 полностью отключает бонус импринта к характеристикам.
  • LayEggIntervalMultiplier - как часто падают неоплодотворённые яйца. Меньше - чаще, что важно для кибла.

Взаимодействие, в котором ошибаются чаще всего, - взросление против импринта. Запросы импринта приходят с интервалами, привязанными к общему времени взросления существа, и число запросов за полный рост для конкретного вида примерно постоянно. Ускорьте взросление в десять раз, не трогая интервал ухода, - и крупное существо может вырасти раньше, чем попросит достаточно ухода, а это ограничит достижимый импринт. Решение - снижать BabyCuddleIntervalMultiplier примерно в той же пропорции, что и ускорение взросления, и повысить BabyImprintAmountMultiplier, если хотите, чтобы полный импринт оставался достижимым. Прежде чем объявлять рейты, проверьте на одном быстро и одном медленно растущем виде: цифры, которые подходят раптору, не обязательно подходят гиганотозавру.

AllowAnyoneBabyImprintCuddle=True в GameUserSettings.ini (не в Game.ini) позволяет ответить на запрос ухода любому участнику племени, а не только тому, кто забрал детёныша. Большинству групп это нужно.

Множители характеристик для игроков и существ#

Массивы характеристик за уровень решают, сколько добавляет каждое повышение уровня. Они принимают индекс в квадратных скобках.

ИндексХарактеристика
0Здоровье
1Выносливость
2Оцепенение
3Кислород
4Еда
5Вода
6Температура
7Вес
8Урон в ближнем бою
9Скорость передвижения
10Стойкость
11Скорость крафта

Какие массивы существуют:

  • PerLevelStatsMultiplier_Player[i] - очки, которые игрок получает за уровень, вложенный в характеристику.
  • PerLevelStatsMultiplier_DinoWild[i] - как уровни диких существ распределяются по характеристикам.
  • PerLevelStatsMultiplier_DinoTamed[i] - очки за уровень, вложенный в прирученное существо.
  • PerLevelStatsMultiplier_DinoTamed_Add[i] - фиксированный бонус, который существо получает за приручение.
  • PerLevelStatsMultiplier_DinoTamed_Affinity[i] - процентный бонус от эффективности приручения.
Game.ini
PerLevelStatsMultiplier_Player[7]=2.0PerLevelStatsMultiplier_DinoTamed[7]=2.0PerLevelStatsMultiplier_DinoTamed[0]=1.5PerLevelStatsMultiplier_DinoTamed[8]=1.2

Вес безопасно поднимать и игрокам, и прирученным: это сокращает число ходок и не меняет того, кто побеждает в бою. Здоровье и урон у прирученных меняют баланс каждого боя с боссом и каждой PvP-стычки, так что поднимайте их осторожно и маленькими шагами. Скорость лучше не трогать: правила прокачки скорости по умолчанию менялись между релизами ARK и зависят от bAllowSpeedLeveling и bAllowFlyerSpeedLeveling, а повышенные множители скорости дают существ, которые обгоняют способность сервера подгружать клиенту рельеф.

Опыт, уровни и энграммы#

XPMultiplier масштабирует всё. Game.ini позволяет масштабировать источники по отдельности: KillXPMultiplier, HarvestXPMultiplier, CraftXPMultiplier, GenericXPMultiplier, SpecialXPMultiplier и ExplorerNoteXPMultiplier. Чаще всего это используют, чтобы крафт не доминировал: на многих серверах люди качаются, создавая тысячи дешёвых предметов, и CraftXPMultiplier=0.5 выгоняет их обратно в мир.

Потолки уровней и очки энграмм - тоже массивы, и именно из них берётся большинство сломанных файлов Game.ini:

  • LevelExperienceRampOverrides задаёт опыт, нужный для каждого уровня игрока, а вместе с ним и максимальный уровень.
  • OverridePlayerLevelEngramPoints задаёт очки энграмм за каждый уровень, по одной строке на уровень, по порядку.
  • OverrideMaxExperiencePointsPlayer и OverrideMaxExperiencePointsDino ограничивают общий опыт; они должны совпадать с таблицей уровней, иначе уровни выше предела станут недостижимы.
  • bAllowUnlimitedRespecs=True позволяет игрокам сбрасывать характеристики с помощью Mindwipe Tonic сколько угодно раз.
  • bOnlyAllowSpecifiedEngrams вместе с OverrideNamedEngramEntries блокируют или открывают отдельные энграммы; полезно для сервера только с примитивными технологиями.

Писать таблицу уровней вручную долго, и ошибиться легко. Используйте генератор, которому доверяете, проверьте, что число строк OverridePlayerLevelEngramPoints совпадает с числом уровней, и перед каждым изменением сохраняйте копию рабочего файла. Если таблица составлена неправильно, сервер, как правило, молча откатывается к значениям по умолчанию для всего переопределения.

Урожай, порча и остальное в Game.ini#

Ещё несколько ключей Game.ini стоят минуты внимания:

КлючДействие
CropGrowthSpeedMultiplierБольше - растёт быстрее
CropDecaySpeedMultiplierБольше - гниёт быстрее
GlobalSpoilingTimeMultiplierБольше - еда хранится дольше
GlobalItemDecompositionTimeMultiplierБольше - выброшенные предметы лежат дольше
GlobalCorpseDecompositionTimeMultiplierБольше - тела лежат дольше
FuelConsumptionIntervalMultiplierБольше - топливо сгорает медленнее
PoopIntervalMultiplierМеньше - больше удобрений
MaxNumberOfPlayersInTribeПредельный размер племени
MaxAlliancesPerTribe / MaxTribesPerAllianceЛимиты альянсов
SupplyCrateLootQualityMultiplierКачество дропов
bDisableFriendlyFireНет урона между участниками племени

Два из них влияют на производительность, а не на игровой процесс. GlobalItemDecompositionTimeMultiplier и GlobalCorpseDecompositionTimeMultiplier дольше держат объекты в мире. На загруженном сервере высокие значения означают больше разбросанных объектов, которые сервер должен отслеживать; поднимать их выгодно разве что тем, что возвращаться за вещами после смерти становится проще.

Пример: спокойный PvE-сервер для восьми друзей#

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

GameUserSettings.ini
[ServerSettings]ServerPVE=TrueDifficultyOffset=1.0OverrideOfficialDifficulty=5.0XPMultiplier=2.0TamingSpeedMultiplier=4.0HarvestAmountMultiplier=2.0ItemStackSizeMultiplier=5.0NightTimeSpeedScale=2.0PlayerCharacterFoodDrainMultiplier=0.75PlayerCharacterWaterDrainMultiplier=0.75DisableStructureDecayPvE=TrueAllowAnyoneBabyImprintCuddle=TrueShowMapPlayerLocation=TrueAllowFlyerCarryPvE=TrueMaxPersonalTamedDinos=300AutoSavePeriodMinutes=15
Game.ini
[/script/shootergame.shootergamemode]MatingIntervalMultiplier=0.2EggHatchSpeedMultiplier=8.0BabyMatureSpeedMultiplier=8.0BabyCuddleIntervalMultiplier=0.125BabyImprintAmountMultiplier=1.0CropGrowthSpeedMultiplier=3.0GlobalSpoilingTimeMultiplier=2.0PerLevelStatsMultiplier_Player[7]=2.0PerLevelStatsMultiplier_DinoTamed[7]=2.0bAllowUnlimitedRespecs=trueMaxNumberOfPlayersInTribe=8

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

В RE:NODE оба файла правятся во встроенном в браузер файловом менеджере или по SFTP, пока сервер остановлен, а аргументы запуска - это поля на вкладке Startup. Перед изменением настроек разведения или характеристик сделайте резервную копию - слот для backup есть в каждом тарифе, а восстановление делается одной кнопкой, - и неудачный эксперимент с рейтами обернётся откатом, а не вайпом. Отдельной строки для ARK в каталоге нет, так что смотрите, что сейчас предлагается, в тарифах игровых серверов.

Если настройки не применяются#

Изменения откатываются после перезапуска. Вы редактировали GameUserSettings.ini при работающем сервере. Остановите сервер, внесите правку снова и запустите его.

Настройка разведения ни на что не влияет. Она стоит в GameUserSettings.ini, а не в Game.ini, или в Game.ini неправильный заголовок секции. Заголовок - [/script/shootergame.shootergamemode], регистр не важен, но написание должно быть точным.

Дикие существа всё ещё низкого уровня. DifficultyOffset меньше 1.0, или вы не выполнили DestroyWildDinos после изменения.

Строка запуска и ini противоречат друг другу. Побеждает строка запуска. Поищите на вкладке Startup или в скрипте запуска забытый ?Key=.

Игроки не могут подняться выше определённого уровня. Переопределение таблицы уровней со слишком малым числом записей или OverrideMaxExperiencePointsPlayer ниже того, что требует таблица.

Настройка из старого гайда по Evolved ничего не делает. Некоторые ключи на Ascended работают иначе или вообще не были перенесены. Прежде чем решить, что сервер сломан, поищите ключ в файлах по умолчанию самого сервера Ascended или в актуальном списке. Если то же значение меняет мод, обычно побеждает мод - см. моды ARK из CurseForge на сервере.

FAQ#

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

Да. Game.ini читается при запуске. Штатно остановите сервер, отредактируйте файл и запустите снова; команды перезагрузки для него нет.

Почему сервер ARK игнорирует мои правки в GameUserSettings.ini?

Почти всегда потому, что файл правили при работающем сервере, и штатное выключение записало значения из памяти поверх ваших. Вторая частая причина - ?Key=Value в строке запуска, который переопределяет файл.

Какие множители разведения разумны для небольшой группы?

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

Есть ли настройка максимального числа существ на игрока?

На племя - да: MaxPersonalTamedDinos. Игрок-одиночка - это племя из одного человека, так что на сервере, где большинство играет в одиночку, это работает как лимит на игрока.

Можно ли задать разные рейты на разных картах кластера?

Да. У каждого сервера в кластере свои файлы конфигурации. Игроки это заметят и перенесут разведение на самую быструю карту, поэтому большинство кластеров держат рейты одинаковыми - см. кластеры ARK и переходы между серверами.

Ломает ли что-нибудь увеличение размера стака?

Редко. Некоторые предметы в любом случае сохраняют фиксированный размер стака, а моды на размер стаков могут переопределять настройку. Она уменьшает число объектов в хранилищах, что для сервера маленький плюс.


Комментарии

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

0/2000