DonutMatch - War and Mix system

Plugin DonutMatch - War and Mix system latest

No permission to download
Supported Games
  1. Counter-Strike: GO
  2. Counter-Strike: Source
  3. Counter-Strike: Source v34
Resource was created using AI
  1. Yes, partly
logo.webp


DonutMatch - War and Mix system
Полноценная система организации матчей — от ready-up до финального результата.
​
> Предыстория

Примерно год назад столкнулся с тем, что у меня начались проблемы с одним из плагинов для Mix сервера в игре CSS v34 (не буду упоминать какой). Помимо проблем не хватало функционала плагина (каких-нибудь ручек в виде сеттеров для управлением матчами извне плагина, дополнительные форварды, чтобы слушать нужные события и производить какие-то действия, старый синтаксис API и многое другое), но владелец плагина принял позицию ничего не делать и просто продавать на него ключи, живет и ладно. Тогда я решил написать свое решение, чтобы было то, что я хотел и что действительно нужно было на момент 2025 года. Долго и упорно писал, спустя 2-3 месяца забросил, выгорел. Сейчас в 2026 году появилось много времени, чтобы возродить мечту: написать Mix и War систему, которая будет соответствовать всем нужным параметрам как для проектов с миксами, так и для проектов с турнирным умыслом. Так на свет появился DonutMatch. Почему такое название? Да сам не знаю, да и пончики я тоже люблю :)​

> Краткое описание

Данный плагин поддерживает 2 мода War (режим командных боев) и Mix (режим микс игроков с автостартом матча).
Mix мод поддерживает:
  • Автостарт при достижении нужного количества игроков на сервере;
  • Капитанский ножевой раунд и пик игроков за команду;
  • Поддержка овертаймов (3 режима: отключено, запуск ОТ через голосование игроков, принудительный старт ОТ);
  • Финансовая информация команды (в чате пишется сколько у кого денег в команде);
    Замены по команде !ask;
  • И многое многое другое, что есть в старом добром WarMod или WarMix, перечислять не буду.
War мод поддерживает:
  • Классический матч/BO1/BO3/BO5 - разные стадии для разных направлений от обычного матча до полноценного турнира со стадиями;
  • Veto режим - при выборе стадии BO1/BO3/BO5, в зависимости от выбора будет запущен бан и пик карт (в конфиге заранее прописывается список из 7 карт);
  • Выбор запуска матча при полной готовности игроков: запустить ножевой раунд за выбор стороны (T или CT) или запустить матч без ножей;
  • Тактические паузы, где можно настроить количество пауз и их продолжительность;
  • И многое многое другое, что есть в старом добром WarMod или WarMix, тоже перечислять не буду.
А самое главное - богатое API плагина с множеством нативов и форвардов, где список только будет пополняться и пополняться. Сеттеры дадут возможность управлять матчем не только с другого плагина, но и с вашего любимого сайта, а форварды и остальные нативы - получение нужной информации, чтобы оповещать как другие плагины, так и веб-сайт для вашего крутого проекта.

> Скриншоты

Немного скриншотов из плагина.
1792595073823.webp
1792595083729.webp
1792595094032.webp
1792595102961.webp
1792595133185.webp
1792595145975.webp

Небольшое тестовое видео-демонстрация как можно пользоваться API плагина (был написан плагин, некий веб-мост, который отправлял данные в бэк сайта).


> Цена плагина

Плагин ценой во время, старания, много дебага и тестов, поэтому бесплатно! Но есть нюанс, исходники плагина не предоставляются.​
Ссылка на репозиторий: GitHub - Akllike/DonutMatch​
P.S. Если у вас есть желание поддержать мои говностроки старания, можете написать в ЛС или в ТГ: tg.me/phenom1337​

Спасибо за внимание :)
Requirements
  • Sourcemod 1.11
  • MapChooser 1.11
Примечание: Писал и тестировал онли под v34, скорее всего будет работать и на CSS Steam и на CS:GO, но не проверял и не тестил (если кто-то даст обратную связь, только ЗА сделать полноценную поддержку).
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
Поместить все согласно директориям.
Author
phenom
Downloads
2
Views
76
First release
Last update

Ratings

0.00 star(s) 0 ratings
Back
Top