Как удалить и заново создать мир

1. Подготовка и доступ к серверу через proxify.cloud

Перед любыми действиями с файлами мира остановите игровой сервер. Выполнять манипуляции с файлами во время работы сервера приведет к повреждению чанков и потере инвентарей игроков.

  1. Зайдите в панель proxify.cloud.
  2. Выберите нужный выделенный сервер (Dedicated Server) в списке услуг.
  3. Перейдите во вкладку Console (Консоль) или VNC для прямого доступа к CLI Ubuntu.
    Альтернативно: подключитесь по SSH с вашего компьютера:
    ssh root@<IP-адрес_вашего_сервера_proxify>
    
    IP-адрес указан в деталях сервера в панели proxify.cloud.

2. Остановка игрового процесса

Если сервер запущен как systemd-сервис (рекомендуемый способ на Ubuntu):

systemctl stop minecraft

Если сервер запущен в screen или tmux сессии вручную:

  1. Подключитесь к сессии: screen -r minecraft (или tmux attach -t minecraft).
  2. В консоли сервера введите stop и дождитесь полной остановки (сообщение Server stopped).
  3. Отключитесь от screen: Ctrl+A затем D.

Проверьте, что процесс java не висит в памяти:

ps aux | grep java

Если процесс остался — убейте его: kill -9 <PID>.

3. Определение пути к файлам мира

Стандартные пути в зависимости от типа установки:

Тип установки Типичный путь к папке мира
Paper / Spigot / Purpur (systemd, пользователь minecraft) /home/minecraft/server/world
Vanilla / Fabric / Forge (systemd, пользователь minecraft) /home/minecraft/server/world
Docker-контейнер (itzg/minecraft-server) /opt/minecraft/data/world (на хосте) или /data/world (внутри контейнера)
Панель управления (Pterodactyl, AMP и др.) /var/lib/pterodactyl/volumes/<UUID>/world

Как точно узнать свой путь:

  1. Посмотрите файл server.properties в корне сервера:
    grep "level-name=" /home/minecraft/server/server.properties
    
    Вывод: level-name=world — значит папка называется world.
  2. Посмотрите WorkingDirectory в юните systemd:
    systemctl cat minecraft | grep WorkingDirectory
    
    Полный путь к миру = WorkingDirectory + / + level-name.

Дальше в инструкции используется стандартный путь: /home/minecraft/server/world. Замените его на свой.

4. Резервное копирование (Обязательный шаг)

Никогда не удаляйте мир без бэкапа. Даже если мир "не нужен", потратьте 30 секунд.

# Перейдите в директорию сервера
cd /home/minecraft/server

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

Файл world_backup_2024-05-20_14-30.tar.gz появится в той же папке. Скачайте его через SFTP (FileZilla, WinSCP) на локальный ПК для надежности. В панели proxify.cloud можно использовать встроенный файловый менеджер (если установлен Cockpit/Webmin) или просто SFTP.

5. Удаление старого мира

Удаляем три основные папки измерений (Overworld, Nether, End) и файлы данных игроков/статистики.

cd /home/minecraft/server

# Удаление измерений
rm -rf world/           # Верхний мир
rm -rf world_nether/    # Незер
rm -rf world_the_end/   # Край

# Удаление данных игроков (инвентари, эндер-сундуки, достижения, статистика)
rm -rf world/playerdata/
rm -rf world/advancements/
rm -rf world/stats/

# Удаление файла уровня (level.dat) — он пересоздастся при старте
rm -f world/level.dat
rm -f world/level.dat_old
rm -f world/session.lock

Примечание: Если вы хотите сохранить инвентари игроков, не удаляйте папку world/playerdata/. Новый мир сгенерируется, но игроки заспавнятся с старыми вещами.

Проверьте, что папка world пуста или отсутствует:

ls -la /home/minecraft/server/world 2>/dev/null || echo "Папка world полностью удалена"

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

Отредактируйте конфигурацию перед первым запуском. Сервер прочитает эти параметры только при генерации чистого мира.

nano /home/minecraft/server/server.properties

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

# Имя папки мира (если меняете — создастся новая папка, старая не удалится автоматически)
level-name=world

# Тип генерации: default (стандарт), flat (суперплоский), large_biomes, amplified, single_biome_surface
level-type=default

