- Поддерживаемые версии
- Отсутствует
Как безопасно обновить Minecraft-сервер и не потерять мир
Коротко: обновление сервера - это не просто заменить
paper.jar и нажать «Старт». Нормальное обновление состоит из бэкапа, тестового запуска, проверки Java, обновления плагинов, чтения логов и плана отката.Если сделать всё правильно, обновление обычно проходит спокойно. Если делать наугад, можно получить сломанные плагины, пустой Nether, ошибки Java, нерабочий донат, несовместимые ресурспаки и мир, который уже нельзя вернуть на старую версию.
Главная схема:
Код:
бэкап -> тестовая копия -> Java -> плагины -> ядро -> проверка логов -> проверка игроком -> основной сервер
Главное правило: никогда не обновляй основной сервер без полного бэкапа.
Полный бэкап - это не только папка
Важно: бэкап должен быть проверяемым. Архив, который невозможно распаковать, - это не бэкап, а декорация.
Что нельзя делать:
Полный бэкап - это не только папка
world. Нужно сохранить:- миры:
world,world_nether,world_the_endи все кастомные миры; - плагины: папку
pluginsцеликом; - конфиги ядра:
server.properties,bukkit.yml,spigot.yml, папкуconfig; - стартовые файлы:
start.bat,start.sh, параметры запуска; - базы данных: MySQL/MariaDB/SQLite, если плагины используют базу;
- ресурс-пак, если он лежит на сервере;
- логи, если обновляешься после проблемы и надо понять, что было до неё.
Важно: бэкап должен быть проверяемым. Архив, который невозможно распаковать, - это не бэкап, а декорация.
Что нельзя делать:
- Не заменяй jar ядра, пока сервер работает.
- Не обновляйся через
/reload. - Не обновляй все плагины вслепую на основном сервере.
- Не удаляй старые конфиги сразу после обновления.
- Не пытайся откатить мир на старую версию без бэкапа.
- Не переходи на новую major-версию в день релиза, если сервер коммерческий или с большим онлайном.
- Не ставь dev-build ядра/плагинов на продакшен, если не понимаешь, зачем он тебе нужен.
Когда мир открывается в новой версии Minecraft, сервер может обновить данные чанков, блоков, сущностей, структур и предметов. После этого старое ядро может уже не понимать эти данные.
Типичная ошибка:
Это означает, что мир уже был открыт в более новой версии. Нормальный откат в такой ситуации - только через бэкап, сделанный до обновления.
Не используй флаги вроде
Типичная ошибка:
Код:
Server attempted to load chunk saved with newer version of minecraft
Это означает, что мир уже был открыт в более новой версии. Нормальный откат в такой ситуации - только через бэкап, сделанный до обновления.
Не используй флаги вроде
-DPaper.ignoreWorldDataVersion=true на основном мире. Да, сервер может попытаться запуститься, но это неподдерживаемый путь, который может окончательно повредить мир.Перед обновлением составь маленькую таблицу:
Это скучно, но именно такая скука спасает сервер.
Проверь Java:
По актуальным требованиям Paper:
Если сервер не стартует и пишет что-то вроде:
значит jar был собран под более новую Java, чем та, на которой ты запускаешь сервер.
Код:
Текущая версия сервера: Paper/Purpur/Spigot 1.xx.x
Новая версия: Paper/Purpur 1.xx.x или 26.x
Java сейчас: java -version
Нужная Java:
Список плагинов:
Есть ли Geyser/Floodgate:
Есть ли ViaVersion/ViaBackwards:
Есть ли ресурс-пак:
Есть ли MySQL:
Есть ли бэкап:
Есть ли тестовый сервер:
Это скучно, но именно такая скука спасает сервер.
Проверь Java:
Код:
java -version
По актуальным требованиям Paper:
1.17 - 1.19- Java 17;1.20 - 1.21.11- Java 21;26.1+- Java 25.
Если сервер не стартует и пишет что-то вроде:
Код:
UnsupportedClassVersionError
class file version ...
Java Runtime only recognizes ...
значит jar был собран под более новую Java, чем та, на которой ты запускаешь сервер.
Лучший способ обновиться спокойно - сначала поднять копию.
Структура может быть такой:
На тестовом сервере:
В
Перед бэкапом останови сервер командой:
Пример на Linux:
Если есть MySQL/MariaDB:
После создания архива проверь, что он реально открывается.
Структура может быть такой:
Код:
test-server/
server.jar
plugins/
world/
world_nether/
world_the_end/
config/
server.properties
На тестовом сервере:
- не используй реальные токены Discord-ботов;
- не подключай реальный донат;
- не подключай боевую MySQL-базу без копии;
- поставь другой порт в
server.properties; - если стоит прокси, не подключай тестовый сервер к основной сети без необходимости;
- запускай тест отдельно от основного сервера.
В
server.properties для теста можно поставить:
Код:
server-port=25566
enable-rcon=false
online-mode=true
motd=Test update server
Перед бэкапом останови сервер командой:
Код:
stop
Пример на Linux:
Код:
tar -czf backup-before-update-2026-06-01.tar.gz world world_nether world_the_end plugins config server.properties bukkit.yml spigot.yml start.sh
Если есть MySQL/MariaDB:
Код:
mysqldump -u USER -p DATABASE > database-before-update-2026-06-01.sql
После создания архива проверь, что он реально открывается.
Перед сменой версии проверь каждый важный плагин:
Особенно внимательно проверь:
Если плагин не обновлялся годами и завязан на NMS, шанс поломки выше.
Папка plugins/update в Paper
У Paper есть удобный способ обновлять плагины без ручной замены jar во время работы сервера.
Paper сам заменит плагины при старте.
Важно: не надо менять jar-файлы прямо в
- есть ли поддержка новой версии Minecraft;
- какая нужна Java;
- не появилась ли новая зависимость;
- не изменился ли конфиг;
- нет ли предупреждений в changelog;
- нет ли отдельной версии для Paper/Folia/Velocity.
Особенно внимательно проверь:
- ProtocolLib;
- PlaceholderAPI;
- Vault или его замену;
- LuckPerms;
- WorldEdit/FastAsyncWorldEdit;
- WorldGuard;
- CoreProtect;
- ItemsAdder/Oraxen/Nexo;
- ModelEngine/MythicMobs;
- Geyser/Floodgate;
- ViaVersion/ViaBackwards/ViaRewind;
- античиты;
- плагины на донат, кейсы, меню, экономику и авторизацию.
Если плагин не обновлялся годами и завязан на NMS, шанс поломки выше.
Папка plugins/update в Paper
У Paper есть удобный способ обновлять плагины без ручной замены jar во время работы сервера.
- Создай папку:
plugins/update - Положи туда новые jar-файлы плагинов.
- Полностью перезапусти сервер.
Paper сам заменит плагины при старте.
Важно: не надо менять jar-файлы прямо в
plugins, пока сервер работает.Общий порядок такой:
Пример старта:
Если у тебя в
а ты скачал
Не используй --forceUpgrade без причины
В большинстве случаев это не нужно. Paper умеет обновлять мир постепенно во время игры. Полный force-upgrade может занять много времени, сильно нагрузить диск и не решает проблемы несовместимых плагинов.
Использовать
- Скачай новое ядро только с официального сайта.
- Останови сервер.
- Переименуй старый jar, например:
paper-old.jar - Положи новый jar.
- Проверь, что стартовый файл запускает именно новый jar.
- Запусти сервер и смотри консоль.
Пример старта:
Код:
java -Xms4G -Xmx4G -jar paper.jar --nogui
Если у тебя в
start.bat написано:
Код:
java -Xmx4G -jar paper-1.20.4.jar nogui
а ты скачал
paper-1.21.11.jar, сервер всё равно будет запускать старый файл. Либо переименуй новый jar в старое имя, либо измени start-файл.Не используй --forceUpgrade без причины
В большинстве случаев это не нужно. Paper умеет обновлять мир постепенно во время игры. Полный force-upgrade может занять много времени, сильно нагрузить диск и не решает проблемы несовместимых плагинов.
Использовать
--forceUpgrade стоит только если ты понимаешь, зачем это делаешь, и у тебя есть свежий бэкап.На первом запуске не спеши заходить и радоваться. Смотри консоль.
Ищи такие вещи:
Если какой-то плагин красный в
После успешного старта проверь:
Проверять нужно не только под OP. Многие ошибки видны только у обычного игрока.
Ищи такие вещи:
ERROR;WARN;UnsupportedClassVersionError;UnknownDependencyException;NoClassDefFoundError;Could not load plugin;Failed to load;OutOfMemoryError;Server attempted to load chunk saved with newer version.
Если какой-то плагин красный в
/plugins, это не “ничего страшного”. Это значит, что он не включился.После успешного старта проверь:
- заход обычного игрока без OP;
- команды доната;
- права LuckPerms;
- префиксы и чат;
- меню;
- экономику;
- магазины;
- кейсы;
- приваты WorldGuard;
- откаты CoreProtect;
- порталы Nether/End;
- кастомные миры;
- NPC;
- мобы;
- ресурс-пак;
- Geyser/Floodgate, если есть Bedrock;
- ViaVersion/ViaBackwards, если поддерживаешь разные версии клиента.
Проверять нужно не только под OP. Многие ошибки видны только у обычного игрока.
ViaVersion:
Если обновляешь сервер и хочешь, чтобы игроки со старых версий всё ещё заходили, тебе обычно нужны ViaVersion + ViaBackwards.
Но: старый клиент не узнает новые блоки, новые предметы и новые механики. Он может видеть заменённые блоки, сталкиваться с ограничениями интерфейса или не иметь доступа к новым функциям.
Например, клиенты ниже 1.17 не умеют нормально работать с высотой мира ниже Y=0. Это не баг твоего сервера, а ограничение старой версии клиента.
Если у тебя сеть через Velocity/BungeeCord, не ставь Via* хаотично везде. Обычно выбирают один подход:
Geyser/Floodgate:
Перед обновлением обязательно проверь:
Geyser часто зависит от конкретных изменений протокола. После релиза новой версии Minecraft поддержка может появиться не сразу. Если Bedrock-игроки важны, не обновляй основу до тех пор, пока Geyser стабильно не поддерживает нужную версию.
- ViaVersion позволяет новым клиентам заходить на старый сервер.
- ViaBackwards позволяет старым клиентам заходить на новый сервер.
- ViaRewind нужен для очень старых клиентов вроде 1.8/1.7, где это поддерживается.
Если обновляешь сервер и хочешь, чтобы игроки со старых версий всё ещё заходили, тебе обычно нужны ViaVersion + ViaBackwards.
Но: старый клиент не узнает новые блоки, новые предметы и новые механики. Он может видеть заменённые блоки, сталкиваться с ограничениями интерфейса или не иметь доступа к новым функциям.
Например, клиенты ниже 1.17 не умеют нормально работать с высотой мира ниже Y=0. Это не баг твоего сервера, а ограничение старой версии клиента.
Если у тебя сеть через Velocity/BungeeCord, не ставь Via* хаотично везде. Обычно выбирают один подход:
- Via* только на прокси;
- или Via* на всех backend-серверах.
Geyser/Floodgate:
Перед обновлением обязательно проверь:
- поддерживает ли Geyser новую Java-версию сервера;
- поддерживает ли Floodgate новую версию;
- не нужен ли dev build;
- не изменились ли настройки прокси;
- не конфликтует ли Geyser с ViaVersion.
Geyser часто зависит от конкретных изменений протокола. После релиза новой версии Minecraft поддержка может появиться не сразу. Если Bedrock-игроки важны, не обновляй основу до тех пор, пока Geyser стабильно не поддерживает нужную версию.
Если обновляешься с очень старой версии
Переход с условной
Лучше идти ступенями:
Проблемы при больших прыжках:
Если переходишь со Spigot на Paper/Purpur
Для большинства обычных серверов Paper/Purpur - нормальный выбор. Но перед переходом:
Например:
Так проще понять, что именно сломалось: переход на Paper или переход на новую версию Minecraft.
Если у тебя Forge/Fabric/modded-сервер
Paper не поддерживает Forge/Fabric-моды. Если твой мир использовал модовые блоки, предметы, биомы или сущности, Paper не сможет нормально их загрузить.
Не стоит просто брать модовый мир и запускать его на Paper. Сначала проверь:
Гибридные ядра “моды + плагины” требуют отдельного тестирования. Не ставь их на основной сервер без копии мира.
Переход с условной
1.12.2 или 1.16.5 сразу на актуальную версию - это не обычное обновление, а миграция.Лучше идти ступенями:
Код:
1.12.2 -> 1.16.5 -> 1.18.2 -> 1.20.6 -> 1.21.11/26.x
Проблемы при больших прыжках:
- меняется Java;
- ломаются старые плагины;
- меняются ID предметов и блоков;
- меняются форматы мира;
- старые конфиги не подходят новым версиям;
- античиты и NMS-плагины могут умереть полностью.
Если переходишь со Spigot на Paper/Purpur
Для большинства обычных серверов Paper/Purpur - нормальный выбор. Но перед переходом:
- сделай полный бэкап;
- проверь плагины на совместимость с Paper;
- не переходи одновременно на новое ядро и новую версию Minecraft, если сервер большой;
- сначала смени ядро на той же версии, потом обновляй Minecraft.
Например:
Код:
Spigot 1.20.4 -> Paper 1.20.4 -> Paper 1.21.11
Так проще понять, что именно сломалось: переход на Paper или переход на новую версию Minecraft.
Если у тебя Forge/Fabric/modded-сервер
Paper не поддерживает Forge/Fabric-моды. Если твой мир использовал модовые блоки, предметы, биомы или сущности, Paper не сможет нормально их загрузить.
Не стоит просто брать модовый мир и запускать его на Paper. Сначала проверь:
- есть ли в мире модовые блоки;
- есть ли модовые предметы в инвентарях;
- используются ли модовые биомы/структуры;
- есть ли замены плагинами.
Гибридные ядра “моды + плагины” требуют отдельного тестирования. Не ставь их на основной сервер без копии мира.
План для маленького сервера:
План для проекта с онлайном:
План отката:
Если новая версия уже открыла мир, просто заменить jar обратно недостаточно. Нужен бэкап мира до обновления.
- Предупреди игроков.
- Останови сервер.
- Сделай полный бэкап.
- Скопируй сервер в тестовую папку.
- Обнови Java, если нужно.
- Обнови плагины на тесте.
- Обнови ядро на тесте.
- Запусти тест и проверь логи.
- Зайди обычным игроком и проверь основные функции.
- Если всё нормально - повтори на основном сервере.
План для проекта с онлайном:
- Назначь окно работ: например, 03:00-04:00.
- За день предупреди игроков в Discord/Telegram.
- Сделай бэкап заранее и ещё один прямо перед обновлением.
- Подними тестовую копию.
- Проверь все критические сценарии.
- Составь список плагинов, которые обновляешь.
- Составь список плагинов, которые временно отключаешь.
- Подготовь план отката.
- Обнови основной сервер.
- После запуска 15-30 минут следи за логами.
- Попроси нескольких игроков проверить разные режимы.
План отката:
Код:
Если сервер не стартует:
1. Остановить сервер.
2. Вернуть старый jar.
3. Вернуть папку plugins из бэкапа.
4. Вернуть миры из бэкапа, если они уже открывались новой версией.
5. Вернуть базу данных из дампа, если плагины успели изменить данные.
6. Запустить старую версию.
Если новая версия уже открыла мир, просто заменить jar обратно недостаточно. Нужен бэкап мира до обновления.
Ошибка 1: сервер не запускается после обновления
Проверь Java:
Если версия Java старая, обнови её или выбери правильную версию ядра.
Ошибка 2: плагины красные
Смотри
Значит не хватает ProtocolLib или он не той версии.
Ошибка 3: мир не открывается на старой версии
Если мир уже был открыт новой версией, откат через старый jar не поддерживается. Восстанавливай мир из бэкапа.
Ошибка 4: игроки старых версий не заходят
Проверь ViaVersion/ViaBackwards. Возможно, плагин ещё не поддерживает новую версию Minecraft или стоит не там: на прокси/бекенде.
Ошибка 5: Bedrock-игроки не заходят
Проверь Geyser/Floodgate и их совместимость с новой Java-версией сервера.
Ошибка 6: пропали префиксы/экономика
Проверь Vault/замену Vault, LuckPerms, чат-плагин и PlaceholderAPI.
Ошибка 7: сервер запустился, но лагает
Поставь/обнови Spark и сними профиль. Не угадывай по ощущениям.
Проверь Java:
Код:
java -version
Если версия Java старая, обнови её или выбери правильную версию ядра.
Ошибка 2: плагины красные
Смотри
logs/latest.log. Часто причина в зависимости:
Код:
UnknownDependencyException: Unknown/missing dependency plugins: [ProtocolLib]
Значит не хватает ProtocolLib или он не той версии.
Ошибка 3: мир не открывается на старой версии
Если мир уже был открыт новой версией, откат через старый jar не поддерживается. Восстанавливай мир из бэкапа.
Ошибка 4: игроки старых версий не заходят
Проверь ViaVersion/ViaBackwards. Возможно, плагин ещё не поддерживает новую версию Minecraft или стоит не там: на прокси/бекенде.
Ошибка 5: Bedrock-игроки не заходят
Проверь Geyser/Floodgate и их совместимость с новой Java-версией сервера.
Ошибка 6: пропали префиксы/экономика
Проверь Vault/замену Vault, LuckPerms, чат-плагин и PlaceholderAPI.
Ошибка 7: сервер запустился, но лагает
Поставь/обнови Spark и сними профиль. Не угадывай по ощущениям.
Перед нажатием «Старт» проверь:
Если хотя бы половина пунктов не выполнена, обновление лучше отложить.
- Бэкап миров есть.
- Бэкап базы есть.
- Бэкап plugins есть.
- Java подходит под новую версию.
- Ядро скачано с официального сайта.
- Плагины обновлены.
- Зависимости обновлены.
- Тестовый сервер запускался.
- Обычный игрок проверен.
- План отката есть.
Если хотя бы половина пунктов не выполнена, обновление лучше отложить.
Итог
Безопасное обновление - это не “поставил новый jar и молюсь”. Это нормальный порядок действий:
бэкап -> тестовая копия -> Java -> плагины -> ядро -> проверка логов -> проверка игроком -> только потом основной сервер.
Самое важное: новую версию всегда можно попробовать на копии, но нельзя гарантированно откатить мир назад без бэкапа.
Полезные ссылки
- You must be logged in to see this link.
- You must be logged in to see this link.
- You must be logged in to see this link.
- You must be logged in to see this link.
- You must be logged in to see this link.
- You must be logged in to see this link.
- You must be logged in to see this link.
- You must be logged in to see this link.