/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). Гоняться за ним не надо.