MAATRIX GAMES / Блог / Squad: сервер не отображается в браузере серверов

Squad: сервер не отображается в браузере серверов

MAATRIX GAMES

Знакомая картина: в консоли всё чисто, в логе никаких ошибок, SquadGameServer.sh висит в процессах и вроде бы держит порт — а в браузере серверов Squad (или в фильтре по community-серверам) вашего сервера просто нет. Игроки не могут его найти, вы не можете зайти по прямому подключению и проверить, что всё работает. Это одна из самых частых и при этом самых нервных проблем при первом запуске Squad, и почти всегда причина в одной из четырёх вещей: неверные параметры запуска, закрытый порт, задержка индексации или проблема с самой регистрацией в мастер-сервере. Разберём каждую по порядку — от самой частой к самой редкой.

Шаг 1: убедитесь, что сервер вообще жив и слушает порты

Прежде чем гадать про firewall и индексацию, проверьте базовые вещи. Процесс сервера должен быть запущен и не падать сразу после старта:

ps aux | grep SquadGameServer

Если процесса нет — сервер упал при старте, и разбираться нужно с логом запуска, а не с видимостью в браузере. Смотрите последние строки:

tail -100 /home/squadserver/squad-server/SquadGame/Saved/Logs/SquadGame.log

Частые причины краша на старте — занятый порт другим процессом, битые файлы установки после неполного обновления или неверные значения в Server.cfg. Если лог чист и процесс жив — проверьте, что порт реально слушается:

ss -tulnp | grep SquadGameServer

Ожидаете увидеть минимум два UDP-порта — Game Port и Query Port. Если в выводе только один порт или его нет вовсе — проблема на этом шаге, дальше идти рано.

Шаг 2: проверьте параметры запуска — Port и QueryPort

Самая частая причина невидимости сервера в браузере — не firewall, а банальная путаница с параметрами запуска. У Squad это два разных порта с разным назначением, и они оба обязаны быть заданы корректно и не конфликтовать с другими сервисами на хосте:

./SquadGameServer.sh Port=7787 QueryPort=27165 -log
  • Port — игровой порт (UDP), по нему клиенты обмениваются игровым трафиком после подключения.
  • QueryPort — порт опроса (UDP), именно по нему Steam-клиент запрашивает у сервера имя, число игроков, текущую карту — то есть всё, что вы видите строкой в браузере серверов. Если QueryPort закрыт, недоступен или указан неверно — сервер физически может принимать игроков по прямому IP, но в списке его не будет никогда.

Частые ошибки на этом шаге:

  • QueryPort совпадает с Game Port другого сервера на этом же хосте. Если на одной машине крутится несколько игровых серверов (второй инстанс Squad, Rust, CS2), порты пересекаются молча — один процесс перехватывает трафик, второй просто не отвечает на опрос.
  • QueryPort не совпадает с тем, что прописано в Server.cfg. Если вы задаёте порт и в параметрах запуска, и в конфиге, а значения разъехались — используется то, что передано в командной строке, но путаница в файлах — частый источник забытых старых значений при повторных правках.
  • Порт из зарезервированного диапазона. Значения ниже 1024 или уже занятые системными службами лучше не трогать — оставайтесь в диапазоне выше 10000, если меняете порты по умолчанию.

Если меняли порты — проверьте актуальные значения сразу в двух местах: в команде запуска (или в systemd-юните, если сервис работает через systemd) и в Server.cfg. Они обязаны совпадать.

Поднять сервер Squad за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

Шаг 3: firewall — самая частая причина после ошибок в портах

Если с параметрами запуска всё верно, а сервера всё равно нет в списке — в 8 случаях из 10 виноват firewall, причём часто не тот, о котором вы подумали в первую очередь. Проверяем локально на VPS:

sudo ufw status verbose

Должны быть разрешены оба UDP-порта:

sudo ufw allow 7787/udp
sudo ufw allow 27165/udp
sudo ufw reload

Если используете iptables напрямую, а не ufw:

sudo iptables -L -n | grep -E '7787|27165'

Но локальный firewall — это только половина картины. Даже при полностью открытых портах на самой VPS, трафик может резаться на уровне сети хостера — так называемый network-level firewall или security group, которая существует отдельно от настроек внутри гостевой ОС и по умолчанию блокирует всё, кроме SSH. Проверьте в панели управления хостингом: часто там отдельная вкладка "Firewall" или "Security Group" с собственным списком разрешённых портов, никак не связанным с ufw внутри сервера. Забытое правило именно здесь — классика: сервер отвечает на localhost, ufw молчит, а снаружи порт мёртв.

Проверить доступность порта снаружи проще всего сторонним UDP/TCP-чекером порта (по внешнему IP сервера) — если он показывает порт закрытым при разрешающих правилах и в ufw, и внутри ОС, значит режется именно на уровне сети хостера, и нужно смотреть настройки провайдера отдельно.

Отдельно стоит помнить про NAT: если VPS не имеет прямого публичного IP, а сидит за NAT-шлюзом (редко, но встречается на некоторых бюджетных тарифах), нужен ещё и проброс портов на уровне самого шлюза — иначе никакие правила firewall внутри гостевой ОС не помогут в принципе. Уточняйте у хостера тип сети, если сомневаетесь.

Шаг 4: задержка индексации в браузере серверов

