Как создать новый мир на сервере

1. Подготовка и доступ к панели proxify.cloud

  1. Авторизуйтесь в личном кабинете proxify.cloud.
  2. В разделе «Мои услуги» выберите выделенный сервер с установленным Ubuntu.
  3. Нажмите кнопку Консоль (VNC/NoVNC) или подключитесь по SSH. Для работы с файлами удобнее использовать SSH-клиент (Termius, PuTTY, терминал Linux/macOS).
ssh root@<IP-адрес_вашего_сервера>

Примечание: Если вы создавали отдельного пользователя (например, mcuser), подключайтесь под ним. Далее в инструкции предполагается работа от пользователя, под которым запускается сервер.

2. Остановка работающего сервера

Создание нового мира требует полной остановки Java-процесса. Нельзя менять файлы мира во время работы сервера.

  1. Если сервер запущен через systemd (рекомендуемый способ на Ubuntu):
sudo systemctl stop minecraft
  1. Если сервер запущен в screen или tmux сессии:

    • Зайдите в сессию: screen -r minecraft (или tmux attach -t minecraft).
    • В консоли сервера введите команду stop и дождитесь завершения сохранения чанков.
    • Выйдите из сессии: Ctrl+A затем D (для screen).
  2. Проверьте, что процесс остановлен:

pgrep -f "paper|purpur|spigot|fabric|forge|minecraft_server"

Команда не должна вернуть PID.

3. Локализация файлов сервера

Стандартные пути на выделенных серверах proxify.cloud:

  • /opt/minecraft/ — корневая директория сервера (часто используется панелью управления типа Pterodactyl, если она установлена поверх).
  • /home/mcuser/server/ — домашняя директория пользователя сервера.
  • /var/lib/pterodactyl/volumes/<uuid>/ — если используется панель Pterodactyl.

Определите точный путь. Обычно в консоли proxify.cloud или в настройках панели управления (если стоит Pterodactyl) указан «Working Directory».

Пример перехода:

cd /home/mcuser/server
# или
cd /opt/minecraft

Проверьте содержимое:

ls -la

Вы должны увидеть server.jar (или paper.jar, fabric-server-launch.jar и т.д.), файл server.properties, папки world, world_nether, world_the_end, папку plugins или mods.

4. Резервное копирование текущего мира (Обязательно)

Перед удалением или переименованием старого мира сделайте архив. Это спасет прогресс игроков при ошибках.

# Создаем папку для бэкапов, если её нет
mkdir -p ../backups

# Архивируем все три измерения с датой в имени
tar -czvf ../backups/world_backup_$(date +%F_%H-%M).tar.gz world world_nether world_the_end

Проверьте размер архива: ls -lh ../backups/. Он должен быть больше 10-50 МБ для насыщенного мира.

5. Удаление или переименование старых папок мира

Сервер создает новый мир, только если не находит папки, указанные в server.properties (по умолчанию world, world_nether, world_the_end).

Вариант А: Полное удаление (чистый старт)

rm -rf world world_nether world_the_end

Вариант Б: Переименование (сохранение на диске для быстрого отката)

mv world world_old_$(date +%F)
mv world_nether world_nether_old_$(date +%F)
mv world_the_end world_the_end_old_$(date +%F)

Важно: Если у вас установлены плагины управления мирами (Multiverse-Core, PlotSquared и др.), у них могут быть свои папки внутри plugins/<PluginName>/worlds/. Удаляйте/переименовывайте их аналогично, если нужна полная чистка.

6. Настройка параметров генерации в server.properties

Откройте конфигурационный файл:

nano server.properties

Ключевые параметры для нового мира:

Параметр Описание Рекомендуемые значения
level-name Имя папки мира. Меняйте, если хотите несколько миров параллельно. world (стандарт), survival, lobby
level-type Тип генерации. minecraft:normal (стандарт), minecraft:flat (суперплоский), minecraft:amplified (усиленный), minecraft:single_biome_surface (один биом). Для датапаков/модов: minecraft:custom
generator-settings JSON-конфигурация для custom или flat типов. Оставьте пустым для стандартной генерации. Для плоского: {"layers":[{"block":"minecraft:bedrock","height":1},{"block":"minecraft:dirt","height":2},{"block":"minecraft:grass_block","height":1}],"biome":"minecraft:plains"}
level-seed Сид мира. Пусто = случайный. 123456789 или оставьте пустым
gamemode Режим игры по умолчанию. survival, creative, adventure
difficulty Сложность. easy, normal, hard, peaceful
spawn-protection Радиус защиты спавна (только опы). 16 (стандарт), 0 (отключить)
max-world-size Граница мира в блоках (радиус). 29999984 (макс), 5000 (для ограничения)
generate-structures Генерация структур (деревни, крепости). true / false
allow-nether Размер Незера. true / false

