Установка CounterStrikeSharp нужна почти каждому, кто хочет от сервера чего-то сверх ванильного матчмейкинга: ретейк, ворминг, кастомные команды, статистика, магазин скинов, кастомные режимы. CSS (не путать со стилями) — это платформа, на которой пишут плагины под CS2 на C#, и большинство современных плагинов рассчитано именно на неё.
Что нужно до начала
CounterStrikeSharp работает поверх Metamod. Если его нет — ставить CSS бессмысленно, он не загрузится. Порядок установки прослойки описан в заметке про установку Metamod Source, и там же ключевой момент про правку gameinfo.gi.
Проверить, что фундамент на месте:
meta listЕсли команда отвечает, а не пишет Unknown command, — можно продолжать. По официальной инструкции CounterStrikeSharp нужен Metamod:Source 2.x из dev-ветки, сборка 1467 или новее с поддержкой KHook.
Какую сборку скачивать
Релизы лежат на GitHub проекта, в архиве обычно два варианта имени:
| Сборка | Что внутри | Когда брать |
|---|---|---|
counterstrikesharp-with-runtime-... | Плагин вместе с .NET-рантаймом | Первая установка — обязательно; на арендованном сервере почти всегда |
counterstrikesharp-... без runtime | Только плагин | Обновление уже установленного CSS, если вы сами следите за актуальностью .NET |
Ставить .NET в систему на арендованном сервере вы, скорее всего, не сможете и не захотите, а сборка с рантаймом самодостаточна. Она весит больше, и это единственный её минус. На Linux для .NET может понадобиться пакет libicu, на Windows — Visual Studio Redistributable.
Второй параметр выбора — ОС. Linux-архив на Windows-сервер и наоборот не заработают.
Установка CounterStrikeSharp в папку csgo
Целевая папка та же, что у Metamod:
game/csgo/После распаковки должно получиться:
game/csgo/addons/counterstrikesharp/
game/csgo/addons/counterstrikesharp/bin/
game/csgo/addons/counterstrikesharp/plugins/
game/csgo/addons/counterstrikesharp/configs/
game/csgo/addons/counterstrikesharp/gamedata/
game/csgo/addons/metamod/counterstrikesharp.vdfПоследний файл — тот, по которому Metamod узнаёт о существовании CSS. Он идёт в архиве, но при распаковке «только нужного» его иногда теряют, и потом долго не понимают, почему всё на месте, а плагин не грузится.
Заливать через файловый менеджер панели или SFTP, распаковывать с объединением папок.
После распаковки — полный перезапуск сервера. Первый старт будет дольше обычного: рантайм разворачивается.
Проверка
В консоли сервера:
meta listCounterStrikeSharp должен появиться в списке загруженных плагинов Metamod со статусом running. Дальше:
css_plugins listКоманда покажет список загруженных плагинов CSS — пока пустой. Если css_plugins не распознаётся, значит CSS не поднялся, смотрите логи запуска.
Установка плагинов
Каждый плагин живёт в собственной папке со своим именем:
addons/counterstrikesharp/plugins/ИмяПлагина/ИмяПлагина.dllИмя папки должно совпадать с именем dll — иначе плагин не найдётся. Это первое, что стоит проверять, когда «положил, а не работает».
Управление без перезапуска сервера:
css_plugins list
css_plugins load ИмяПлагина
css_plugins unload ИмяПлагина
css_plugins reload ИмяПлагинаГорячая перезагрузка экономит массу времени при настройке: правите конфиг, делаете reload, проверяете, без выкидывания игроков.
Конфиги плагинов появляются после первого запуска в addons/counterstrikesharp/configs/plugins/ИмяПлагина/. То есть логика такая: положили dll, запустили, получили конфиг, остановились, отредактировали, перезагрузили плагин.
Отдельные плагины требуют зависимостей — чаще всего это общие библиотеки, которые кладутся в plugins/shared/. Читайте readme конкретного плагина, универсального правила тут нет.
Админы
CSS ведёт свой список администраторов, независимый от ванильных механизмов. Файл:
addons/counterstrikesharp/configs/admins.jsonВ нём для каждого админа указываются SteamID, имя и набор флагов доступа — по ним плагины решают, кому доступна какая команда. Разбор формата и флагов — в заметке про выдачу прав администратора.
Практический совет: не давайте всем модераторам корневой флаг. Плагины трактуют его как «можно всё», включая команды, которые вы бы им не доверили.
Частые проблемы
css_plugins не существует. CSS не загрузился. Проверьте meta list — если там нет CounterStrikeSharp, дело в отсутствующем .vdf или в неверном пути распаковки.
Сервер падает на старте после установки. Обычно несовпадение версий: свежий патч CS2 сломал текущую сборку CSS или Metamod. Решение — обновить оба до сборок, выпущенных после патча.
Плагин в папке, но в списке его нет. Имя папки не совпадает с именем dll, либо плагин собран под другую мажорную версию CSS.
Всё работало, после обновления игры перестало. Классика: обновление перезаписало gameinfo.gi, Metamod отвалился, а вместе с ним и CSS. Порядок действий — в заметке про обновление сервера CS2.
Плагин требует .NET, хотя вы скачали with-runtime. Проверьте, что распаковали именно ту сборку — папка bin у версии с рантаймом заметно объёмнее.
Что ставят в первую очередь
Набор, с которого обычно начинают:
- Админ-плагин с базовыми командами: смена карты, кик, бан, слэп
- MatchZy, если сервер под матчи — про него есть отдельный материал: турнирный сервер на MatchZy
- Плагины режимов — ретейк, дезматч, арена
- Статистика и таблица лидеров
Что из этого имеет смысл на вашем сервере, зависит от режима: обзор вариантов есть в заметке про плагины и моды CS2.
Коротко
Metamod ставится первым, дальше скачивается сборка with-runtime под вашу ОС, распаковывается в game/csgo/ вместе с .vdf в папке metamod, сервер перезапускается, проверка идёт через meta list и css_plugins list. Плагины кладутся в одноимённые папки и перезагружаются на лету.
Если нужен сервер с файловым менеджером и консолью в панели, где всё это ставится за десять минут, — тарифы под CS2 здесь.