/dev/arena/league-rules/set

Подменить правила продвижения лиги в текущей версии конфига.

Адрес метода

/dev/arena/league-rules/set

Требует сессию пользователя

Только не-прод или админ

Весь раздел /dev/arena доступен, если сервер не продовый либо у игрока стоит флаг админа.

Параметры

Параметр Обязательный Тип Описание
league_cid ДА string cid лиги
promote_top нет int сколько верхних мест продвигается; 0 — продвижение не по месту
demote_bottom нет int сколько нижних мест падает; 0 — не падает никто
promote_ap нет int абсолютный порог AP для продвижения; 0 — правила нет

Результат

{
    "response": {
        "success": 1,
        "league_cid": "derevo",
        "promote_top": 1,
        "demote_bottom": 0,
        "promote_ap_threshold": 0,
        "was": { "promote_top": 0, "demote_bottom": 0, "promote_ap_threshold": 1200 }
    }
}

Что важно знать

Зачем существует. Итог сезона считается по паре «место в группе + размер группы», и проверить, что он берётся из зафиксированной расстановки, а не из хранимой копии, можно только там, где эти два ответа расходятся. На боевых числах для этого нужна группа человек на двадцать пять: низшая лига продвигает вообще не по месту (promote_ap_threshold = 1200, promote_top = 0), а в остальных promote_top начинается с двадцати. С promote_top = 1 расхождение видно на двух игроках.

Порог AP подменяется вместе с местами, и без этого чит бесполезен. В низшей лиге продвижение идёт по порогу: игрок с достаточным AP продвинулся бы независимо от места, и разница «хранимое место против зафиксированного» не проявилась бы вовсе.

Числа баланса принадлежат геймдизайну. Чит их не правит, а подменяет на время прогона и отдаёт прежние в was — вернуть состояние стенда обязан тест. Тот же приём, что у /dev/arena/league-size/set.

Кэш версии конфига сбрасывается явно, иначе новые значения не будут видны до перезапуска.