Пример для чистого ванильного выживания с сидом:

level-name=world
level-type=minecraft:normal
level-seed=-4186746847636013829
gamemode=survival
difficulty=hard
spawn-protection=0
generate-structures=true
allow-nether=true

Пример для плоского креативного мира (PlotSquared/WorldEdit):

level-name=plots
level-type=minecraft:flat
generator-settings={"layers":[{"block":"minecraft:bedrock","height":1},{"block":"minecraft:air","height":64}],"biome":"minecraft:the_void"}
gamemode=creative
difficulty=peaceful
spawn-protection=0
generate-structures=false
allow-nether=false

Сохраните: Ctrl+O, Enter, Ctrl+X.

7. Настройка прав доступа к файлам

Если вы выполняли команды от root, верните владельца файлов пользователю сервера (обычно mcuser или minecraft), иначе сервер упадет с ошибкой Permission denied при попытке создать папки мира.

# Замените mcuser на вашего пользователя
chown -R mcuser:mcuser /home/mcuser/server
# или
chown -R mcuser:mcuser /opt/minecraft

8. Запуск сервера и генерация мира

Через systemd (Production стандарт на Ubuntu/proxify.cloud)

sudo systemctl start minecraft

Следите за логами в реальном времени:

sudo journalctl -u minecraft -f

Через screen (Ручной запуск / Отладка)

# Зайдите под пользователем сервера
su - mcuser
cd /home/mcuser/server

# Запуск в фоновом screen
screen -S minecraft -dm bash -c 'java -Xms4G -Xmx4G -jar paper.jar --nogui; exec bash'
# Подключитесь к консоли: screen -r minecraft

Ожидание завершения генерации спавна

При первом запуске сервер генерирует чанки спавна (обычно радиус 10 чанков = 160 блоков). В логах ищите строки:

[Server thread/INFO]: Preparing start region for dimension minecraft:overworld
[Server thread/INFO]: Preparing spawn area: 10%
...
[Server thread/INFO]: Preparing spawn area: 100%
[Server thread/INFO]: Done (XX.XXs)! For help, type "help"

Не заходите на сервер и не перезагружайте его, пока не увидите "Done... 100%". Прерывание на этом этапе приведет к битым чанкам на спавне.

9. Проверка и базовая конфигурация нового мира

  1. Зайдите на сервер под оператором (OP).
  2. Выполните команду /worldborder set <размер> если ограничивали в server.properties (плагины типа WorldBorder делают это гибче).
  3. Установите точку спавна: /setworldspawn (стоя в удобном месте).
  4. Если используется Paper/Purpur: проверьте paper-world-config.yml (создастся в папке мира world/ после первого запуска). Там можно настроить anti-xray, grass-spread-tick-rate, mob-spawn-range и т.д.
  5. Если установлен WorldEdit — используйте //wand для проверки работы.

10. Автоматизация бэкапов (Рекомендация для proxify.cloud)

На выделенном сервере настройте cron для ежедневных бэкапов новой карты.

crontab -e -u mcuser

Добавьте строку (каждый день в 04:00):

0 4 * * * tar -czf /home/mcuser/backups/world_auto_$(date +\%F).tar.gz -C /home/mcuser/server world world_nether world_the_end && find /home/mcuser/backups -name "world_auto_*.tar.gz" -mtime +7 -delete

Это создаст архив и удалит старые (старше 7 дней).


Возможные проблемы и решения

1. Сервер запускается, но мир старый / изменения в server.properties не вступили в силу

Причина: Папки world, world_nether, world_the_end не были удалены/переименованы до запуска. Сервер загрузил существующие файлы региона (.mca), игнорируя level-seed и level-type. Решение: Остановите сервер (stop), удалите папки мира (п.5), запустите снова.

2. Ошибка Failed to load datapacks, can't proceed with server load или Missing required data packs

Причина: Поврежден datapacks папка внутри мира или конфликт версий (запуск мира 1.20.4 на ядре 1.21). Решение:

  • Удалите папку world/datapacks (она регенерируется).
  • Проверьте версию server.jar и