# Сид (Seed). Оставьте пустым для случайного. Укажите число для воспроизводимости.
level-seed=

# Генерация структур (деревни, храмы, крепости)
generate-structures=true

# Режим игры по умолчанию для новых игроков
gamemode=survival

# Сложность
difficulty=normal

# Хардкор (true/false) — не меняйте после создания мира, это заблокирует сервер при смерти
hardcore=false

# Включить читы (команды) для опов
allow-cheats=true

# Максимальная высота постройки (для 1.18+): 320 или 256
max-build-height=320

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

Для Paper / Purpur / Spigot (paper-world-configuration.yml / bukkit.yml)

Если используете Paper/Purpur, проверьте paper-world-configuration.yml (создается в папке мира при первом запуске) или глобальный config/paper-global.yml. Для чистого старта настройки применятся автоматически. В bukkit.yml проверьте спавн-мобы:

# bukkit.yml
settings:
  allow-end: true
  warn-on-overload: true
spawn-limits:
  monsters: 70
  animals: 10
  water-animals: 15
  water-ambient: 20
  axolotls: 5
  ambient: 15
chunk-gc:
  period-in-ticks: 600
ticks-per:
  animal-spawns: 400
  monster-spawns: 1

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

Запустите сервер. При первом запуске на чистой папке начнется генерация чанков спавна (обычно радиус 10 чанков = 160 блоков).

systemctl start minecraft

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

journalctl -u minecraft -f

Или, если в screen/tmux: screen -r minecraft

Что искать в логах (успешная генерация):

[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 (12.345s)! For help, type "help"

Время генерации зависит от CPU и типа мира (Amplified генерируется дольше). На выделенных серверах proxify.cloud (Ryzen/EPYC) это занимает 10–30 секунд.

8. Пост-генерация: настройка спавна и прав

После остановки сервера (stop в консоли или systemctl stop minecraft) выполните базовую настройку.

8.1. Фиксация точки спавна (опционально)

Зайдите на сервер (или используйте RCON) и установите точный спавн:

# В консоли сервера или через rcon-cli
/setworldspawn 0 64 0
/gamerule spawnRadius 0

spawnRadius 0 заставит всех спавниться ровно в координатах 0 64 0, а не разбрасываться по 20x20 блоку.

8.2. Прегенерация чанков (Рекомендуется для продакшена)

Чтобы избежать лагов при исследовании новыми игроками, прегенерируйте радиус 5000–10000 блоков.

Вариант А: Плагин Chunky (Paper/Spigot/Purpur)

  1. Скачайте Chunky.jar в папку plugins/.
  2. Запустите сервер.
  3. В консоли:
    chunky radius 5000
    chunky start
    
    Прогресс пишется в логи. Можно ставить на паузу: chunky pause.

Вариант Б: Мод/Плагин для Fabric/Forge (Lithium, Chunk Pregenerator) Аналогичные команды.

8.3. Права доступа к файлам

Если сервер запускается от пользователя minecraft (best practice), а вы удаляли/создавали файлы от root — верните владельца:

chown -R minecraft:minecraft /home/minecraft/server/world
chown -R minecraft:minecraft /home/minecraft/server/plugins 2>/dev/null
chown -R minecraft:minecraft /home/minecraft/server/mods 2>/dev/null

Запустите сервер окончательно:

systemctl start minecraft
systemctl enable minecraft # На случай перезагрузки хоста proxify.cloud

9. Проверка работоспособности

  1. Подключитесь к серверу по IP (из панели proxify.cloud) и порту (по умолчанию 25565).
  2. Проверьте генерацию: /seed должен совпадать с level-seed (или быть случайным).
  3. Проверьте измерения: /minecraft:nether, /minecraft:the_end (через порталы или команды).
  4. Посмотрите TPS: /tps (нужен плагин Essentials или Spark). Должно быть 20.0 / 20.0 / 20.0.

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

1. Сервер не стартует: java.nio.file.AccessDeniedException или Permission denied

Причина: Файлы созданы от root, сервер запускается от minecraft. Решение: Выполните chown -R minecraft:minecraft /home/minecraft/server и перезапустите.

2. Мир создался, но старый инвентарь у игроков сохранился (или наоборот — пропало)

Причина: Папка `world/player