/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.
Кэш версии конфига сбрасывается явно, иначе новые значения не будут видны до перезапуска.