Даже при абсолютно верной конфигурации сервер не появляется в браузере мгновенно. Регистрация в мастер-сервере Steam и попадание в общий список — процесс не мгновенный:

  • Первое появление после старта — ориентировочно от нескольких минут до 10-15 минут, точный интервал не гарантирован и зависит от нагрузки на инфраструктуру Steam.
  • После смены параметров запуска (порта, имени сервера) старая запись может провисеть в кэше клиента ещё некоторое время — обновите список фильтров вручную и подождите, прежде чем считать это багом.
  • Фильтры в самом браузере серверов (регион, наличие пароля, версия игры, режим) иногда скрывают сервер сильнее, чем кажется — сбросьте все фильтры и поищите сервер по имени через поиск, а не листая общий список.

Проверить, что сервер реально отвечает на опрос, можно и не дожидаясь общего списка — подключитесь напрямую по IP и Game Port через консоль игры (open IP:port) или используйте отдельный инструмент опроса Steam-сервера по протоколу A2S, который покажет имя, карту и число игроков без похода в общий браузер. Если A2S-запрос отвечает — с сервером всё в порядке, дело только в задержке индексации самого браузера.

Шаг 5: сервер отвечает на A2S, но всё равно не в списке

Отдельный и не такой редкий случай: прямое подключение по IP работает, A2S-опрос отвечает корректными данными — а в общем браузере серверов сервера всё равно нет. Здесь стоит проверить несколько более тонких вещей:

  • ServerName пустой или содержит только спецсимволы. Некоторые клиенты отфильтровывают такие записи как мусорные.
  • Дублирующийся QueryPort с другим уже зарегистрированным сервером в мастер-листе (в том числе чужим, не обязательно вашим) — если IP:порт когда-то был занят другим сервером и запись не успела протухнуть, может быть коллизия в кэше индекса.
  • VAC (VACEnabled) выключен без явной причины. Часть клиентских фильтров по умолчанию скрывает non-VAC серверы — если фильтр "только VAC" стоит у игрока по умолчанию, а на сервере VACEnabled=false, он его просто не увидит, хотя сервер полностью исправен.
  • Слишком старая или слишком новая версия сборки относительно клиента. После патча игры сервер, не обновлённый вовремя (или наоборот — обновлённый раньше клиентов), может скрываться фильтром совместимости версий у части игроков.

Если ни один из этих пунктов не объясняет проблему — пересоздайте команду запуска с нуля, скопировав рабочие значения портов из этой статьи, и перезапустите сервис. Иногда помогает полный рестарт, а не просто изменение конфига на живом процессе — часть параметров Squad подхватывает только при холодном старте.

Проверка через RCON — убедиться, что сервер жив изнутри

Если есть сомнения, реально ли сервер обслуживает игроков, а не просто "висит в процессах", подключитесь через RCON и проверьте статус напрямую, не полагаясь на браузер серверов:

RconEnabled=true
RconPort=21114
RconPassword=AnotherSecretPass456

Через RCON-клиент можно запросить список текущих игроков и текущую карту — если сервер отвечает и данные адекватны, значит сама игровая логика работает исправно, а проблема локализована строго на уровне видимости в браузере (порт опроса, firewall, индексация), а не в самом сервере.

Чек-лист диагностики по порядку

Для быстрой проверки — пройдите шаги именно в этом порядке, не перепрыгивая:

ШагЧто проверяемКоманда/действие
1Процесс жив, порт слушается`ps aux \grep SquadGameServer, ss -tulnp`
2QueryPort верный и не конфликтуетсверить команду запуска и Server.cfg
3Firewall на VPSufw status, iptables -L
4Firewall хостера / security groupпанель управления VPS
5Прямое A2S-подключение отвечаетсторонний A2S-чекер или open IP:port в игре
6Индексация Steamподождать 10-15 минут, сбросить фильтры
7RCON отвечаетподключение RCON-клиентом

Если дошли до шага 7 и сервер отвечает и по A2S, и по RCON, а в общем списке всё равно нет — почти наверняка это временная задержка на стороне мастер-сервера Steam, а не ошибка в вашей конфигурации; дайте ему ещё 15-20 минут и проверьте снова.

Поднять сервер Squad за пару минут

Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.

Создать сервер

Частые вопросы

Сервер виден в браузере, но недоступен для подключения — это та же проблема?

Нет, это обратная ситуация: если сервер виден, значит QueryPort работает, а проблема в Game Port — проверьте его отдельно теми же методами (firewall, конфликт портов).

Обязательно ли открывать RCON-порт (21114/TCP), если не планирую его использовать?

Нет, на видимость в браузере серверов RCON не влияет — это отдельный канал администрирования, а не часть протокола опроса.

Помогает ли смена QueryPort на нестандартный, если сервер долго не появляется?

Сама по себе нет — если проблема в firewall или в задержке индексации, смена номера порта её не решит, а только сбросит текущий прогресс регистрации и добавит ещё одну задержку.

Как быстро проверить, что дело именно в firewall, а не в самой Squad?

Проверьте порт сторонним UDP-чекером снаружи сети — если он показывает порт закрытым при разрешающих правилах внутри ОС, проблема на уровне сети, а не в игровом сервере.

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

Обычно нет — изменения firewall применяются на уровне сети и не требуют рестарта самого игрового процесса, но если сомневаетесь — рестарт не помешает и исключит другие переменные.