CS2: установка Metamod и CounterStrikeSharp
Пошаговая инструкция по установке Metamod:Source и CounterStrikeSharp на сервер CS2: зависимости .NET, структура плагинов, проверка и обновление.
Кратко: Установи Metamod:Source (dev-билд), затем CounterStrikeSharp поверх него. Пропиши строку в gameinfo.gi, установи .NET 8 Runtime - и сервер готов к загрузке C#-плагинов.
CS2: установка Metamod и CounterStrikeSharp
CounterStrikeSharp (CSS) - это современный фреймворк для разработки плагинов к CS2, написанный на C#. В отличие от SourceMod, он использует нативный C#-интерфейс и даёт плагинам полный доступ к API игры. По состоянию на 2026 год большинство активно поддерживаемых CS2-плагинов - от систем рейтинга до кастомных режимов - выходят именно под CSS. В этой инструкции - полная пошаговая установка Metamod:Source и CounterStrikeSharp на выделенный сервер CS2 с разбором типичных ошибок.
Pterohost - игровой хостинг с NVMe-дисками, DDoS-защитой уровня L3/L4/L7 и поддержкой 24/7. Серверы CS2 поднимаются за 2 минуты. Промокод 4START даёт -20% на первый заказ. Заказать CS2 сервер
Что понадобится перед началом
Перед установкой убедись, что у тебя есть:
- Работающий сервер CS2 (если ещё не настроен - читай инструкцию по созданию сервера CS2)
- Доступ к файловой системе сервера через FTP/SFTP, панель управления (Pterodactyl) или SSH
- На сервере установлен .NET 8 Runtime (обязательное требование CSS)
- Базовые навыки работы с терминалом или файловым менеджером
Архитектура стека
Понимание структуры помогает не запутаться при установке:
| Слой | Компонент | Что делает |
|---|---|---|
| 1 - движок | CS2 Dedicated Server | Сам игровой сервер |
| 2 - загрузчик | Metamod:Source | Встраивается в движок и загружает расширения |
| 3 - фреймворк | CounterStrikeSharp | Плагин поверх Metamod, загружает C#-плагины |
| 4 - плагины | .dll-файлы | Логика твоего сервера (рейтинг, режимы, и т.д.) |
Metamod и CSS - это два разных слоя. Без Metamod CSS не запустится.
Шаг 1: Установка .NET 8 Runtime
CounterStrikeSharp требует .NET 8 на хост-машине. Если сервер на Linux (Ubuntu/Debian):
# Добавить репозиторий Microsoft
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
# Установить только Runtime (не SDK)
sudo apt-get update
sudo apt-get install -y dotnet-runtime-8.0
Для Ubuntu 24.04 Runtime уже есть в стандартных репозиториях:
sudo apt-get install -y dotnet-runtime-8.0
Проверка:
dotnet --list-runtimes
# Должно быть: Microsoft.NETCore.App 8.x.x [/usr/lib/dotnet/shared/Microsoft.NETCore.App]
На Windows Server скачай установщик с https://dotnet.microsoft.com/download/dotnet/8.0 - раздел “Runtime”, тип “ASP.NET Core Runtime” или просто ”.NET Runtime”.
Если используешь Pterodactyl - установка .NET происходит внутри контейнера Docker. Egg для CS2 с поддержкой CSS обычно уже включает нужные зависимости. Уточни у хостинга.
Шаг 2: Установка Metamod:Source
CounterStrikeSharp требует Metamod:Source ветки dev (не stable). Стабильная ветка CS2 не поддерживает.
Скачивание
Перейди на официальный сайт: https://www.sourcemm.net/downloads.php?branch=dev
Нужна сборка для твоей платформы:
- Linux:
mmsource-X.X.X-gitXXXXXXX-linux.tar.gz - Windows:
mmsource-X.X.X-gitXXXXXXX-windows.zip
По состоянию на июнь 2026 актуальна версия ветки 2.x.
Установка в файловую систему сервера
Структура файлов CS2 сервера:
cs2/
game/
csgo/
gameinfo.gi <- этот файл нужно будет изменить
addons/ <- сюда распаковывается Metamod
Распакуй архив так, чтобы содержимое попало в game/csgo/. После распаковки структура должна выглядеть:
game/csgo/addons/
metamod/
bin/
linux64/
server.so
win64/
server.dll
metamod.vdf
Через команды (Linux):
cd /home/cs2server/cs2/game/csgo
tar -xzf ~/mmsource-dev-linux.tar.gz .
Правка gameinfo.gi
Это обязательный шаг - без него Metamod не загрузится. Открой файл game/csgo/gameinfo.gi и найди блок SearchPaths:
SearchPaths
{
Game csgo
Game csgo/addons/metamod // <- добавь эту строку
...
}
Строку Game csgo/addons/metamod нужно добавить сразу после строки Game csgo.
Через sed на Linux:
sed -i 's|Game\tcsgo$|Game\tcsgo\n\t\t\tGame\tcsgo/addons/metamod|' game/csgo/gameinfo.gi
Или отредактируй вручную любым текстовым редактором. Сохрани файл.
Проверка Metamod
Запусти сервер и в консоли выполни:
meta version
Ожидаемый вывод:
Metamod:Source version 2.x.x
Build ID: xxxxxxx
Loaded as: Valve Server Plugin
Loaded: 1 plugin(s)
Если видишь эту строку - Metamod установлен корректно.
Шаг 3: Установка CounterStrikeSharp
Скачивание
Скачай последний релиз с официального репозитория: https://github.com/roflmuffin/CounterStrikeSharp/releases
Выбирай файл with-runtime - он включает нужные .NET-файлы. Если уверен, что .NET уже установлен, можно брать версию без runtime.
counterstrikesharp-build-XXX-linux-x64.zip <- без .NET
counterstrikesharp-build-XXX-with-runtime-linux.zip <- рекомендуется
Структура файлов после распаковки
Распакуй архив в game/csgo/. Должна появиться такая структура:
game/csgo/addons/
counterstrikesharp/
api/
CounterStrikeSharp.API.dll
bin/
linuxsteamrt64/
counterstrikesharp.so
win64/
counterstrikesharp.dll
configs/
admins.json
admingroups.json
core.json
logs/
plugins/ <- папка для установки плагинов
shared/
counterstrikesharp.vdf
Файл counterstrikesharp.vdf в папке addons/ - это файл регистрации плагина для Metamod. Он должен лежать рядом с metamod.vdf.
Проверка загрузки CSS
Перезапусти сервер и выполни в консоли:
meta list
Вывод должен содержать строку CounterStrikeSharp:
Listing 1 plugin:
[01] CounterStrikeSharp (v.XXX) by Roflmuffin
Также проверь файл логов: game/csgo/addons/counterstrikesharp/logs/CounterStrikeSharp_YYYYMMDD.txt. При успешной загрузке там будет:
[INFO] CounterStrikeSharp vXXX starting up...
[INFO] .NET runtime loaded successfully
[INFO] Plugin system initialized
Шаг 4: Установка плагинов CounterStrikeSharp
Где искать плагины
Основные источники C#-плагинов для CS2:
- GitHub - поиск по тегу
counterstrikesharpилиcs2-plugin - cs2.top - каталог плагинов сообщества
- forums.alliedmods.net - раздел CS2
Структура типичного плагина
Большинство плагинов имеют следующую структуру:
MyPlugin/
MyPlugin.dll <- основная сборка плагина
MyPlugin.pdb <- отладочные символы (опционально)
lang/ <- файлы локализации (если есть)
ru.json
en.json
Установка плагина
Скопируй папку плагина целиком в:
game/csgo/addons/counterstrikesharp/plugins/
Итоговая структура:
plugins/
MyPlugin/
MyPlugin.dll
AnotherPlugin/
AnotherPlugin.dll
Важно: каждый плагин должен лежать в отдельной подпапке с тем же именем, что и .dll. CSS не загрузит плагин, если .dll лежит прямо в plugins/ без папки.
Популярные плагины для CS2 на CounterStrikeSharp
Для примера - наиболее распространённые категории плагинов:
| Категория | Примеры |
|---|---|
| Статистика / рейтинг | CS2Stats, SimpleRating, K4-System |
| Анти-чит дополнения | NoFlash, BunnyHop limiter |
| Утилиты | Votemap, Advertisement, ServerSleeper |
| Режимы игры | Jailbreak, PracticeMod, Retake |
| Администрирование | SimpleAdmin, CS2-Admin |
Ищи плагины по тегу counterstrikesharp на GitHub или в каталогах сообщества.
Горячая перезагрузка плагинов
CSS поддерживает перезагрузку плагинов без рестарта сервера. В консоли сервера:
# Перезагрузить конкретный плагин
css_plugins reload MyPlugin
# Загрузить новый плагин без рестарта
css_plugins load MyPlugin
# Выгрузить плагин
css_plugins unload MyPlugin
# Список загруженных плагинов
css_plugins list
Конфигурация плагинов
Большинство плагинов при первом запуске создают файл конфигурации в:
game/csgo/addons/counterstrikesharp/configs/plugins/MyPlugin/MyPlugin.json
Изменения в конфигах применяются при перезагрузке плагина командой css_plugins reload.
Шаг 5: Права и разрешения для администраторов
CounterStrikeSharp имеет собственную систему прав, полностью независимую от SourceMod. Если ты раньше работал с AdminManager в SourceMod - здесь принцип похожий, но синтаксис JSON-конфигов другой.
Файл admins.json
Находится в configs/admins.json. Пример конфигурации:
{
"STEAM_1:0:12345678": {
"@css/root": true
},
"76561198012345678": {
"@css/ban": true,
"@css/kick": true,
"@css/changemap": true
}
}
SteamID можно указывать в форматах STEAM_1:X:XXXXXXXX или SteamID64 (17 цифр).
Базовые флаги прав
| Флаг | Что разрешает |
|---|---|
@css/root | Все права |
@css/ban | Банить игроков |
@css/kick | Кикать игроков |
@css/changemap | Менять карту |
@css/cvar | Изменять конвары |
@css/cheats | Включать sv_cheats команды |
Конкретные права зависят от установленных плагинов - плагины могут добавлять свои собственные флаги.
Шаг 6: Первый тест с тестовым плагином
Прежде чем ставить плагины из интернета, убедись, что CSS корректно запускает плагины. Простейший способ - использовать официальный пример из документации CSS.
Создай файл game/csgo/addons/counterstrikesharp/plugins/TestPlugin/TestPlugin.cs не нужно - достаточно скачать готовую скомпилированную демо-сборку из репозитория CSS:
# Пример: скачать официальный TestPlugin (если он есть в releases)
# Или взять любой минималистичный плагин с GitHub и проверить загрузку через:
css_plugins list
Если плагин появился в списке - установка работает полностью корректно и можно переходить к основным плагинам для сервера.
Обновление после апдейтов CS2
CS2 обновляется часто - после каждого крупного апдейта необходимо проверять совместимость. Команда CounterStrikeSharp обычно выпускает обновление в течение нескольких часов после патча CS2, поэтому следи за релизами на GitHub.
Что обновлять и когда
| Компонент | Когда обновлять |
|---|---|
| Metamod:Source | При ошибках загрузки, раз в 1-2 месяца |
| CounterStrikeSharp | После каждого крупного обновления CS2 |
| Плагины | По мере выхода обновлений от авторов |
Процедура обновления CSS
- Останови сервер CS2
- Сделай бэкап папки
addons/counterstrikesharp/configs/иplugins/ - Скачай новый релиз с GitHub
- Замени содержимое
addons/counterstrikesharp/api/иaddons/counterstrikesharp/bin/ - Не трогай папки
configs/,plugins/,data/ - Запусти сервер, проверь
meta list
Если плагин после обновления CSS падает с ошибкой вида MissingMethodException или BadImageFormatException - плагин скомпилирован под старую версию API и нужно ждать обновления от автора плагина.
Проверка версии после обновления
# В консоли сервера
meta list
css_version
# В логах
tail -n 50 game/csgo/addons/counterstrikesharp/logs/CounterStrikeSharp_*.txt
Частые ошибки и их решение
Metamod не загружается
Симптом: команда meta version не найдена или пустой вывод.
Решение:
- Проверь, что строка
Game csgo/addons/metamodдобавлена вgameinfo.gi - Убедись, что файл
addons/metamod.vdfсуществует - Проверь версию Metamod - нужен dev-билд, не stable
CounterStrikeSharp не видно в meta list
Симптом: Metamod загружается, но CSS не отображается.
Решение:
- Проверь наличие файла
addons/counterstrikesharp.vdf - Убедись, что файл
addons/counterstrikesharp/bin/linuxsteamrt64/counterstrikesharp.soсуществует (Linux) - Проверь, что .NET 8 Runtime установлен:
dotnet --list-runtimes
Ошибка “Unable to load shared library”
Симптом: В логах ошибка вида Unable to load shared library 'libdotnet.so'.
Решение: Используй сборку with-runtime вместо обычной, или установи .NET 8 вручную. На Ubuntu 22.04+ убедись, что пакет dotnet-runtime-8.0 установлен.
Плагин не загружается
Симптом: Плагин есть в папке, но css_plugins list его не показывает.
Решение:
- Проверь структуру:
plugins/ИмяПлагина/ИмяПлагина.dll- папка и dll должны совпадать по имени - Открой логи CSS за текущую дату - там будет точная ошибка
- Убедись, что плагин совместим с текущей версией CSS (смотри в README плагина)
Сервер крашится при загрузке
Симптом: CS2 сервер падает сразу после старта.
Решение:
- Запусти сервер без CSS - только с Metamod. Если стабильно, проблема в CSS
- Проверь версии: CSS должен быть собран под текущий билд CS2
- Временно удали все плагины из
plugins/и запускай с чистым CSS - Добавляй плагины по одному для поиска проблемного
Связанные материалы
Если хочешь расширить возможности сервера - читай инструкцию по установке SourceMod на CS2: SourceMod и CounterStrikeSharp можно использовать одновременно через общий Metamod. Список полезных консольных команд CS2 сервера поможет в настройке и отладке. Если сервер ещё не поднят - начни с базовой инструкции по настройке CS2 сервера.
Заключение
Установка CounterStrikeSharp состоит из трёх последовательных шагов: .NET 8 Runtime, Metamod:Source (dev-билд) с правкой gameinfo.gi, и сам CSS с его структурой папок. После успешной настройки сервер становится платформой для сотен C#-плагинов - от кастомных режимов до систем статистики и анти-чита. Главное при обновлениях CS2 - следить за совместимостью версий CSS и своевременно обновлять фреймворк, сохраняя конфиги и плагины нетронутыми.
Pterohost - хостинг игровых серверов с поддержкой CounterStrikeSharp, автоматическими бэкапами и защитой от DDoS-атак. Запусти свой CS2 сервер с плагинами за пару минут. Промокод 4START - скидка -20% на первый заказ. Заказать CS2 сервер