RE:NODE

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

Insurgency: Sandstorm - режимы игры и моды

Как выбирать и запускать режимы Insurgency: Sandstorm на сервере: кооперативные и PvP-режимы, имена сценариев, циклы карт, мутаторы, моды с mod.io и модовые сценарии.

0 прочтений

Сервер Insurgency: Sandstorm крутит один режим игры за раз, и выбирается он именем сценария в строке запуска или в цикле карт: Scenario_Hideout_Checkpoint_Security - это кооперативный Checkpoint на Hideout за Security. Решение, от которого зависит всё остальное, - кооператив или PvP: кооперативные режимы (Checkpoint, Outpost, Survival) ограничены восемью живыми игроками, и нагрузку в них дают боты, а PvP-режимы (Push, Firefight, Skirmish, Frontline, Domination и другие) принимают до 28 игроков. Поверх этого можно бесплатно включить встроенные мутаторы через -mutators= и добавить моды через mod.io, которые сервер после авторизации скачивает сам. Сначала выберите режим под размер группы, затем мутаторы, затем моды.

Установка, основы Game.ini, админы, RCON и порты описаны в руководстве по серверу Insurgency: Sandstorm. Эта статья - о том, во что играет сервер: каждый режим и кому он подходит, как называются сценарии, как собрать цикл, который их смешивает, что на самом деле делают мутаторы и как запускать контент с mod.io, не ломая сервер.

Как выбрать режим для своей группы#

Режимы - не взаимозаменяемые вкусы. Им нужно разное число игроков, они по-разному нагружают CPU и привлекают разных игроков.

РежимТипИгрокиЧто происходитКому подходит
CheckpointКооперативДо 8Захват целей по порядку против ботов, оборона от контратакСтандартный выбор для кооператива
Hardcore CheckpointКооперативДо 8Checkpoint с урезанным HUD и более жёсткими правиламиОпытным группам
OutpostКооперативДо 8Оборона от волн атакующих ботовДля коротких сессий и оборонительной игры
SurvivalКооперативДо 8Продвижение по карте с ограниченными возрождениями и припасамиНебольшим слаженным группам
PushPvPДо 28Атакующие берут цели по очереди, подкрепления приходят волнамиБольшим публичным серверам
FirefightPvPДо 28Нет индивидуальных возрождений; захват точки возрождает командуТактическим сообществам
SkirmishPvPДо 28Уничтожить тайник противника; захваты дают волны возрожденияСерверам среднего размера
FrontlinePvPДо 28Перетягивание каната на линии целейПубличным серверам
DominationPvPДо 28Удерживать три точки, чтобы сжигать тикеты противникаДля неспешной публичной игры
Team DeathmatchPvPДо 28Только убийстваДля разминки и неспешной игры
AmbushPvPМеньшеОдна сторона сопровождает VIP, другая перехватываетДля мероприятий и разнообразия
DefusalPvPНебольшие командыЗакладка и разминирование бомбы, без возрожденийСоревновательным группам

Самый важный факт в этой таблице - ограничение в восемь игроков в кооперативе. Оно зашито в игру; если поставить MaxPlayers выше на кооперативном сценарии, ничего не изменится. Discord на двадцать человек, которые хотят играть в кооператив вместе, требует трёх серверов, а не одного побольше. Группе, которая хочет собраться на одном сервере целиком, нужен PvP-режим или Checkpoint с союзными ботами, заполняющими пробелы.

Кооператив - это ещё и то место, где сервер действительно работает. Каждый вражеский бот обсчитывается в игровом потоке сервера, а Checkpoint масштабирует число ботов между MinimumEnemies и MaximumEnemies в секции [/Script/Insurgency.INSCoopMode] файла Game.ini. Кооперативный сервер с увеличенными значениями тяжелее, чем полный Push-сервер на 28 игроков. Если кооперативный сервер подтормаживает в перестрелках, сначала посмотрите на число противников, а потом уже на тариф. Почему один загруженный поток определяет ощущение от всего сервера, объясняет статья что на самом деле означает tick rate.

Имена сценариев и как их найти#

Сценарий объединяет карту, режим и сторону в один токен: Scenario_<Map>_<Mode>[_<Side or layout>]. Часть с картой - это отображаемое имя (Hideout, Refinery, Crossing), а не внутреннее имя уровня, используемое в travel URL; о расхождении между ними рассказано в основном руководстве.

