/dev/arena/integrity/repair
Починить безопасное подмножество нарушений инвариантов.
Адрес метода
/dev/arena/integrity/repair
Требует сессию пользователя
Только не-прод или админ
Весь раздел /dev/arena доступен, если сервер не продовый либо у игрока стоит флаг админа.
Параметры
Нет.
Результат
{
"response": { "success": 1, "seats_removed": 25, "groups_closed": 3, "snapshots_refreshed": 512 }
}
Что важно знать
Отдельным вызовом, а не автоматически при проверке. Починка, которая срабатывает молча, скрывает живой баг: рассогласование перестаёт быть заметным, а причина остаётся.
Чинится только то, где верное значение известно однозначно:
- осиротевшие места (игрок в двух группах, место в закрытой группе) — снимаются все, кроме той группы, что записана у игрока;
- пустые группы закончившихся сезонов — закрываются;
- денормализованные копии — пересчитываются продовым кодом (
refreshGroupMember()).
НЕ чинится: несовпадение сезона, переполнение группы, неразрешимые cid. Там верное значение неизвестно, а угадывание хуже отчёта.
Отставание ранга «чинится» лишь на момент прогона — оно возникает снова от чужих боёв, и это норма (BUG-07). Гоняться за ним не надо.