Как перенести мир с одиночной игры на сервер
Подготовка: что понадобится
- Доступ к панели proxify.cloud (Proxmox VE) для управления выделенным сервером.
- SSH-доступ к Ubuntu-серверу (логин
rootили пользователь сsudo). - Установленный на сервере Minecraft-сервер (Paper, Spigot, Fabric или Forge) и известный путь к его директории.
- Файл мира из одиночной игры (папка
worldили архив с ним). - Локальный ПК с установленным архиватором (7-Zip, WinRAR) и SSH-клиентом (Termius, Tabby, встроенный терминал).
Шаг 1. Найдите папку мира на локальном компьютере
Откройте проводник и перейдите по пути в зависимости от ОС и лаунчера:
| Лаунчер / Edición | Путь к папке saves |
|---|---|
| Официальный лаунчер (Windows) | %APPDATA%\.minecraft\saves\ |
| Официальный лаунчер (macOS) | ~/Library/Application Support/minecraft/saves/ |
| Официальный лаунчер (Linux) | ~/.minecraft/saves/ |
| Prism Launcher / MultiMC | ~/PrismLauncher/instances/<Имя_инстанса>/.minecraft/saves/ |
| CurseForge / ATLauncher | Настройки инстанса → «Open Folder» → saves/ |
Внутри saves найдите папку с точным названием вашего мира (например, MySurvivalWorld). Это и есть папка мира.
Важно: Если мир создан в версии с модами (Forge/Fabric), убедитесь, что на сервере установлен тот же модлоадер и те же моды той же версии. Иначе чанки сломаются или мир не запустится.
Шаг 2. Архивируйте мир для передачи
Не передавайте тысячи мелких файлов по одному — это займет вечность. Создайте архив.
Windows (PowerShell в папке saves):
Compress-Archive -Path "MySurvivalWorld" -DestinationPath "MySurvivalWorld.zip" -CompressionLevel Optimal
Linux / macOS (терминал):
tar -czvf MySurvivalWorld.tar.gz "MySurvivalWorld"
Рекомендую .tar.gz для Linux-сервера — он сохраняет права доступа и симлинки.
Шаг 3. Загрузите архив на сервер через SFTP
Подключитесь к вашему выделенному серверу на proxify.cloud по SFTP (порт 22, логин/пароль от root или sudo-пользователя). Используйте FileZilla, WinSCP или терминал.
Пример через терминал (scp):
# С локального ПК
scp MySurvivalWorld.tar.gz root@ВАШ_IP_СЕРВЕРА:/root/
Альтернатива через панель proxify.cloud:
- Зайдите в панель proxify.cloud → выберите ваш выделенный сервер → вкладка Console (noVNC).
- Логинитесь в Ubuntu.
- Скачайте архив прямо с GitHub/файлообменника через
wgetилиcurl, если он там лежит:wget "ПРЯМАЯ_ССЫЛКА_НА_АРХИВ" -O /root/MySurvivalWorld.tar.gz
Рекомендую класть архив в /root/ или /tmp/, а не сразу в папку сервера — так чище.
Шаг 4. Остановите Minecraft-сервер
Никогда не меняйте файлы мира на работающем сервере — это приведет к коррупции чанков.
Если сервер запущен как systemd-сервис (стандарт для выделенных серверов на Ubuntu):
systemctl stop minecraft
# или, если сервис назван иначе:
systemctl stop mc-server
Если сервер запущен в screen/tmux вручную:
- Зайдите в сессию:
screen -r minecraft(илиtmux attach -t minecraft). - В консоли сервера введите:
stop. - Дождитесь полной остановки (
Saving worlds... Done).
Проверьте, что процесс/java нет в памяти:
pgrep -fl java
Должно быть пусто.
Шаг 5. Определите путь к папке миров на сервере
Стандартные пути для популярных панелей/оберток на Ubuntu:
| Тип установки | Типичный путь к папке world |
|---|---|
| Чистый Paper/Spigot (ручной) | /opt/minecraft/world или /home/minecraft/server/world |
| Docker-контейнер (itzg/minecraft-server) | /opt/minecraft/data/world (внутри контейнера) или смонтированный хост-путь |
| PufferPanel / Pterodactyl (на proxify.cloud) | /var/lib/pufferpanel/servers/<SERVER_ID>/world или /var/lib/pterodactyl/volumes/<UUID>/world |
| Скрипт установки (например, mcsm) | /opt/mcsm/servers/<NAME>/world |
Как точно узнать свой путь:
- Посмотрите
server.propertiesв корне сервера:
По умолчанию выдастgrep "level-name" /путь/к/серверу/server.propertieslevel-name=world. - Папка мира лежит рядом с
server.properties(если не задан абсолютный путь вlevel-name).
Пример: если server.properties в /opt/minecraft/server/, то мир в /opt/minecraft/server/world/.
Шаг 6. Сделайте бэкап текущего мира сервера (на всякий случай)
# Замените путь на ваш реальный
mv /opt/minecraft/server/world /opt/minecraft/server/world_backup_$(date +%F)
Если что-то пойдет не так — вернетесь одной командой mv.
Шаг 7. Распакуйте ваш мир в папку сервера
Перейдите в директорию сервера (где лежит server.properties):
cd /opt/minecraft/server
Распакуйте архив, загруженный в Шаге 3:
# Для .tar.gz
tar -xzvf /root/MySurvivalWorld.tar.gz
# Для .zip (нужен пакет unzip: apt install unzip)
unzip /root/MySurvivalWorld.zip
Результат: появилась папка MySurvivalWorld.
Теперь переименуйте её в то имя, которое указано в server.properties (параметр level-name). По умолчанию это world:
mv MySurvivalWorld world
Критично: Папка должна называться строго так, как в
level-name. Регистр важен (Linux Case-Sensitive).
Шаг 8. Исправьте права доступа (Ownership)
Файлы, созданные root через tar/scp, принадлежат root:root. Пользователь сервера (обычно minecraft или mc) не сможет в них писать.
Узнайте пользователя, от которого запускается сервер:
ps aux | grep java | head -1
# Смотрите первый столбец (USER)
Обычно это minecraft. Выставьте права рекурсивно:
chown -R minecraft:minecraft /opt/minecraft/server/world
Если сервер запускается от root (плохая практика, но бывает на выделенных серверах proxify.cloud без панели управления) — chown не нужен, но настоятельно рекомендую создать отдельного пользователя.
Права на файлы/папки (на случай сбоя umask):
find /opt/minecraft/server/world -type d -exec chmod 755 {} \;
find /opt/minecraft/server/world -type f -exec chmod 644 {} \;
Шаг 9. Проверьте совместимость версии ядра (Data Version)
Откройте файл level.dat внутри мира и проверьте DataVersion (число, например 3955 для 1.20.4).
# Нужен nbt-tools: apt install nbt-tools
nbt-dump /opt/minecraft/server/world/level.dat | grep DataVersion
Сравните с версией вашего серверного ядра (Paper/Spigot/Fabric).
- Мир новее сервера (DataVersion больше) — не запускайте. Чанки повреждены гарантированно. Обновите сервер.
- Мир старше сервера — нормально, сервер конвертирует при запуске (лог покажет
Converting world...). - Версии совпадают — идеально.
Шаг 10. Настройте server.properties под одиночный мир (опционально, но важно)
Откройте конфиг:
nano /opt/minecraft/server/server.properties
Ключевые параметры, которые отличаются от дефолтных серверных настроек и важны для перенесенного одиночного мира:
| Параметр | Значение для одиночки | Почему |
|---|---|---|
gamemode |
survival (или creative) |
Сохраняет ваш гейммод |
difficulty |
normal (или hard/easy) |
Как было в мире |
level-seed |
Сид вашего мира (из F3 в игре) | Для генерации новых чанков по тому же сиду |
generator-settings |
Оставьте пустым или скопируйте из level.dat (NBT) |
Для кастомных миров (Amplified, Large Biomes и т.д.) |
force-gamemode |
false |
Не перезаписывать гейммод игрокам при входе |
spawn-protection |
0 |
Убрать защиту спавна, если строили рядом |
enable-command-block |
true |
Если в мире были командные блоки |
allow-nether / allow-end |
true |
Если были посещены |
Важно про level-seed: Если не указать сид, новые чанки сгенерируются с рандомным сидом — будут резкие границы. Узнайте сид: в одиночке нажмите F3 → скопируйте число напротив Seed:.
Шаг 11. Запустите сервер и проверьте логи
Запустите сервер:
systemctl start minecraft
# или
screen -dmS minecraft bash -c 'java -Xms4G -Xmx4G -jar paper.jar nogui'
Сразу смотрите логи в реальном времени:
journalctl -u minecraft -f
# или если в screen:
screen -r minecraft
Что искать в логах (успешный старт):
[Server thread/INFO]: Preparing start region for dimension minecraft:overworld
[Server thread/INFO]: Preparing start region for dimension minecraft:the_nether
[Server thread/INFO]: Preparing start region for dimension minecraft:the_end
[Server thread/INFO]: Done (12.345s)! For help, type "help"
Если мир конвертировался из старой версии:
[Server thread/INFO]: Converting world
Комментарии (0)