Играть матч 5×5 на паблик-конфиге больно: разминка не кончается, ножевой раунд делается руками, смена сторон — через mp_restartgame, а если кто-то отвалился, пауза ставится криками в голосовом. Установка MatchZy закрывает всё это одним плагином: готовность команд, ножевой, выбор стороны, паузы, техтаймауты, автозапись демо и бэкапы раундов. Разберём порядок установки, структуру конфигов и как запустить первый матч.
Что требуется до установки
MatchZy — плагин под CounterStrikeSharp, а тот работает поверх Metamod. Значит, минимум:
- Рабочий дедик CS2 с обновлённой сборкой.
- Metamod: Source актуальной ветки.
- CounterStrikeSharp с рантаймом .NET.
- GSLT-токен, если сервер должен быть виден публично.
Проверка перед тем, как что-то распаковывать:
meta list
css_plugins listЕсли css_plugins list пустой или ругается — сначала чините фреймворк, MatchZy тут ни при чём.
Скачивание правильной сборки
Плагин и его релизы лежат в репозитории MatchZy на GitHub, там же ссылка на документацию. На странице релизов выкладывается несколько архивов. Нужен тот, который собран под вашу ветку CounterStrikeSharp — версии фреймворка меняются часто, и плагин, собранный под старый API, просто не загрузится с ошибкой о недостающем типе.
Ориентир простой: смотрите на дату релиза MatchZy и дату релиза установленного CounterStrikeSharp. Если между ними прошёл мажорный апдейт CS2 — берите свежие оба.
Установка MatchZy: куда распаковывать файлы
Плагин кладётся в стандартную папку плагинов:
game/csgo/addons/counterstrikesharp/plugins/MatchZy/Внутри должен оказаться MatchZy.dll и сопутствующие файлы. Частая ошибка — распаковать так, что получается plugins/MatchZy/MatchZy/MatchZy.dll. Лишний уровень вложенности, и загрузчик плагин не увидит.
Вторая половина установки — конфиги матчевых режимов:
game/csgo/cfg/MatchZy/Туда попадают live.cfg, warmup.cfg, knife.cfg, prac.cfg и dry.cfg. Это обычные CS2-конфиги, плагин просто выполняет их в нужный момент. Если папки нет — MatchZy отработает на дефолтах, но переопределить ничего не получится.
Загружать файлы удобнее архивом через файловый менеджер панели или по SFTP — распаковка десятков мелких файлов по одному занимает вечность.
Первый запуск
Перезапустите сервер и проверьте загрузку:
css_plugins listВ списке должен появиться MatchZy с версией. После этого зайдите на сервер: если плагин жив, сервер сам встанет в режим разминки и в чате появятся подсказки о командах готовности.
Конфиги режимов: что править
warmup.cfg — состояние до матча. Здесь имеет смысл разрешить бесконечные патроны и бесплатную покупку:
mp_warmup_pausetimer 1
sv_infinite_ammo 2
mp_buy_anywhere 1live.cfg — собственно матч. Тут живут настройки MR12 или MR15, овертайм и деньги:
mp_maxrounds 24
mp_overtime_enable 1
mp_overtime_maxrounds 6
mp_overtime_startmoney 10000
mp_startmoney 800
mp_roundtime_defuse 1.92
mp_freezetime 15
mp_halftime 1knife.cfg — ножевой раунд: убираются деньги и покупка, чтобы никто не докупился.
Подробнее по самим переменным раундов — в статье про настройку разминки и раундов. Общие параметры сервера, не связанные с матчем, лучше держать в server.cfg, чтобы конфиги не конфликтовали.
Команды игроков
Их запоминают за один вечер, потому что все начинаются с точки:
| Команда | Что делает |
|---|---|
.ready / .unready | Готовность команды |
.stop | Запрос на восстановление предыдущего раунда — обе команды должны согласиться |
.pause | Тактическая пауза |
.tech | Техническая пауза, когда у кого-то вылетела игра |
.unpause | Снятие паузы, тоже по согласию сторон |
.stay / .switch | Выбор стороны после победы в ножевом |
.score | Текущий счёт |
Отдельно есть режим тренировки: .prac включает набор для отработки раскидок, .spawn, .bot, .noflash и прочее. Для полноценного практис-сервера этого достаточно — тема разобрана в блоге в статье про турнирный сервер на MatchZy.
Загрузка матча из JSON
Ручной .ready хорош для пикапа. Для турнира матч описывается файлом: команды, составы по SteamID64, число карт, режим MR.
Файл кладётся в game/csgo/MatchZy/ и загружается командой:
matchzy_loadmatch match1.jsonВнутри — структура с matchid, num_maps, maplist, блоками team1 и team2 со списком SteamID64 и опциями вроде skip_veto. Есть и вариант с загрузкой по ссылке — matchzy_loadmatch_url, когда конфиг отдаёт ваш сайт или бот.
Практический момент: если в составах указаны конкретные SteamID и включён вайтлист, посторонний на сервер не зайдёт вообще. Для турнира это плюс, для тестового матча — источник недоумения, почему друг «не может подключиться».
Демо и бэкапы раундов
MatchZy пишет демо каждой карты автоматически — но только если на сервере включён tv_enable 1, без GOTV запись не начнётся. Путь настраивается переменной пути к демо, по умолчанию файлы падают в корень игры. Их полезно сразу выносить в отдельную папку, иначе через месяц турниров вы утонете в .dem.
Отдельно от демо плагин делает бэкап каждого раунда. Именно за счёт этого работает .stop: сервер откатывается на состояние начала раунда, включая деньги и счёт. Файлы бэкапов накапливаются так же быстро, как демо, — чистите их по расписанию.
Если параллельно нужен полноценный обзор игры для зрителей, поднимите GOTV: MatchZy с ним уживается без конфликтов.
Что чаще всего ломается
- Плагин не в списке. Лишний уровень папки или несовместимая сборка под текущий CounterStrikeSharp.
- Матч не стартует после
.ready. Не набралось нужное число игроков в командах — MatchZy ждёт заполнения по своим правилам, а не «когда все нажали». - Конфиги не применяются. Папка
cfg/MatchZy/названа иначе или файлы лежат уровнем выше. - После патча CS2 всё падает. Обновляйте связку Metamod → CounterStrikeSharp → MatchZy целиком, порядок действий — в статье про обновление сервера CS2.
- Боты мешают матчу. Выключите их насовсем:
bot_quota 0, подробности в статье про ботов.
Коротко
Установка MatchZy сводится к трём шагам: поднять Metamod и CounterStrikeSharp, распаковать плагин в plugins/MatchZy/, положить конфиги в cfg/MatchZy/. Дальше матч запускается либо командами .ready, либо загрузкой JSON через matchzy_loadmatch.
Для матча 5×5 с судьями хватает 2 ГБ памяти на ванильном сервере (до 12 игроков), с MatchZy и другими плагинами CounterStrikeSharp закладывайте примерно в 1,5 раза больше — тарифы под CS2 здесь.