Ошибка «Invalid player data»: как восстановить повреждённый мир и инвентари игроков
Введение: когда мир на грани потери
Ошибка «Invalid player data» или «Corrupted world» — это одни из самых страшных сообщений для администратора. Они означают, что файлы мира или данные игроков повреждены. Сервер либо не запускается, либо игроки теряют инвентари. В большинстве случаев данные можно восстановить. В этом гайде — полная инструкция по спасению повреждённого мира.
Тип 1: Ошибка загрузки мира (Region file corruption)
Симптомы
Сервер крашится при запуске с сообщением: «java.io.IOException: Invalid region file» или «Corrupted chunk in region r.X.Z.mca».
Причина
Файлы региона (папка world/region) содержат данные чанков. При внезапном отключении питания или краше сервера файл мог записаться не полностью и повредиться.
Решение
- Найдите проблемный файл в логах (например,
r.0.0.mca). - Установите инструмент Region Fixer (Python-скрипт с GitHub).
- Запустите:
python region-fixer.py --world /path/to/world. - Скрипт просканирует все region-файлы и попытается восстановить повреждённые чанки.
- Если чанк не восстанавливается — он будет удалён и перегенерирован заново при заходе игрока (ландшафт может измениться).
Тип 2: Повреждённые данные игрока (Playerdata corruption)
Симптомы
Игрок заходит на сервер, но его инвентарь пуст, он появляется на спавне, а не там, где вышел. В консоли: «Invalid player data for [nickname]».
Причина
Файл world/playerdata/ повреждён. Часто происходит при краше сервера в момент сохранения игрока.
Решение
- Остановите сервер.
- Перейдите в папку
world/playerdata. - Найдите файл с UUID проблемного игрока. UUID можно узнать на сайте namemc.com по нику.
- Удалите повреждённый .dat файл.
- Запустите сервер. Игрок зайдёт с чистым инвентарём на спавне.
- Если у вас есть бэкап — восстановите .dat файл из бэкапа, а не удаляйте.
Тип 3: Повреждённый level.dat
Симптомы
Сервер не запускается с ошибкой «Invalid level.dat» или мир загружается как новый (пустой).
Причина
Файл world/level.dat содержит основную информацию о мире (спавн, гейммод, настройки). При повреждении мир не читается.
Решение
- В папке
worldесть файлlevel.dat_old— это автоматический бэкап. - Удалите повреждённый
level.dat. - Переименуйте
level.dat_oldвlevel.dat. - Запустите сервер. Вы потеряете прогресс с момента последнего сохранения, но мир загрузится.
Тип 4: Ошибка «Wrong location» или «Illegal position»
Симптомы
Игрок не может зайти, сервер кикает его с сообщением «Illegal position». Или игрок застрял в блоках и умирает.
Причина
Координаты игрока в playerdata повреждены — он оказался за пределами мира или внутри блока.
Решение
- В консоли сервера выполните команду до входа игрока (с помощью RCON или консоли):
/minecraft:tp НикИгрока 0 70 0. - Игрок телепортируется на спавн при следующем входе.
- Или используйте плагин EssentialsX:
/spawn Ник(работает даже если игрок оффлайн).
Профилактика повреждения данных
- Бэкапы! Настройте автоматический бэкап мира раз в час (плагин DriveBackupV2, скрипт rclone, или просто копирование папки world).
- Используйте Paper/Purpur — они аккуратнее сохраняют данные, чем ванильный сервер.
- Не убивайте процесс сервера через Task Manager. Всегда останавливайте сервер командой
stopв консоли. - UPS (бесперебойник) для серверной машины, чтобы внезапное отключение света не убило данные.
💡 Совет профи
Храните бэкапы мира в облаке (Google Drive, Backblaze B2) с версионированием. Настроив rclone с флагом --backup-dir, вы будете иметь не только последний бэкап, но и версии за последние 30 дней. Если повреждение мира обнаружилось не сразу, а через неделю — вы сможете откатиться на бэкап до повреждения.
💬 Комментарии (0)
🔒 Войдите, чтобы оставить комментарий
😊 Пока нет комментариев. Будьте первым!