Что на чём строится?

Порядок важен: MetaMod:Source загружает нативные расширения, CounterStrikeSharp предоставляет C#-фреймворк для плагинов, а MatchZy работает как плагин CounterStrikeSharp. После обновления CS2 версии фреймворков должны подходить к текущему билду сервера.

Эта структура также объясняет, почему ошибки почти всегда пробиваются снизу вверх: если MetaMod не загружается, CounterStrikeSharp вообще не стартует, а MatchZy затем не появляется ни в одном списке плагинов. Если в такой ситуации сначала переустановить MatchZy, ты будешь чинить не тот слой. Поэтому всегда двигайся от самого нижнего уровня вверх.

Требования

Перед началом проверь три вещи:

  • Доступ к серверу: тебе нужен доступ к менеджеру плагинов в панели или к файловому менеджеру. Для ручного варианта нужен SFTP-доступ к файлам Gameserver.
  • Актуальная резервная копия: установка плагинов затрагивает game/csgo/addons/. Бэкап перед первой записью в файлы сэкономит полную переустановку в случае ошибки.
  • Остановленный сервер: никогда не записывай файлы в addons/, пока сервер работает. Частично записанные файлы приводят к ошибкам загрузки, которые трудно отличить от настоящих конфликтов версий.

Установка в панели

  1. Создай резервную копию и останови сервер.
  2. Открой менеджер плагинов и сначала установи MetaMod:Source.
  3. Затем установи CounterStrikeSharp.
  4. Один раз запусти сервер. В логе MetaMod и CounterStrikeSharp должны появиться без ошибок загрузки.
  5. Снова останови сервер, установи MatchZy и запусти его.
  6. Проверь через css_plugins list в консоли сервера, загружен ли MatchZy.

При ручной установке MetaMod и CounterStrikeSharp должны находиться в game/csgo/addons/; MatchZy находится в game/csgo/addons/counterstrikesharp/plugins/MatchZy/. По возможности используй менеджер плагинов, чтобы пути и совместимые версии выбирались автоматически.

Промежуточный запуск после шага 3 — не дополнительный необязательный шаг. Он чётко разделяет два источника ошибок: если сервер уже здесь зависает, проблема во фреймворке, а не в MatchZy. Если установить всё за один раз и сервер больше не запустится, потом придётся гадать, какой из трёх компонентов виноват.

Базовые команды для матча

Игроки используют команды чата:

.ready       отметить готовность
.unready     отменить готовность
.pause       поставить матч на паузу
.unpause     продолжить матч

В зависимости от конфигурации MatchZy те же команды могут начинаться с !. Админы загружают конфигурацию матча через команду загрузки, предоставляемую MatchZy; заранее проверь конкретное имя файла в своей конфигурации MatchZy.

Полезные серверные команды:

status
mp_warmup_end
mp_restartgame 1
changelevel de_mirage
bot_kick

Если ты хочешь регулярно запускать матчи без работы с консолью, удобнее использовать CS2 Match Center с MatchZy: команды, карта, формат и GOTV настраиваются там через форму, вместо того чтобы вводить каждую настройку командой.

Локализация ошибок

У трёх самых частых симптомов есть чётко различимые причины:

  • css_plugins list не знает эту команду. Значит, CounterStrikeSharp не загружен. Проверь в стартовом логе, был ли вообще инициализирован MetaMod — без MetaMod нет CounterStrikeSharp.
  • css_plugins list работает, но MatchZy отсутствует в выводе. Фреймворк и уровень плагинов в порядке, но MatchZy лежит в неправильной директории или не подходит к установленной версии CounterStrikeSharp.
  • После установки сервер больше не запускается. Чаще всего это конфликт версий после обновления CS2. Для проверки удали MatchZy, запусти сервер и снова двигайся вверх по слоям.

При этом всегда читай стартовый лог сверху вниз. Первый блок Failed, Error или Exception указывает на затронутый слой; всё после него обычно является последующими ошибками, которые исчезнут сами, как только причина будет устранена.

После обновления CS2

Если плагины внезапно пропали, не переустанавливай весь Gameserver. Сначала проверь, загружаются ли MetaMod и CounterStrikeSharp, обнови оба фреймворка, а затем MatchZy. Первый блок Failed, Error или Exception в стартовом логе обычно показывает затронутый слой.

Valve выпускает обновления CS2 без оглядки на сторонние фреймворки. Поэтому между обновлением и подходящей версией MetaMod или CounterStrikeSharp может пройти от нескольких часов до нескольких дней. Для матчей лиги с фиксированным временем имеет смысл целенаправленно управлять автоматическими обновлениями, чтобы сервер не переключился прямо перед матчем на билд, для которого ещё нет совместимых плагинов.

FAQ

Нужно ли дополнительно устанавливать SourceMod? Для MatchZy — нет. MatchZy основан на CounterStrikeSharp. SourceMod — это самостоятельная параллельная экосистема плагинов, и для этого стека он не требуется.

В каком порядке нужно обновлять? Всегда снизу вверх: сначала MetaMod:Source, затем CounterStrikeSharp, в последнюю очередь MatchZy. В обратном порядке верхний плагин будет загружаться поверх фреймворка, который ещё не подходит к билду сервера.

Почему команды чата не реагируют? Либо MatchZy не загружен — это покажет css_plugins list, — либо твоя конфигурация использует другой префикс команд. Распространены как .ready, так и !ready.

Можно ли устанавливать плагины во время работы сервера? Нет. Сначала останови сервер. Запись в addons/ при запущенном процессе создаёт неполные файлы и ошибки загрузки, которые выглядят как конфликты версий.

Где найти официальную документацию? Шаги установки и параметры конфигурации MatchZy находятся в документации MatchZy. По вопросам версий семейства Metamod-/SourceMod ориентиром является обзор необходимых версий на AlliedModders.

Сервер работает, но производительность в матче проседает. В узком смысле это не проблема плагинов. Проверь Tickrate и нагрузку сервера отдельно от стека плагинов — для этого есть отдельное руководство по Tickrate и производительности на CS2-серверах.