code
Scenario_Hideout_Checkpoint_Security     Checkpoint, players as SecurityScenario_Hideout_Checkpoint_Insurgents   Checkpoint, players as InsurgentsScenario_Refinery_Push_Security          Push, Security attackingScenario_Crossing_Skirmish               SkirmishScenario_Farmhouse_Firefight_West        Firefight, western layoutScenario_Precinct_Domination             DominationScenario_Bab_Survival                    Survival

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

code
scenariosscenarios Checkpointscenarios Hideout

Команда scenarios (она же отвечает на maps) выводит все сценарии, которые знает сервер, с фильтром по тексту, который вы передадите. Выполняйте её через RCON или в консоли после каждого обновления игры и собирайте цикл по её выводу. Несуществующее имя сценария в цикле пропускается, а строка запуска с таким именем не даёт серверу стартовать.

Циклы карт, которые смешивают режимы и освещение#

Insurgency/Config/Server/MapCycle.txt - это ротация, которая используется при bUseMapCycle=True в [/Script/Insurgency.INSMultiplayerMode]. Простая форма - один сценарий на строку. Форма с кортежами позволяет каждой записи переопределять освещение и режим, и так одна карта превращается в несколько разных раундов:

Insurgency/Config/Server/MapCycle.txt
(Scenario="Scenario_Hideout_Checkpoint_Security",Lighting="Day")(Scenario="Scenario_Refinery_Checkpoint_Security",Lighting="Night")(Scenario="Scenario_Crossing_Checkpoint_Insurgents",Lighting="Day")(Scenario="Scenario_Hideout_Checkpoint_Security",Mode="CheckpointHardcore")(Scenario="Scenario_Farmhouse_Checkpoint_Security",Lighting="Day")

Что делает цикл рабочим:

  • Не смешивайте кооператив и PvP в одном цикле. Число игроков и аудитория разные. PvP-сервер, который внезапно переходит на кооперативный сценарий, выкидывает всех сверх восьми; кооперативная группа, попавшая в Push, где никого нет в другой команде, проводит плохой вечер.
  • Дозируйте ночь. Ночные раунды с приборами ночного видения необычны и делят аудиторию. Один из четырёх-пяти - хорошая стартовая пропорция; если сервер пустеет на ночных раундах, это и есть ваш ответ.
  • Используйте хардкорное переопределение осознанно. Mode="CheckpointHardcore" на том же сценарии даёт более сложный раунд без второй карты в списке. Вставляйте его для группы, которая об этом просит, вместо того чтобы гонять целиком хардкорный цикл на публичном сервере.
  • Проверяйте после обновлений. Переименования сценариев ломают циклы молча.

Если вы держите несколько циклов - будний кооперативный и выходной под мероприятия, - выбирайте нужный через -MapCycle= в командной строке и держите каждый в отдельном файле. Тогда смена цикла - это изменение параметра запуска и перезапуск, а в панели это одно поле во вкладке Startup.

Для изменений на лету travelscenario <scenario> сразу переводит сервер, а travel <map>?Scenario=<scenario>?Lighting=Night даёт полный контроль над одним раундом, не трогая цикл.

Настройки для отдельных режимов#

Помимо общих секций, у каждого режима есть своя секция в Game.ini, названная по классу режима игры, по шаблону [/Script/Insurgency.INS<Mode>GameMode]. Чаще всего серверы настраивают секцию Checkpoint:

Insurgency/Saved/Config/LinuxServer/Game.ini
[/Script/Insurgency.INSCheckpointGameMode]DefendTimer=90RetreatTimer=10RespawnDelay=20CounterAttackRespawnDelay=20

Именно тайминги контратак делают Checkpoint бешеным или размеренным. Длинные таймеры обороны при меньшем числе противников дают более медленную и тактическую игру; короткие таймеры с высоким MaximumEnemies - шутер про орду.

Вместо того чтобы доверять какому-либо списку ключей - включая этот, - спросите сервер. Через RCON listgamemodeproperties выводит все свойства, которые открывает текущий режим, а gamemodeproperty <name> <value> меняет одно из них на работающем сервере. Так и нужно настраивать: поменяйте значение на лету, сыграйте раунд, оставьте или верните, а затем запишите победивший вариант в Game.ini, чтобы он пережил перезапуск. Изменения на лету теряются при перезапуске сервера.

