Squad — Server.cfg и Layers.cfg
Базовый Server.cfg поднимает сервер, но не делает его удобным для жизни: команды разваливаются в дисбаланс на 20 человек разницы, ротация крутит одни и те же три слоя, а модераторы спорят, кто имеет право менять карту без разрешения владельца. Это не баги — это дефолтные значения, которые никто не подкрутил под конкретный паблик. Разберём, какие параметры Server.cfg реально влияют на качество игры, как устроена продвинутая ротация через Layers.cfg и MapRotation.cfg, что на самом деле можно сделать с лимитами техники (спойлер: не всё, что гуглится), и как раздать права через Admins.cfg так, чтобы не превращать сервер в проходной двор.
Содержание
- Когда пора уходить от Server.cfg по умолчанию
- Баланс команд и поведение игроков в Server.cfg
- Ротация: Layers.cfg, MapRotation.cfg и режим LayerList
- Лимиты техники: честный разбор — что реально можно ограничить
- Admins.cfg — группы прав и кто что может
- MOTD и информирование игроков через ServerMessages.cfg
Когда пора уходить от Server.cfg по умолчанию
Если сервер уже поднят по базовому гайду установки Squad и работает — это только фундамент. Дефолтные значения Server.cfg рассчитаны на «чтобы вообще запустилось», а не на конкретно ваш паблик с его расписанием, составом игроков и модераторской командой. Типичные звоночки, что пора копать глубже:
- Команды регулярно расходятся 60 на 40 и держатся так весь раунд, потому что балансировка не настроена.
- Игроки жалуются, что после кика из отряда их тут же обратно зовут те же гриферы — нет задержки на повторный вход.
- Ротация выдаёт один и тот же набор карт неделями, потому что список не рандомизируется при старте.
- Никто не понимает, кто из модераторов имеет право менять карту или банить — права не разнесены по группам.
- Новички не видят правил и контактов администрации, потому что вся информация — в закреплённом сообщении Discord, до которого никто не долистывает.
Все эти вопросы закрываются конфигами, которые уже лежат в SquadGame/ServerConfig/ — их не нужно скачивать отдельно, только осмысленно заполнить.
Баланс команд и поведение игроков в Server.cfg
Часть параметров Server.cfg напрямую управляет тем, как ведут себя игроки, а не просто «сколько слотов» — их обычно и не трогают на базовой установке, а зря:
AllowTeamChanges=true
PreventTeamChangeIfUnbalanced=true
NumPlayersDiffForTeamChanges=3
RejoinSquadDelayAfterKick=180
TKAutoKickEnabled=True
AutoTKBanNumberTKs=7
AutoTKBanTime=300
MaxTPS=40
Разберём по смыслу:
PreventTeamChangeIfUnbalancedвместе сNumPlayersDiffForTeamChanges— это и есть механизм балансировки: если разница между командами превышает заданное число игроков, свободный переход в перегруженную команду блокируется. Значение3— разумный дефолт для паблика на 60-100 слотов, для маленьких серверов (20-30 игроков) имеет смысл снизить до 1-2, иначе дисбаланс в процентах ощущается сильнее.RejoinSquadDelayAfterKick— задержка в секундах, прежде чем кикнутого из отряда игрока туда снова смогут позвать. По умолчанию 180 секунд, но на серверах с активными гриферами это стоит увеличивать — три минуты гриферу ничего не стоят.TKAutoKickEnabled,AutoTKBanNumberTKs,AutoTKBanTime— автоматический временный бан за тимкиллы без участия админа. Семь тимкиллов подряд на 300-секундный бан — стартовая точка, но на техничном паблике, где случайные подрывы техникой не редкость, порог стоит поднять, иначе будете разбирать необоснованные баны в тикетах.MaxTPS— верхний потолок тикрейта сервера. Значение выше 45 разработчики сами не рекомендуют для стабильности; конкретную комфортную цифру для вашего железа и онлайна нужно подбирать экспериментально, здесь нет универсального числа, которое подойдёт всем тарифам.
Отдельно — голосования, тоже раздел Server.cfg, который часто оставляют как есть:
UseVoteLevel=false
UseVoteLayer=false
UseVoteFactions=false
Включение голосования за следующий слой (UseVoteLayer=true) снимает часть нагрузки с администрации, но на неопытном паблике голосования быстро превращаются в спам одного и того же популярного слоя — если включаете, комбинируйте с продуманным пулом слоёв в ротации, а не с полным списком всех карт игры.
Поднять сервер Squad за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверРотация: Layers.cfg, MapRotation.cfg и режим LayerList
Регистрация слоёв и их ротация — два разных файла, и путать их не стоит. Layers.cfg (в части сборок — LayerList.cfg, сверяйтесь с тем, что реально лежит в вашей ServerConfig/) — это реестр: движок читает его на старте и понимает, какие слои вообще существуют на сервере. MapRotation.cfg — простой список слоёв построчно, определяющий порядок, в котором они выпадают:
Narva_RAAS_v1
Yehorivka_AAS_v1
Gorodok_Invasion_v1
Mutaha_RAAS_v2
Fallujah_TC_v1
Narva_Seed_v1
Режим работы ротации задаётся отдельным параметром Server.cfg:
MapRotationMode=LayerList
RandomizeAtStart=true
MapRotationMode=LayerList — стандартный режим, где ротация идёт строго по слоям из MapRotation.cfg (есть и альтернативный режим на уровне карт без фиксации конкретного слоя — поведение менялось от патча к патчу, сверяйтесь с актуальной документацией к вашей версии игры). RandomizeAtStart=true перемешивает список при каждом запуске сервера — без этого флага сервер после каждого рестарта или планового ребута хоста будет упрямо начинать с первой строки файла, и завсегдатаи паблика быстро это замечают.
Если добавляете кастомные слои сообщества в ротацию — процесс регистрации, тестирования и предостережения по совместимости версий подробно разобраны в отдельном гайде про кастомные миссии для Squad, здесь не дублируем.
Практический совет по составлению самого списка: не ставьте подряд два тяжёлых Invasion-слоя на больших картах — если сервер и так на грани по CPU в пиковый онлайн, это тот случай, который разобран в гайде почему Squad лагает при большом онлайне. Чередуйте по интенсивности: RAAS среднего размера, потом что-то компактное, потом снова тяжёлый слой — так нагрузка на CPU выравнивается по вечеру, а не концентрируется в один час подряд.
Лимиты техники: честный разбор — что реально можно ограничить
Здесь стоит сразу расставить точки: в ванильном Squad нет параметра в Server.cfg вида «максимум 2 танка на команду» — количество единиц техники на слое зашито в дизайн самой карты картостроителями Offworld Industries и меняется только вместе с новой версией баланса слоя (_v1, _v2 и так далее в названии). Если ищете именно такую точечную настройку — её не существует в чистом виде, и любой материал, который обещает подобный параметр в Server.cfg, скорее всего, ошибается или устарел.
Что реально доступно администратору сервера:
ExcludedFactions.cfg— файл, которым можно исключить из ротации целые категории дивизий фракций (в игре они называются setup/division: например,Armored,Mechanized,Motorized,LightInfantry,AirAssault,Support). ИсключаяArmoredилиMechanizedдля конкретных слоёв, вы фактически убираете тяжёлую бронетехнику из возможных составов — это ближайший к «лимиту техники» рабочий инструмент из коробки.- Seed-слои — версии карт с урезанным набором техники, специально сделанные разработчиками под низкий онлайн (обычно в названии слоя есть
Seed, напримерNarva_Seed_v1). Держите несколько таких слоёв в начале ротации на утренние и ночные часы — это снимает нагрузку и на сервер, и на новичков, которых в пустом лобби давят единственным доступным танком. VehicleClaimingDisabled=trueв Server.cfg — грубый рубильник, полностью отключающий возможность заявки техники игроками. Подходит для специфичных ивентов (пехотный ночной бой), но не для постоянной настройки паблика — это не лимит, а полное отключение.VehicleKitRequirementDisabled— переключатель требования соответствующего кита для посадки на технику; трогать стоит только осознанно, по умолчанию требование кита — часть баланса игры, а не бага.
Для более тонкой настройки — кулдаун на повторную заявку той же машины squad'ом, лимит редких единиц техники только для «застолбивших» отрядов — вручную в Server.cfg такого нет, это территория SquadJS и его плагинов, работающих поверх RCON и логов сервера. Если жалобы на «танкодром» продолжаются после исключения дивизий и добавления seed-слоёв в ротацию — следующий шаг именно туда, а не поиск несуществующего параметра в конфиге.
Admins.cfg — группы прав и кто что может
На сервере с несколькими модераторами раздавать всем одинаковый админ-пароль — плохая идея: рано или поздно кто-то случайно (или не случайно) забанит не того игрока или сменит карту посреди решающего боя. Admins.cfg решает это через группы:
Group=Owner:admin,cheat,cameraman,immune,manageserver,canseeadminchat,reserve,teamchange,forceteamchange,private,balance,chat,kick,ban,config,cameraman,debug,featuretest,demos,restricted
Group=Moderator:cameraman,teamchange,forceteamchange,kick,ban,chat,canseeadminchat,reserve
Group=Helper:reserve,chat,canseeadminchat
Admin=76561198000000001:Owner
Admin=76561198000000002:Moderator
Admin=76561198000000003:Helper
Формат простой: Group=Имя:право1,право2,... описывает набор разрешений, Admin=SteamID64:Имя_группы привязывает игрока к группе по его Steam64 ID. Точный набор ключей прав может немного отличаться между версиями игры — сверяйтесь со списком в шаблоне Admins.cfg на вашей установке, прежде чем копировать пример один в один.
| Группа | Типичный набор прав | Кому давать |
|---|---|---|
| Owner / Head Admin | все права, включая manageserver, cheat, config | вам и максимум 1-2 доверенным людям |
| Moderator | кик, бан, смена карты, чат админов, без cheat/manageserver | активным модераторам сообщества |
| Helper / Reserve | только reserve и chat | активным игрокам без права наказывать других |
Право reserve — то самое, что связывает Admins.cfg с параметром NumReservedSlots в Server.cfg: именно игроки из групп с этим правом занимают зарезервированные слоты сверх MaxPlayers, когда паблик забит под завязку. Держите список групп минимальным и понятным — три-четыре уровня прав закрывают потребности почти любого паблика, раздувать иерархию до десяти рангов обычно не нужно.
MOTD и информирование игроков через ServerMessages.cfg
Отдельно от правил в Rules.cfg (статичный текст во вкладке Rules) в Squad есть механизм рассылки сообщений прямо в игровой чат с заданным интервалом — файл ServerMessages.cfg, за частоту показа которого отвечает параметр в Server.cfg:
ServerMessageInterval=300
Значение в секундах — по умолчанию сообщения крутятся раз в 5 минут. В сам ServerMessages.cfg добавляются строки с текстом, который увидят все игроки на сервере — по одному сообщению за проход, по кругу:
Добро пожаловать! Discord сервера: your-discord-invite
Гриферство и тимкилл — бан без предупреждения.
Хотите поиграть на закрытом тест-сервере? Пишите в Discord.
Практический баланс: слишком короткий интервал (60 и меньше) быстро превращается в спам поверх обычного чата, слишком длинный — сообщения никто не успевает прочитать за раунд. 300-400 секунд — комфортная середина для большинства паблик-серверов. Используйте это место для действительно важного — ссылка на Discord, актуальные правила, анонс ивента, — а не для рекламного шума, иначе игроки начнут игнорировать чат сервера целиком.
Поднять сервер Squad за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Можно ли ограничить количество танков или БТР на конкретной карте через Server.cfg?
Нет, поштучного лимита техники в конфиге нет — количество и тип техники заданы дизайном слоя. Ближайшие рабочие инструменты — исключение дивизий через ExcludedFactions.cfg и использование seed-версий слоёв с урезанным набором техники.
После правки Layers.cfg или MapRotation.cfg сервер сразу подхватывает изменения?
Нет, требуется перезапуск сервиса — на лету эти файлы не перечитываются. Смену текущего слоя без рестарта можно форсировать вручную через RCON, если админ на сервере в момент правки.
Чем ServerMessages.cfg отличается от Rules.cfg?
Rules.cfg — статичный текст, который игрок открывает сам во вкладке Rules в меню. ServerMessages.cfg — активные сообщения, которые сервер сам показывает в чат через заданный интервал (ServerMessageInterval), их видят все без дополнительных действий.
Сколько уровней прав в Admins.cfg разумно заводить на среднем паблике?
Обычно достаточно трёх: полный доступ владельцу/старшему админу, кик-бан-смена карты для модераторов, и минимальный reserve для доверенных активных игроков. Раздувать иерархию без реальной необходимости не стоит — усложняет и саппорт, и разбор спорных ситуаций.
Стоит ли включать голосование за слой (UseVoteLayer), чтобы снять нагрузку с администрации?
Можно, но только с продуманным ограниченным пулом слоёв в ротации — на полном списке всех карт игры голосование почти всегда скатывается к одному и тому же популярному выбору, и разнообразие ротации от этого страдает, а не выигрывает.