Przejdź do treści
CraftRadar
Redakcja serwisu

Automatyczny backup świata Minecraft — pluginy, skrypty i dobre praktyki

Spalony dysk, nieudana aktualizacja, masowy grief — bez dobrych backupów łatwo stracić tygodnie pracy. Pokazujemy, jak ustawić automatyczne kopie zapasowe na Paperze i przez cron.

Backup to ta rzecz, której wartości nie docenisz, dopóki jej nie potrzebujesz. Spalony dysk, nieudana aktualizacja, masowy grief, przejęte konto operatora — bez kopii zapasowej każde z tych zdarzeń kończy się utratą tygodni pracy. Dobra wiadomość: w 2026 r. ustawienie automatycznych backupów to jednorazowa robota na 30 minut.

Automatyczny backup świata Minecraft – snapshot Minecrafta na serwerze Minecraft

Pokazujemy trzy podejścia: pluginy Papera, skrypty bash z cronem i backupy przyrostowe restic.

Zasada 3-2-1

Branżowy standard:

  • 3 kopie danych (oryginał + 2 backupy),
  • 2 różne nośniki (np. dysk VPS i zewnętrzny storage),
  • 1 kopia poza Twoją lokacją (S3, Google Drive, własny NAS).

Na serwerze Minecraft wygląda to tak: świat na VPS-ie + codzienna kopia lokalnie + cotygodniowa kopia na S3 / Google Drive.

Co tak naprawdę bekapować?

  • folder świata (world/, world_nether/, world_the_end/),
  • plugins/ — głównie konfiguracje i bazy danych SQLite,
  • banned-players.json, whitelist.json, ops.json,
  • server.properties, paper.yml, spigot.yml, bukkit.yml,
  • baza danych MySQL (jeśli używasz).

Nie kopiuj plików .jar Papera ani logów — łatwo je odtworzyć. Kopia świata to zwykle 80% rozmiaru backupu.

Opcja 1 — plugin EzBackup / BackupGuard

Najprostsze rozwiązanie. Konfigurujesz plik plugins/EzBackup/config.yml:

backup:
  schedule: "0 4 * * *"  # codziennie o 4:00
  retention: 7           # trzymaj 7 ostatnich kopii
  compress: true
  destinations:
    - type: local
      path: backups/
    - type: sftp
      host: backup.mojhost.pl
      user: mariusz
      key: /root/.ssh/id_ed25519
      path: /backups/mc/

Plus: zero dotykania konsoli, kompresja w locie, integracja z Discord webhookami. Minus: ograniczone do funkcji pluginu.

Opcja 2 — bash + cron

Klasyk. Plik /usr/local/bin/mc-backup.sh:

#!/usr/bin/env bash
set -euo pipefail

SERVER_DIR="/srv/minecraft"
BACKUP_DIR="/backups/minecraft"
DATE=$(date +%Y-%m-%d_%H-%M)

# Powiadom serwer i wymuś zapis
mcrcon -H 127.0.0.1 -P 25575 -p "TWOJE_HASLO" \
  "say Rozpoczynam backup..." "save-off" "save-all flush"

# Skopiuj świat (tar + zstd, ~3x szybsze niż gzip)
tar --use-compress-program=zstd \
    -cf "$BACKUP_DIR/world-$DATE.tar.zst" \
    -C "$SERVER_DIR" world world_nether world_the_end

# Włącz zapis ponownie
mcrcon -H 127.0.0.1 -P 25575 -p "TWOJE_HASLO" \
  "save-on" "say Backup zakończony."

# Usuń kopie starsze niż 7 dni
find "$BACKUP_DIR" -name 'world-*.tar.zst' -mtime +7 -delete

Następnie:

chmod +x /usr/local/bin/mc-backup.sh
crontab -e

Dodaj wpis:

0 4 * * * /usr/local/bin/mc-backup.sh >> /var/log/mc-backup.log 2>&1

Codziennie o 4:00 backup. Logi w /var/log/mc-backup.log. Plus: pełna kontrola, zero zależności od pluginów. Minus: trzeba znać bash.

Opcja 3 — restic (przyrostowe + szyfrowane)

restic robi backup przyrostowy: tylko zmienione bloki danych są zapisywane. Idealne dla świata Minecrafta, gdzie codziennie zmienia się 5–10% chunków.

apt install restic
export RESTIC_REPOSITORY="s3:s3.amazonaws.com/twoj-bucket"
export RESTIC_PASSWORD="dlugie-haslo-z-menedzera"
restic init

# Codzienny backup
restic backup /srv/minecraft/world

# Polityka retencji
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune

Pierwszy backup może trwać kilkadziesiąt minut, kolejne — minuty. Restic szyfruje dane AES-256, więc nawet jeśli ktoś wykradnie kopię, nie odczyta świata bez hasła.

Automatyczny backup świata Minecraft – wydarzenie społeczności Minecraft na serwerze Minecraft

Testuj backup!

Niesprawdzony backup to brak backupu. Raz w miesiącu:

  1. Pobierz najnowszą kopię na lokalny komputer.
  2. Rozpakuj do osobnego folderu.
  3. Uruchom serwer testowy z tych plików.
  4. Sprawdź, czy świat ładuje się poprawnie.

Najczęstsze problemy: uszkodzone pliki regionów, brak level.dat, niepełna kopia podczas ataku DDoS w trakcie backupu.

Backup bez wyłączania serwera

Świat Minecrafta zapisuje się ciągle. Zwykłe cp może złapać niespójny stan. Klucz: save-off przed kopiowaniem i save-on po.

Komendy RCON:

save-off       # zatrzymuje zapisy
save-all flush # wymusza pełen zapis na dysk
save-on        # wraca do normalnej pracy

Między save-off a save-on serwer trzyma zmiany w pamięci. Backup w tym oknie jest spójny.

Powiadomienia o niepowodzeniach

Backup, który się nie wykonał i nikt o tym nie wie, jest gorszy niż brak backupu. Najprostsze rozwiązanie — webhook Discord:

if ! /usr/local/bin/mc-backup.sh; then
  curl -X POST -H 'Content-Type: application/json' \
    -d '{"content":"⚠️ Backup serwera nie powiódł się!"}' \
    "$DISCORD_WEBHOOK_URL"
fi

Albo użyj Healthchecks.io — darmowy serwis, który dzwoni alarm, gdy cron przestał się odzywać.

Sugerowany harmonogram

  • Co godzinę: snapshot świata na lokalny dysk (5–7 ostatnich).
  • Codziennie 4:00: pełna kopia na zewnętrzny storage.
  • Co tydzień: kopia poza lokację (S3, Google Drive).
  • Co miesiąc: test odtworzenia.

Podsumowanie

Plugin to najszybszy start, bash + cron daje pełną kontrolę, restic zapewnia bezpieczeństwo i oszczędność miejsca. Niezależnie od wyboru — najważniejsza jest reguła 3-2-1, automatyczne powiadomienia o niepowodzeniach i regularny test odtworzenia.

30 minut na konfigurację dziś = brak paniki, gdy w przyszłym roku ktoś zgriefuje spawn albo VPS padnie.

Dodaj serwer

Wpisz adres serwera Minecraft, aby dodać go do listy. Dodanie jest darmowe.

Nie masz jeszcze serwera? Zobacz, jak go założyć.