Мутаторы: бесплатное разнообразие без загрузок#

Мутаторы поставляются вместе с игрой и ничего не требуют от игроков. Они меняют правила для всего сервера и включаются в командной строке:

bash
-mutators=Hardcore,HeadshotOnly

Несколько мутаторов можно сочетать через запятую. Встроенный набор расширялся с обновлениями; среди часто используемых:

МутаторЭффект
HardcoreБолее жёсткие правила и урезанный HUD
CompetitiveСоревновательный набор правил для организованной игры
HeadshotOnlyУрон наносят только выстрелы в голову
BoltActionsOnly, PistolsOnly, ShotgunsOnlyОграничивают снаряжение одним классом оружия
FrenzyПротивники в кооперативе становятся быстрыми бойцами ближнего боя
VampirismУбийства восстанавливают здоровье
LowGravityПониженная гравитация
FastMovement, SlowMovementМеняют скорость передвижения
BulletSpongeЧтобы убить кого угодно, нужно намного больше урона
HotPotatoПри смерти выпадает граната с выдернутой чекой
SoldierOfFortuneСнабжение зарабатывается убийствами

Несколько наблюдений из практики:

  • Мутаторы - для мероприятий, а не на каждый вечер. Frenzy в пятницу запоминается; Frenzy каждый раунд опустошает сервер за неделю.
  • Сочетания взаимодействуют. HeadshotOnly вместе с BulletSponge бессмысленны; Hardcore вместе с BoltActionsOnly - вполне законная нишевая конфигурация. Проверяйте сочетания, прежде чем объявлять их.
  • Настройки мутаторов живут в `Engine.ini`. Официальное руководство по серверу отмечает эту непоследовательность; если тонкая настройка мутатора игнорируется, первым делом проверьте, в каком файле она лежит.
  • Мутаторы из модов работают так же. Мутатор из мода с mod.io включается по имени в том же списке -mutators=, как только мод установлен. Точное имя указано на странице мода.

У панельного хостинга список мутаторов - это параметр запуска, так что сменить мероприятие недели - значит отредактировать одно поле и перезапустить сервер.

Схема еженедельного мероприятия

Схема, которая работает для кооперативных сообществ: всю неделю крутите обычный цикл Checkpoint, а в один фиксированный вечер переключайтесь на конфигурацию мероприятия - другой файл цикла, выбранный через -MapCycle=, один-два мутатора, возможно, ночное освещение на всех картах. Объявите об этом в Discord за несколько дней с точными правилами и переключитесь обратно на следующее утро.

Механика простая, и её стоит сделать правильно:

  1. Держите мероприятие в отдельном файле цикла, чтобы обычный цикл никогда не редактировался.
  2. Для мероприятия меняйте только параметры запуска - цикл и мутаторы, - затем перезапускайте сервер.
  3. Используйте плановый перезапуск, чтобы переключиться обратно в фиксированное время и никому не приходилось об этом помнить.
  4. Перед первым мероприятием сделайте backup обоих деревьев конфигов, чтобы ошибка стоила одного восстановления.

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

Моды с mod.io: карты, мутаторы и переработки#

Моды Sandstorm берутся с mod.io, а не из Steam Workshop. Они бывают трёх видов:

  • Карты со своими сценариями, в которые играют, переходя на имена карты и сценария из мода.
  • Мутаторы, которые включаются через -mutators=.
  • Переработки, которые меняют оружие, фракции или правила во всей игре.

Текущий порядок работы регистрирует сервер на mod.io и управляет его подписками на сайте mod.io. Первый запуск передаёт код безопасности, присланный по почте, каждый последующий использует -SecurityCode=none, а -mods включает поддержку модов. Полный синтаксис запуска и старая схема с токенами - в основном руководстве по Sandstorm; здесь важна эксплуатационная деталь - что происходит при каждом запуске:

список подписокскачивает обновлениязагружает после скачиваниязаходиттот же набор модовПортал mod.ioподписки сервераКэш модовскачанные файлыКарта после загрузкиModDownloadTravelToИгрокполучает моды при входеСервер Sandstorm-mods
Как сервер Sandstorm получает моды

