Начиная с версии 13.0 GHost++ поддерживает автоматическую организацию матчей. Это расширенная функция и она не рекомендована для использования если вы не достаточно знаете о GHost++ и MySQL базах данных.

Автоматическая организация матчей - это система, которая пытается сопоставить игроков с одинаковым скилом вместе для более приятной игры.

    Для использования автоматической организации матчей нужно соответствовать ряду требований:

  1. Можно использовать только с MySQL базами данных. SQLite не поддерживается.
  2. Можно использовать только с custom (не на развитие) картами.
  3. Можно использовать только с одним подключением к серверу. Вы не сможете использовать возможность мультисерверности GHost++'а с автоматической организацией матчей.
  4. Вам нужно указать "map_matchmakingcategory" значение в файле конфигурации карт.

Теперь давайте разберём как это работает:

  1. Автоматическая организация игр работает только при использовании автоматического создания игр (автохостинг). Вам нужно использовать "!autohostmm" комманду для активации использования возможности.
  2. Когда игрок заходит в игру, GHost++ проверяет в MySQL базе таблицу "scores" используя значение "map_matchmakingcategory" для вычисления очков игрока.
    1. GHost++ НИКОГДА не записывает данные о игроке и его очки. GHost++ НЕ содержит алгоритм подсчёта очков. Это ВАША ответственность позаботиться о создании таблицы "score".
    2. Очки могут быть любые числа, положительные или отрицательные, но всегда должны быть больше чем -99999. Если значение меньше то GHost++ подумает что "нет очков".
  3. Когда игрок получает очки Ghost + + вычисляет средний балл всех игроков в настоящее время в игре, также учитывая новых игроков.
    1. Если игра переполнена игрок с "наименьшим" баллом из среднего автоматически выкидывается из игры.
    2. Выкинутым игроком может оказаться новый игрок, если его балл тоже окажется ниже среднего.
    3. Игрок не имеющий очков будет иметь самый маленький приоритет и будет выкинут всегда если появится игрок с каким либо числом баллов.
    4. Команды автоматически балансируются (заметьте: на данный момент код ребалансирующий комманды просто их перемешивает).

Также вам нужно учитывать что GHost++ не содержит алгоритма подсчёта очков. Это означает что эта возможность НЕ РАБОТАЕТ прямо "из коробки". Вы можете использовать включенный "update_dota_elo" и "update_w3mmd_elo" проекты для генерации ELO очков для DotA карт и карт использующих W3MMD стандарт.