MAATRIX / Блог / CS2 на сервере: частые ошибки и решения

CS2 на сервере: частые ошибки и решения

CS2 на сервере: частые ошибки и решения

MAATRIX

Сервер CS2 ставится быстро, но именно на мелочах он и подводит: не виден в браузере серверов, падает с ошибкой библиотек, лагает или не пускает игроков. Разберём частые ошибки сервера CS2 по симптому, причине и решению с командами. Большинство проблем упираются в GSLT-токен, 32-битные зависимости и настройку фаервола с портом 27015.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Сервер запущен, но не виден в списке

Самая частая жалоба: сервер работает, консоль показывает загруженную карту, но в браузере серверов Steam его нет, и друзья не могут найти игру. В девяти случаях из десяти причина одна — не задан или неверен GSLT-токен. Без валидного Game Server Login Token сервер остаётся доступен только в локальной сети и не регистрируется в мастер-серверах Valve.

Проверьте, что токен передан при запуске и что он действителен. Токен получают бесплатно в личном кабинете Steam для App-ID 730, и он не должен быть заблокирован или просрочен.

grep sv_setsteamaccount /etc/systemd/system/cs2.service

Если параметр на месте, а сервер всё равно не виден, убедитесь, что токен не отозван: Valve блокирует токены при нарушениях или если они утекли в открытый доступ. Сгенерируйте новый и подставьте его. Вторая возможная причина невидимости — закрытый порт, но тогда обычно и подключиться напрямую не выйдет. Проверьте подключение по прямому IP: если по адресу с портом зайти можно, а в списке нет — виноват именно токен.

Ошибка отсутствующих библиотек при запуске

Сервер падает сразу при старте с сообщением вроде error while loading shared libraries или прямым указанием на отсутствующий lib32-файл. Причина в том, что SteamCMD и серверные бинарники CS2 тянут 32-битные библиотеки, которых нет в свежей системе по умолчанию. Добавьте архитектуру i386 и доустановите зависимости.

dpkg --add-architecture i386
apt update
apt install -y lib32gcc-s1 lib32stdc++6

После этого сервер запускается штатно. Если ошибка сохраняется и указывает на конкретную библиотеку, установите именно её 32-битный вариант. Иногда проблема всплывает после переустановки или переноса сервера на новую машину, где забыли поставить зависимости, — держите этот шаг в чек-листе развёртывания. Отдельно проверьте, что установка сервера прошла с параметром validate: оборванная закачка тоже даёт вылеты, похожие на нехватку библиотек.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Лаги, рывки и высокий пинг

Игроки жалуются на рывки и плавающий пинг, хотя канал вроде хороший. У CS2 как у шутера две основные причины лагов: слабый процессор сервера и неудачная локация. Начните с проверки нагрузки на процессор во время игры.

top

Если во время активных перестрелок одно ядро упирается в потолок — сервер не тянет тикрейт, и нужен более быстрый процессор. CS2 критичен именно к частоте ядра, а не к их количеству. Если же процессор не загружен, а пинг всё равно высокий, дело в географии: сервер стоит далеко от игроков. Никакими настройками физическую задержку канала не убрать — помогает только перенос сервера ближе к аудитории.

Это тот случай, когда правильная локация важнее любого тюнинга. Если ваша команда в России, а сервер за океаном, пинг всегда будет высоким. У MAATRIX можно взять сервер с быстрым процессором в локации с минимальным пингом до ваших игроков и оплатить из России картой, СБП или криптой, а конфиги перенести простым копированием. Проверьте также параметры тикрейта и sv_maxrate в конфиге — заниженные значения искусственно ухудшают отзывчивость.

Игроки не могут подключиться по IP

Сервер запущен и виден локально, но подключение снаружи не проходит — таймаут при заходе по адресу. Классическая причина — закрытый порт. CS2 использует порт 27015 по TCP и UDP, причём именно UDP несёт игровой трафик, и про него часто забывают, открыв только TCP.

ufw allow 27015
ufw status
ss -ulnp | grep 27015

Обратите внимание: команда ufw allow 27015 без указания протокола открывает и TCP, и UDP — это то, что нужно. Если открыть только TCP, сервер будет виден, но игроки не смогут играть, потому что игровой поток идёт по UDP. Команда ss с ключом u покажет, слушает ли сервер UDP-порт. Проверьте также сетевой фильтр на стороне провайдера в панели управления — иногда трафик режется ещё до вашего фаервола.

Если вы меняли порт сервера параметром запуска, не забудьте открыть в фаерволе именно новый порт, а не стандартный 27015 — рассинхрон между портом в команде запуска и правилом фаервола даёт ровно такой же симптом недоступности. Сверьте номер порта в systemd-юните с правилом ufw. И помните: даже при полностью открытых портах подключение не пройдёт, если сервер на самом деле не стартовал, поэтому первым делом всегда убеждайтесь, что процесс жив и слушает порт.

RCON не работает или управление недоступно

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

Вторая причина — вы пытаетесь подключиться к RCON с адреса, которому это не разрешено, либо порт RCON закрыт фаерволом. RCON работает по тому же порту 27015 по TCP, поэтому если вы открыли только UDP, управление не пройдёт. Убедитесь, что TCP-порт тоже открыт. И помните про безопасность: RCON-пароль даёт полный контроль над сервером, поэтому он должен быть длинным и не совпадать с другими вашими паролями. Никогда не оставляйте RCON с простым или пустым паролем на публичном сервере — его быстро найдут и перехватят управление.

Сервер не поднимается после перезагрузки

После ребута VPS сервер CS2 не запустился сам. Причина в отсутствии автозапуска: ручной старт не переживает перезагрузку. Проверьте состояние systemd-юнита и журнал.

systemctl status cs2
journalctl -u cs2 -n 40

Частые ошибки в юните — неверный рабочий каталог или путь к бинарнику cs2, из-за чего сервис падает при старте. Журнал покажет точную причину. Ещё одна распространённая проблема — токен GSLT прописан в юните с ошибкой или устарел, тогда сервер поднимется, но снова окажется невидимым. После правки юнита не забудьте выполнить systemctl daemon-reload и включить автозапуск через systemctl enable, чтобы сервер стабильно стартовал при каждой загрузке машины.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

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

Сервер работает, но его нет в списке — почему?

Почти всегда не задан или отозван GSLT-токен. Без валидного токена сервер виден только локально. Проверьте sv_setsteamaccount и при необходимости сгенерируйте новый токен в кабинете Steam.

Сервер падает с ошибкой shared libraries — что делать?

Не установлены 32-битные библиотеки. Добавьте архитектуру i386 и поставьте lib32gcc-s1 и lib32stdc++6, затем перезапустите сервер.

Игроки не подключаются по IP, хотя сервер запущен?

Закрыт UDP-порт 27015. Команда ufw allow 27015 открывает оба протокола; если открыть только TCP, игровой трафик по UDP не пройдёт и подключиться будет нельзя.

Как убрать высокий пинг на сервере CS2?

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

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.