-ModDownloadTravelTo= задаёт карту и сценарий, на которые сервер переходит после завершения загрузок. Укажите в нём первый раунд, который вы действительно хотите играть, а не тестовую карту, иначе каждый перезапуск будет начинаться со сценария, который никто не выбирал.

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

code
travel ModMapName?Scenario=Scenario_ModMapName_Checkpoint_Security

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

Как сохранить стабильность модового сервера

  • Моды обновляются, когда их публикуют авторы. Сервер подхватывает обновления при перезапуске. Обновление, которое ломает карту, ломает ваш цикл наутро после перезапуска, хотя с вашей стороны ничего не менялось. Ведите список подписок и того, когда каждая последний раз менялась.
  • У игроков должны быть те же версии. При входе клиентам предлагается скачать моды сервера; игрок, у которого загрузка не удалась, не может зайти и будет винить сервер.
  • Чем меньше модов, тем больше случайных игроков. Каждый мод - это загрузка, стоящая между новым игроком и первым раундом.
  • Статистика и опыт - функция официального контента. Сервер, построенный вокруг модов, не должен обещать прогрессию; прежде чем рекламировать опыт, проверьте по актуальным правилам NWI, влияет ли конкретный мод или мутатор на начисление статистики.

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

Какой сервер нужен под режим#

Нужный тариф зависит больше от режима, чем от числа игроков.

КонфигурацияRAMCPUПочему
Checkpoint, по умолчанию, 4-8 игроков2-3 ГБ1.5-2 ядраНагрузку дают боты
Checkpoint, много противников или Frenzy3 ГБ2 ядраБольше ботов - больше поиска пути
PvP, 16-28 игроков, без модов2-3 ГБ1.5-2 ядраЛюди дёшевы по сравнению с ботами
Любой режим с большими модовыми картами3-4 ГБ2 ядраРазмер карты и ассеты

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

Решение проблем#

Больше восьми игроков не могут зайти в кооператив. Это ограничение; никакая настройка его не меняет. Используйте PvP или запустите второй сервер.

Сценарий из цикла пропускается. Его переименовали, или его никогда не было. Проверьте через scenarios.

После каждого перезапуска сервер стартует на тестовой карте. -ModDownloadTravelTo= всё ещё указывает на тестовую карту мода. Укажите реальный сценарий.

Мутатор ничего не делает. Его имя написано с ошибкой, или его настройки лежат в Game.ini, а не в Engine.ini. Мутаторам из модов также нужен установленный мод.

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

Игроки отключаются во время загрузки модов. Большой набор модов или медленная загрузка с mod.io на их стороне. Сократите список.

Настройки на лету откатились. Изменения через gamemodeproperty действуют до перезапуска. Запишите их в Game.ini.

FAQ#

Какой режим лучше всего подходит для небольшой группы в Insurgency: Sandstorm?

Checkpoint. Он рассчитан на восемь игроков против ботов, масштабирует число противников по числу людей и по мере роста группы может быть усложнён хардкорным переопределением или мутаторами.

Можно ли держать кооператив и PvP на одном сервере?

В одном цикле - разумно нет: кооператив ограничен восемью игроками, а PvP рассчитан на гораздо большее число. Запустите два сервера или переключайте циклы через -MapCycle= с перезапуском для запланированных мероприятий.

Нужно ли игрокам скачивать мутаторы?

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

Как вывести все сценарии, которые может запускать мой сервер?

Используйте команду scenarios через RCON или в консоли, при желании с фильтром вроде scenarios Push. Она отражает текущую версию сервера и установленные моды.

Почему мой модовый сервер сломался, хотя я ничего не менял?

Автор мода опубликовал обновление, и сервер подхватил его при последнем перезапуске. Проверьте страницу мода и список изменений и ведите список подписанных модов, чтобы быстро убрать сломанный.

Сколько ботов должно быть на сервере Checkpoint?

Начните со значений по умолчанию и меняйте MaximumEnemies на лету через gamemodeproperty во время настоящей сессии. Правильное число зависит от уровня вашей группы и от того, сколько CPU у сервера, поэтому настраивайте, играя, а не копируя чужое значение.


Комментарии

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

0/2000