Counter-Strike 2 Руководство

Установка Metamod:Source и CounterStrikeSharp на сервер CS2: плагины C# и админка

Установка Metamod:Source и CounterStrikeSharp на сервер CS2 Linux: интеграция в gameinfo.gi, установка .NET среды выполнения C# плагинов и настройка прав администратора в admins.json.

Установка Metamod:Source и CounterStrikeSharp на сервер CS2: плагины C# и админка

Переход Counter-Strike 2 на движок Source 2 полностью изменил архитектуру моддинга серверов сообщества. Классический фреймворк SourceMod и плагины на языке SourcePawn больше не поддерживаются в CS2. Современным стандартом расширения функционала серверов стала связка из низкоуровневого загрузчика Metamod:Source версии 2.x и мощного скриптового окружения CounterStrikeSharp, позволяющего писать плагины на C# с использованием среды выполнения .NET 8/9.

В этом практическом руководстве мы пошагово разберём установку Metamod:Source на Linux-сервер CS2, внедрение хука в gameinfo.gi, развёртывание CounterStrikeSharp и добавление первого администратора сервера.

Загрузка и распаковка Metamod:Source для Linux#

Metamod выступает в роли базовой интерфейсной прослойки между бинарными библиотеками сервера Source 2 (server.so) и пользовательскими плагинами.

Перейдите в директорию игровых файлов сервера csgo/ и загрузите актуальную сборку Metamod:Source ветки 2.0:

bash
cd /opt/cs2-server/game/csgo && curl -L https://mms.alliedmods.net/mmsdrop/2.0/mmsource-2.0.0-git1313-linux.tar.gz -o mms.tar.gz && tar -xzf mms.tar.gz && rm mms.tar.gz

Архив создаст папку addons/metamod/ и файл манифеста addons/metamod.vdf.

Внедрение Metamod в конфигурационный файл gameinfo.gi#

Чтобы движок Source 2 подключил Metamod при инициализации, необходимо добавить путь к аддону в файл структуры поиска ресурсов /opt/cs2-server/game/csgo/gameinfo.gi.

Проверьте блок SearchPaths в файле:

bash
grep -n "Game_LowViolence" /opt/cs2-server/game/csgo/gameinfo.gi

Добавьте строку Game csgo/addons/metamod прямо перед директивой Game_LowViolence csgo:

bash
sed -i '/Game_LowViolence\s*csgo/i \\t\t\tGame\tcsgo/addons/metamod' /opt/cs2-server/game/csgo/gameinfo.gi

Без этой правки сервер будет запускаться в ванильном режиме, игнорируя любые установленные плагины.

Установка CounterStrikeSharp с runtime-пакетом#

CounterStrikeSharp предоставляет доступ к серверным API CS2 через современный управляемый код C#. Скачайте релиз, включающий в себя полноценную среду выполнения .NET для Linux:

bash
cd /opt/cs2-server/game/csgo/addons && curl -L -O https://github.com/roflmuffin/CounterStrikeSharp/releases/download/v297/counterstrikesharp-with-runtime-linux-297.zip && unzip counterstrikesharp*.zip && rm counterstrikesharp*.zip

После распаковки структура каталогов пополнится папкой addons/counterstrikesharp/, внутри которой располагаются системные библиотеки и подкаталог plugins/ для пользовательских плагинов.

Настройка прав администратора в admins.json#

Для назначения прав администратора используется конфигурационный файл addons/counterstrikesharp/configs/admins.json. В нём привязываются SteamID64 игроков к наборам прав:

bash
cat /opt/cs2-server/game/csgo/addons/counterstrikesharp/configs/admins.json

Пример настройки полного доступа root-администратора:

json
{
  "SuperAdmin": {
    "identity": "76561198000000000",
    "flags": [
      "@css/root"
    ]
  }
}

Перезапуск сервера и верификация в консоли#

Перезапустите игровой процесс через systemd для загрузки новых бинарных хуков:

bash
sudo systemctl restart cs2 && sudo journalctl -u cs2 -n 25 --no-pager

В консоли сервера отправьте команду meta list. Успешный ответ подтвердит статус Loaded для плагина CounterStrikeSharp. Далее команда css_plugins list выведет список всех скомпилированных C# модулей.

Если вы хотите развернуть сервер сообщества CS2 с готовыми плагинами разминки, кастомными картами и веб-панелью управления без ручной правки бинарных конфигов, современный хостинг серверов CS2 предоставляет автоматическую установку CounterStrikeSharp и менеджер плагинов в один клик.

Источники#