Repository navigation
Releases
DonutMatch - War and Mix system [1.3.0]
DonutMatch 1.3.0 - Глобальное обновление [05.11.2026]
- Исправлен добор после драфта: после ухода игрока теперь ищет кандидата среди ожидающих и повторно проверяет состав.
- Полностью переработан таймер Timer_RecheckLiveRoster по принципу OnJoinTeam: теперь явно проверяет наличие места и переводит игрока за сторону.
- Смена команды и готовность: упростил взаимодействие пик игрока при замене и AssignMixPlayerToMissingTeam, чтобы они согласованно разрешали замену и не возвращали её в наблюдатели. Замена теперь переносит позицию, скорость, класс и деньги; замена погибшего не возрождается принудительно.
- Сделан таймер автоматического выбора. Добавлен ConVar donut_draft_pick_time. По умолчанию равен 10 секундам, -1 отключает таймер.
- Замена игрока теперь переносит позицию, скорость, класс и деньги; замена погибшего не возрождается принудительно.
- Исправлен конфликт обработчиков: если игрок попал в свободную T/CT сторону через событие движка, плагин всё равно отправлял его в наблюдатели. Исправил этот путь так, чтобы свободное место регистрировалось в составе, а переполненная команда по-прежнему защищалась.
- Исправлена отсрочка остановки матча. Сейчас плагин может сразу сбросить матч при нехватке игроков, ещё до попытки добора. Теперь предусмотрена задержка.
- Добавлена защита ножевого раунда. Плагин удаляет оружие при появлении и блокирует покупку, но отдельно не обрабатывает подбор оружия. Теперь это недоступно.
- Изменена защита замены при смене раунда. Плагин восстанавливает состояние через таймер; если за это время начнётся новый раунд, снимок может устареть. Теперь перенос выполняется сразу.
- Исправлено размещение капитанов. Сейчас проверяется свободное пространство, но не явно проверяются опора под игроком и прямая видимость между капитанами.
- Добавлено восстановление личной статистики после переподключения к стороне (со спектатора на T/CT и обратно).
- Добавлено голосование за остановку матча. Теперь игроки могут запустить votestop.
- Исправления в API плагина:
- при смене сторон неверно переставляются вакансии капитанов. В Mix проверка смены команды также может вернуть игроков обратно, хотя метод сообщает об успехе.
- удалённый игрок может сразу попасть обратно в состав при автоматическом доборе, хотя метод вернул true.
- список сортируется по индексам клиентов, а не по реальной очереди добора; игроки без выбранной команды в него не попадают.
- выбор в драфте и замена сообщают об успехе или отправляют событие без проверки фактической смены команды.
- возвращает true и вызывает форвард даже при отсутствии открытого файла журнала, хотя документация обещает запись.
- SetPaused документирован как 30-секундная пауза, но фактическую длительность задаёт donut_pause_limit.
- Изменены имена демо: теперь они будут записываться как мод_Год-месяц-день-ЧасыМинуты-карта.dem. Пример: mix_2026-11-04-1408-de_season.dem mix_2026-11-02-1830-de_dust2.dem.
Для обновления плагина рекомендуется удалить старый config файл (cfg/donutmatch/donutmatch.cfg) и сгенерировать новый.
DonutMatch - War and Mix system [1.2.7 stable version]
DonutMatch 1.2.7 - Обновление [03.11.2026]
- Исправлен один из крупных багов с вызовом конфигов из папки donutmatch. Некоторые переменные из конфигов не применялись глобально для всех игроков.
- Исправление мелких недочетов.
DonutMatch - War and Mix system [1.2.6 stable version]
DonutMatch 1.2.6 - Обновление [28.10.2026]
Исправление таймеров в стадиях матча, где при неправильном таймере игроки могли зайти в любой стадии матча в спектаторы и обратно; Исправление багов при заменах игроков в Mix.
DonutMatch - War and Mix system [1.2.5 stable version]
DonutMatch 1.2.5 - Обновление [23.10.2026]
Были исправлены все критические ошибки для Mix матчей; Проблемы были в State_CaptainKnife, когда таймер неправильно отрабатывал callback, из-за чего в ножевой раунд могли попасть все игроки, вместо капитанов; Исправлен баг, когда если отказаться от замены, то игрока кикало с сервера, таймер теперь отрабатывает только на бездействие в меню !ask.
DonutMatch - War and Mix system [1.2.4.1 Critical Update]
DonutMatch 1.2.4 - Обновление [22.10.2026]
- Добавил одну из важных настроек в ConVar - donut_rounds_per_half (количество раундов за сторону MR15 MR12 MR8 и тд.).
- Добавил также в API форварды и нативы для rounds per half (void DonutMatch_OnRoundsPerHalfChanged(int oldRoundsPerHalf, int newRoundsPerHalf); int DonutMatch.RoundsPerHalf(); bool DonutMatch.SetRoundsPerHalf(int roundsPerHalf);).
- Найден баг в моде War, когда игрок вышел с матча, матч остановился в связи с нехваткой игроков, поменялась карта, игрок снова заходит, выбирается классический матч или серия, после написания !stay (начать матч без ножевого раунда) происходила ошибка в ready kick таймере: callback завершается, но handle сохраненный остается, callback очищает handle только после успешного GetClientOfUserId. Если userid уже недействителен, он выходит раньше и оставляет старый handle. В связи с этой ошибкой в консоли сервера показывало следующую ошибку: Invalid timer handle be7010a (error 3). Callback теперь очищает handle даже при недействительном userid, а при старте карты handles таймеров, автоматически отменённых sm, сбрасываются до Reset(). Это предотвращает повторный KillTimer в StartMatch и !stay.
В ходе проверки плагина нашел критичный баг при перекидывании игроков в спеки в Mix моде. Исправлено!
DonutMatch - War and Mix system [1.2.4 stable version]
DonutMatch 1.2.4 - Обновление [22.10.2026]
- Добавил одну из важных настроек в ConVar -
donut_rounds_per_half(количество раундов за сторону MR15 MR12 MR8 и тд.). - Добавил также в API форварды и нативы для rounds per half (
void DonutMatch_OnRoundsPerHalfChanged(int oldRoundsPerHalf, int newRoundsPerHalf);int DonutMatch.RoundsPerHalf();bool DonutMatch.SetRoundsPerHalf(int roundsPerHalf);). - Найден баг в моде War, когда игрок вышел с матча, матч остановился в связи с нехваткой игроков, поменялась карта, игрок снова заходит, выбирается классический матч или серия, после написания !stay (начать матч без ножевого раунда) происходила ошибка в ready kick таймере: callback завершается, но handle сохраненный остается, callback очищает handle только после успешного GetClientOfUserId. Если userid уже недействителен, он выходит раньше и оставляет старый handle. В связи с этой ошибкой в консоли сервера показывало следующую ошибку:
Invalid timer handle be7010a (error 3). Callback теперь очищает handle даже при недействительном userid, а при старте карты handles таймеров, автоматически отменённых sm, сбрасываются до Reset(). Это предотвращает повторный KillTimer в StartMatch и !stay.
DonutMatch - War and Mix system [1.2.3 stable version]
DonutMatch 1.2.3 - Обновление API [21.10.2026]
- Исправлены мелкие ошибки при вызове (WarSeriesMode() теперь по умолчанию не BO1, а Classic)
- Исправлена некорректная работа в серийных играх. После veto и смены на первую карту игрок мог зайти за любую сторону и это ломало логику матча, теперь игрок может зайти только за ту команду и сторону, за которой он закреплен.
- Исправлено DonutMatch.TeamName, некорректно работало в стадии ReadySystem; сохранение имени команды теперь сохраняется до окончания любой серии игр.
DonutMatch - War and Mix system [1.2.2 stable version]
DonutMatch 1.2.2 - Обновление [20.10.2026]
- Исправление мелких недочетов в War моде.
- Добавлена функция тактическая пауза. !pause дает возможность сделать паузу во время матча. Настройки производятся в основном конфиге.
DonutMatch - War and Mix system [1.2.1 stable version]
DonutMatch 1.2.1 - Обновление API [20.10.2026]
- Исправлены некотороые комментарии API плагина.
- В enum WarSeriesMode были добавлены WarSeries_Unknown (если матч не War) и WarSeries_Classic (если выбран классический матч).
- Изменены DonutMatch_OnMatchStart/End. Теперь в массиве data появился формат для War игр (WarSeries_Unknown для Mix, либо WarSeries_Classic/BO1/BO3/BO5 для War).
- Добавлены нативы WarMatchFormat() и LastWarMatchFormat(), которые возвращают выбранный формат War матча текущего и завершенного матча.
Добавлен плагин и его исходник donutmatch_web. Его основная задача - Web-мост между плагином и бэкендом вашего сайта для отображения всей необходимой информации и подпиской на события матча. Данный плагин является частично примером того, как можно это реализовать. Пример: https://test01.shadows-css.ru/
DonutMatch - War and Mix system [1.2.0 stable version]
DonutMatch 1.2.0 - глобальное обновление [19.10.2026]
- Исправлены мелкие баги, которые вызывали дискомфорт при старте Mix матчей (смена сторон, таймеры)
- Исправлен некорректный респавн игрока при переходе за сторону (игрок не спавнился)
- Исправлены недочеты с файлом перевода
- Исправлено периодический кик игрока перед началом раунда за AFK
- Исправлен полностью режим War, теперь его полноценно можно запускать. При старте War режима будет доступно 4 варианта матча: Классический матч, BO1, BO3, BO5. Доступно veto (бан и пик карт).
- Добавлено большое количество Natives для управления матчами и Forwards для отслеживания событий.
- Поддержка morecolors.
А также другие мелкие исправления.