CS2 на сервере: частые ошибки и решения
Сервер 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 — десятки моделей в одном окне. Оплата картой РФ и по СБП.