Valve выкатила патч — и сервер мгновенно превращается в тыкву: игроки видят «Your server is out of date», Metamod не грузится, плагины падают с исключениями. Обновить сервер CS2 нужно как можно быстрее, но порядок действий имеет значение: если просто нажать «обновить» и запустить, вы с высокой вероятностью получите рабочий дедик без единого плагина. Разберём весь цикл — от остановки до восстановления связки Metamod и CounterStrikeSharp.
Когда обязательно обновить сервер CS2
CS2 не пускает клиента на сервер с другой версией. Признаки, что пора:
- В браузере серверов ваш сервер пропал или помечен устаревшим.
- Игроки получают ошибку о несовпадении версии при подключении.
- В консоли при старте — жалобы на несовпадение сборки.
Проверить текущую версию можно в файле:
game/csgo/steam.infВнутри строки PatchVersion и ClientVersion. Сравните с актуальной версией из патчноутов Valve — это надёжнее, чем гадать по симптомам.
Шаг 1: остановить сервер
Обновление на живом процессе — гарантированный способ получить битые файлы. Останавливайте сервер кнопкой Stop в панели или через systemd, если поднимали сами:
systemctl stop cs2Дождитесь, пока процесс действительно завершится, а не просто «серый статус». В панели это видно по консоли — она должна показать корректное завершение.
Шаг 2: сделать бэкап конфигов
Полный бэкап образа обычно избыточен, но конфиги и плагины сохранить нужно всегда. Минимальный набор:
game/csgo/cfg/
game/csgo/addons/
game/csgo/gamemodes_server.txt
game/csgo/steam.infСкачайте их по SFTP или сделайте архив прямо в файловом менеджере панели. Проверка validate, о которой ниже, умеет удалять файлы, которых нет в манифесте Steam, — и addons попадает под удар первым.
Шаг 3: команда SteamCMD
App ID дедика CS2 — 730, тот же, что у самой игры. Команда целиком:
./steamcmd.sh +login anonymous +force_install_dir /home/cs2/cs2-server +app_update 730 validate +quit| Часть команды | Что делает |
|---|---|
+login anonymous | Дедик CS2 качается анонимно, аккаунт Steam не нужен |
+force_install_dir | Путь до сервера. Указывайте до +app_update, иначе SteamCMD скачает всё в свою директорию по умолчанию, и вы будете долго искать около 30 гигабайт |
+app_update 730 | Собственно обновление |
validate | Сверка контрольных сумм всех файлов |
validate заметно замедляет процесс (на HDD это десятки минут), поэтому в штатной ситуации его можно опустить. Обязательным он становится, если сервер падает после обновления или вы подозреваете повреждённые файлы.
На хостинге с панелью отдельный SteamCMD запускать не нужно: кнопка обновления или переустановки сервера делает то же самое. Разница в том, что панель обычно сохраняет пользовательские файлы, а validate вручную — нет.
Шаг 4: восстановить Metamod и плагины
Это тот шаг, который пропускают, а потом пишут в поддержку «после обновления пропали все плагины».
Что нужно проверить:
- Папка
game/csgo/addons/на месте. Еслиvalidateеё вычистил — вернуть из бэкапа. - В файле
game/csgo/gameinfo.giприсутствует строка загрузки Metamod. Обновление игры перезаписываетgameinfo.giпочти всегда, и строку приходится дописывать заново. Точная формулировка — в статье про установку Metamod. - Версии Metamod и CounterStrikeSharp соответствуют новой сборке игры. После крупного патча старые сборки просто не загрузятся — нужны свежие релизы.
Порядок восстановления: сначала Metamod, потом CounterStrikeSharp, затем плагины. CounterStrikeSharp обновляется простым копированием свежего релиза поверх старого — по официальной документации конфиги при этом не перезаписываются. Пытаться чинить плагин, когда не грузится фреймворк, — потерянный вечер.
Шаг 5: запуск и проверка
Стартуйте сервер и сразу смотрите консоль:
meta list
css_plugins list
statusmeta list покажет загруженные модули, css_plugins list — плагины, status — версию и количество слотов. Если всё три команды отвечают осмысленно, обновление прошло.
Дополнительно проверьте, что сервер видно снаружи: GSLT-токен иногда слетает вместе с конфигом, и сервер тихо становится невидимым в браузере.
Автоматизация
Держать обновление вручную больно, если серверов несколько. Простой скрипт под cron:
#!/bin/bash
systemctl stop cs2
/home/cs2/steamcmd/steamcmd.sh +login anonymous \
+force_install_dir /home/cs2/cs2-server \
+app_update 730 +quit
systemctl start cs2Ставится в планировщик задач на ночное время. Важная оговорка: автообновление игры не обновляет Metamod и плагины. После крупного патча сервер поднимется, но без аддонов, поэтому скрипт хорош для мелких апдейтов, а мажорные всё равно требуют рук.
Параметр -autoupdate в строке запуска для CS2 полагаться не стоит — он работает нестабильно и на части сборок игнорируется.
Что чаще всего ломается
- SteamCMD качает всё заново. Неверный
force_install_dirили он указан послеapp_update. - Не хватает места. Дедик CS2 весит около 30 ГБ, и во время обновления временно нужно больше. Проверьте
df -hдо запуска. - Сервер стартует, но пустой в браузере. Слетел GSLT или параметры запуска — смотрите параметры запуска сервера.
- Плагины падают с ошибкой типа. Несовместимая версия CounterStrikeSharp, ждите обновлённую сборку.
- Права на файлы. Если запускали SteamCMD от root, а сервер работает от другого пользователя, процесс не сможет писать логи и демо.
Частые вопросы
Нужно ли обновлять сервер после каждого мелкого патча?
Если клиенты не пускает — да, выбора нет. Мелкие патчи без смены версии протокола иногда проходят мимо, но проверить проще, чем угадывать: зайдите на сервер сами.
Сохранятся ли карты из workshop?
Да, они лежат в отдельной директории и app_update 730 их не трогает. Обновление самих карт зависит от авторов — подробнее в статье про карты из workshop.
Что делать, если после обновления не работает MatchZy?
Ждать сборку плагина под новую версию CounterStrikeSharp. До этого момента матчевый сервер работать не будет — это нормальный цикл после каждого крупного патча, смотрите установку MatchZy.
Коротко
Остановить сервер, забэкапить cfg и addons, выполнить app_update 730 с правильным force_install_dir, вернуть строку Metamod в gameinfo.gi, обновить фреймворк и плагины, проверить meta list и css_plugins list. На это уходит минут двадцать, если не пропускать бэкап.
Если не хочется ставить SteamCMD самому — на хостинге с панелью сервер переустанавливается и перезапускается из браузера, тарифы CS2 тут.