- Supported Games
- Counter-Strike: GO
- Counter-Strike: Source
- Counter-Strike: Source v34
- Resource was created using AI
- Yes, partly
DonutMatch - War and Mix system
Полноценная система организации матчей — от ready-up до финального результата.
> ПредысторияПолноценная система организации матчей — от ready-up до финального результата.
Примерно год назад столкнулся с тем, что у меня начались проблемы с одним из плагинов для Mix сервера в игре CSS v34 (не буду упоминать какой). Помимо проблем не хватало функционала плагина (каких-нибудь ручек в виде сеттеров для управлением матчами извне плагина, дополнительные форварды, чтобы слушать нужные события и производить какие-то действия, старый синтаксис API и многое другое), но владелец плагина принял позицию ничего не делать и просто продавать на него ключи, живет и ладно. Тогда я решил написать свое решение, чтобы было то, что я хотел и что действительно нужно было на момент 2025 года. Долго и упорно писал, спустя 2-3 месяца забросил, выгорел. Сейчас в 2026 году появилось много времени, чтобы возродить мечту: написать Mix и War систему, которая будет соответствовать всем нужным параметрам как для проектов с миксами, так и для проектов с турнирным умыслом. Так на свет появился DonutMatch. Почему такое название? Да сам не знаю, да и пончики я тоже люблю
> Краткое описание
Данный плагин поддерживает 2 мода War (режим командных боев) и Mix (режим микс игроков с автостартом матча).
Mix мод поддерживает:
- Автостарт при достижении нужного количества игроков на сервере;
- Капитанский ножевой раунд и пик игроков за команду;
- Поддержка овертаймов (3 режима: отключено, запуск ОТ через голосование игроков, принудительный старт ОТ);
- Финансовая информация команды (в чате пишется сколько у кого денег в команде);
Замены по команде !ask; - И многое многое другое, что есть в старом добром WarMod или WarMix, перечислять не буду.
- Классический матч/BO1/BO3/BO5 - разные стадии для разных направлений от обычного матча до полноценного турнира со стадиями;
- Veto режим - при выборе стадии BO1/BO3/BO5, в зависимости от выбора будет запущен бан и пик карт (в конфиге заранее прописывается список из 7 карт);
- Выбор запуска матча при полной готовности игроков: запустить ножевой раунд за выбор стороны (T или CT) или запустить матч без ножей;
- Тактические паузы, где можно настроить количество пауз и их продолжительность;
- И многое многое другое, что есть в старом добром WarMod или WarMix, тоже перечислять не буду.
> Скриншоты
Немного скриншотов из плагина.
Небольшое тестовое видео-демонстрация как можно пользоваться API плагина (был написан плагин, некий веб-мост, который отправлял данные в бэк сайта).
> Цена плагина
Плагин ценой во время, старания, много дебага и тестов, поэтому бесплатно! Но есть нюанс, исходники плагина не предоставляются.
Ссылка на репозиторий: GitHub - Akllike/DonutMatch
P.S. Если у вас есть желание поддержать мои говностроки старания, можете написать в ЛС или в ТГ: tg.me/phenom1337
Спасибо за внимание
- Requirements
- Sourcemod 1.11
- MapChooser 1.11
- Variables
- C-like:
// Количество раундов за каждую сторону в одном блоке овертайма // - // Default: "3" // Minimum: "1.000000" // Maximum: "15.000000" donut_default_overtime_rounds "3" // Режим овертайма: 0 - выкл, 1 - голосование, 2 - принудительно // - // Default: "2" // Minimum: "0.000000" // Maximum: "2.000000" donut_overtime_mode "2" // Время на подтверждение готовности в секундах; 0 отключает кик // - // Default: "20" // Minimum: "0.000000" // Maximum: "3600.000000" donut_ready_timer "20" // Автоматически отмечать готовность новых игроков (1 - вкл, 0 - выкл) // - // Default: "0" // Minimum: "0.000000" // Maximum: "1.000000" sm_donut_auto_ready "0" // Автоматически записывать SourceTV-демо матчей // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" sm_donut_auto_record "1" // Блокировать гранаты и autobuy/rebuy до начала live-матча // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" sm_donut_block_warmup_grenades "1" // Сохранять результаты в database alias donutmatch // - // Default: "0" // Minimum: "0.000000" // Maximum: "1.000000" sm_donut_database_enabled "0" // Уровень donutmatch.log: 0=Debug, 1=Info, 2=Warn, 3=Error // - // Default: "1" // Minimum: "0.000000" // Maximum: "3.000000" sm_donut_log_level "1" // Записывать события матчей в JSONL-файл // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" sm_donut_log_matches "1" // Пул карт для War-series через запятую // - // Default: "de_dust2,de_inferno,de_mirage,de_nuke,de_overpass,de_vertigo,de_ancient" sm_donut_map_pool "de_dust2,de_inferno,de_mirage,de_nuke,de_overpass,de_vertigo,de_ancient" // Режим работы плагина: 1 - Mix, 2 - War. // - // Default: "1" // Minimum: "1.000000" // Maximum: "2.000000" sm_donut_mode "1" // Длительность тактической паузы в секундах. // - // Default: "30" // Minimum: "1.000000" // Maximum: "300.000000" sm_donut_pause_duration "30" // Разрешить тактические паузы (1 - вкл, 0 - выкл). // - // Default: "0" // Minimum: "0.000000" // Maximum: "1.000000" sm_donut_pause_enabled "0" // Количество тактических пауз на команду за матч. // - // Default: "4" // Minimum: "1.000000" // Maximum: "16.000000" sm_donut_pause_limit "4" // Количество игроков за 1 сторону (1-5). // - // Default: "5" // Minimum: "1.000000" // Maximum: "5.000000" sm_donut_players_per_side "5" // Сохранять счет команд и статистику игроков при смене сторон (1 - вкл, 0 - выкл) // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" sm_donut_preserve_halftime_score "1" // Задержка (в секундах) перед началом матча после готовности // - // Default: "3.5" // Minimum: "1.000000" // Maximum: "10.000000" sm_donut_restart_delay "3.5" // Показывать деньги команды игроку после его появления в Live // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" sm_donut_round_money "1" // Формат следующего War-матча: 0 - BO1, 1 - BO3, 2 - BO5; изменение пропускает голосование капитанов // - // Default: "0" // Minimum: "0.000000" // Maximum: "2.000000" sm_donut_series_mode "0" // Время (в секундах) на ответ для замены // - // Default: "10" // Minimum: "5.000000" // Maximum: "30.000000" sm_donut_sub_time "10"
- Commands
- sm_ask console Дать замену игроку
sm_damage console Информация о нанесении и получении урона (hp, hits)
sm_donut_forceallready admin Принудительно запустить готовность всех игроков
sm_donut_forceallunready admin Принудительно остановить готовность всех игроков
sm_forcemix admin Принудительно запустить Mix матч
sm_forcevote admin Принудительно запустить голосование за следующую карту
sm_forcewar admin Принудительно запустить War матч
sm_info console Информация о готовности игроков
sm_knife console Запустить ножевой раунд (только в War)
sm_lastscore console Список последних сыгранных матчей
sm_money console Список игроков команды с выводом их денег
sm_pause console Пауза в матче
sm_r console Режим готовности (готов/не готов)
sm_ready console Режим готовности (готов/не готов)
sm_score console Текущий счет матча
sm_scores console Текущий счет матча
sm_stay console Запустить матч без ножевого раунда (только в War)
sm_teamname console Изменить имя команды
- Install
- Поместить все согласно директориям.