Kopie zapasowe serwera Minecraft

Stracić świat po miesiącach gry to koszmar każdego administratora. Regularne backupy to nie opcja, to obowiazek. Ten poradnik pokaże Ci, jak je skonfigurowac.
Co trzeba backupować?
Serwer Minecraft to nie tylko folder ze światem. Pełny backup obejmuje kilka elementow:
world/, world_nether/, world_the_end/ i dodatkowe światy z Multiverse). To najważniejsze i najciezsze pliki. Świat 10000x10000 bloków to 5-15 GB. .jar pluginów i ich foldery konfiguracyjne (np. plugins/LuckPerms/, plugins/EssentialsX/). Utrata konfiguracji pluginów oznacza konfigurowanie wszystkiego od nowa. whitelist.json, ops.json, banned-players.json, banned-ips.json. Listy graczy, operatorów i banow. mysqldump). Czego NIE backupować: Foldery logs/ (logi serwera, można regenerować), cache/ i plik server.jar (pobierzesz nowy). Pominiecie ich znacząco zmniejsza rozmiar backupu.
Strategie backupu
Nie wystarczy robić backup "raz na jakiś czas". Potrzebujesz planu, który chroni przed różnymi scenariuszami:
Zasada 3-2-1
Złoty standard backupów w IT, który sprawdza się również na serwerach Minecraft:
- 3 kopie danych (orygialy + 2 backupy)
- 2 różne nosniki (np. dysk serwera + chmura)
- 1 kopia offsite (poza lokalizacja serwera, np. Google Drive, Backblaze B2)
Częstotliwość backupów
Retencja ma znaczenie: Trzymanie tylko ostatniego backupu to zły pomysl. Jeśli griefer zniszczy świat i nie zauważysz tego przez 2 dni, potrzebujesz backupu sprzed zniszzen. Dlatego przechowuj kopie z kilku dni wstecz.
Ręczny backup krok po kroku
Zanim automatyzujesz, naucz się robić backup ręcznie. To przyda się w sytuacjach awaryjnych.
Krok 1: Zapisz świat
Zanim skopiujesz pliki, upewnij się, ze serwer zapisal wszystkie dane na dysk:
# W konsoli serwera:
save-all
save-off save-all wymusza zapis wszystkich chunkow i danych graczy. save-off tymczasowo wyłącza automatyczne zapisywanie, żeby pliki nie zmieniły się w trakcie kopiowania.
Krok 2: Skopiuj pliki
Na Linuxie:
# Utwórz folder na backupy
mkdir -p /home/minecraft/backups
# Skopiuj cały serwer (bez logów i cache)
tar -czf /home/minecraft/backups/backup-$(date +%Y%m%d-%H%M%S).tar.gz \
--exclude='logs' \
--exclude='cache' \
--exclude='*.jar' \
-C /home/minecraft/server . Na Windowsie: kliknij prawym przyciskiem na folder serwera, wybierz "Wyślij do > Folder skompresowany (zip)" lub użyj 7-Zip.
Krok 3: Włącz zapis z powrotem
# W konsoli serwera:
save-on Nie zapomnij o save-on! Jeśli zostawisz automatyczne zapisywanie wyłączone, serwer nie będzie zapisywać postępów graczy na dysk. W razie crashu stracisz wszystko od momentu ostatniego save-all.
Automatyzacja pluginami
Ręczne backupy sa dobre na początek, ale na dluzsza mete potrzebujesz automatyzacji.
DriveBackupV2 (zalecany)
DriveBackupV2 to plugin, który automatycznie tworzy kopie zapasowe i przesyła je do chmury. Obsługuje Google Drive, OneDrive, Dropbox i FTP/SFTP.
- Automatyczne backupy co X minut/godzin
- Upload do Google Drive, OneDrive lub Dropbox
- Rotacja kopii (automatyczne usuwanie starych backupów)
- Backup światów, pluginów i plików konfiguracyjnych osobno
- Powiadomienia na Discordzie przez webhook
# Konfiguracja w config.yml DriveBackupV2:
# schedule-interval: 240 (co 4 godziny)
# keep-count: 14 (ostatnie 14 kopii)
# google-drive:
# enabled: true
# folder-id: "ID_FOLDERU_GOOGLE_DRIVE"
# Komendy:
/drivebackup backup # Natychmiastowy backup
/drivebackup status # Status ostatniego backupu
/drivebackup list # Lista kopii eBackup (darmowy)
eBackup to prostsza alternatywa, która tworzy backupy na dysku lokalnym. Nie obsługuje chmury, ale jest lżejsza i prostsza w konfiguracji. Dobra na start, jeśli jeszcze nie masz konta chmurowego.
ServerUtils Backup
Wiele paneli serwerowych (Pterodactyl, AMP, Multicraft) ma wbudowane systemy backupow. Jeśli używasz panelu, sprawdź jego opcje zanim zainstalujesz plugin.
Automatyzacja skryptami systemowymi
Jeśli wolisz pełna kontrole nad procesem backupu, skrypt bash + cron to solidne rozwiązanie. Działa niezależnie od pluginów i serwera Minecraft.
Skrypt backupu (Linux)
#!/bin/bash
# backup-minecraft.sh
SERVER_DIR="/home/minecraft/server"
BACKUP_DIR="/home/minecraft/backups"
DATE=$(date +%Y%m%d-%H%M%S)
KEEP_DAYS=7
# Wyślij komendę save do serwera przez screen/tmux
screen -S minecraft -p 0 -X stuff "save-all$(printf '\r')"
sleep 5
screen -S minecraft -p 0 -X stuff "save-off$(printf '\r')"
sleep 2
# Utwórz backup
tar -czf "$BACKUP_DIR/backup-$DATE.tar.gz" \
--exclude='logs' \
--exclude='cache' \
--exclude='*.jar' \
-C "$SERVER_DIR" .
# Włącz zapis z powrotem
screen -S minecraft -p 0 -X stuff "save-on$(printf '\r')"
# Usuń backupy starsze niż X dni
find "$BACKUP_DIR" -name "backup-*.tar.gz" -mtime +$KEEP_DAYS -delete
echo "Backup zakonczony: backup-$DATE.tar.gz" Cron job
# Otwórz crontab
crontab -e
# Dodaj backup co 4 godziny
0 */4 * * * /home/minecraft/backup-minecraft.sh >> /home/minecraft/backup.log 2>&1 Skrypt używa screen do wysyłania komend do uruchomionego serwera. Jeśli używasz tmux, zamień screen -S minecraft -p 0 -X stuff na odpowiednik tmux send-keys -t minecraft.
Upload do chmury (opcjonalny)
# rclone - uniwersalne narzędzie do synchronizacji z chmura
# Instalacja: curl https://rclone.org/install.sh | sudo bash
# Konfiguracja: rclone config
# Upload po backupie (dodaj na końcu skryptu):
rclone copy "$BACKUP_DIR/backup-$DATE.tar.gz" gdrive:minecraft-backups/ rclone obsługuje Google Drive, Dropbox, OneDrive, Amazon S3, Backblaze B2 i dziesiątki innych uslug. Konfiguracja jednorazowa przez rclone config.
Gdzie przechowywać kopie
rsync lub scp. Pełna kontrola nad danymi, ale wymaga utrzymywania dwóch maszyn. Przywracanie z kopii zapasowej
Backup jest bezwartościowy, jeśli nie umiesz z niego przywrócić danych. Oto procedura:
- Wyłącz serwer - nigdy nie przywracaj plików na uruchomionym serwerze. Użyj komendy
/stopw konsoli. - Zrób kopie aktualnego stanu - nawet jeśli serwer jest uszkodzony, zrób kopie obecnych plikow. Może się okazac, ze w backupie brakuje czegoś, co da się odzyskać z bieżących danych.
- Rozpakuj backup do folderu tymczasowego:
mkdir /tmp/restore tar -xzf /home/minecraft/backups/backup-20260317-120000.tar.gz -C /tmp/restore - Skopiuj potrzebne pliki - nie musisz przywracać wszystkiego. Jeśli problem dotyczy tylko jednego świata, skopiuj tylko folder tego świata. Jeśli uszkodził się plugin, przywróć tylko jego konfiguracje.
# Przywróć tylko główny świat cp -r /tmp/restore/world/ /home/minecraft/server/world/ # Przywróć cały serwer cp -r /tmp/restore/* /home/minecraft/server/ - Uruchom serwer i zweryfikuj, czy wszystko działa poprawnie. Sprawdź logi pod katem błędów.
Wskazówka: Jeśli przywracasz tylko świat (bez pluginów), dane CoreProtect i innych pluginów loguacych mogą być nowsze niż przywrócony świat. To może powodować niespojnosci. W takim przypadku rozważ tez przywrócenie bazy danych CoreProtect.
Testowanie backupów
Backup, którego nie testowales, to backup, który może nie działać. Raz na miesiąc (minimum raz na kwartał) przetestuj procedure przywracania:
- Rozpakuj najnowszy backup na osobny folder
- Uruchom serwer z tego folderu na innym porcie
- Dołącz i sprawdź, czy świat wyglada poprawnie
- Zweryfikuj, ze pluginy laduja się bez błędów
- Sprawdź, czy dane graczy (ekwipunek, rangi, ekonomia) sa aktualne
# Testuj backup na innym porcie (zmień w server.properties)
# server-port=25566
# Dołącz przez localhost:25566 Jeśli test wypadnie pozytywnie, masz pewność, ze w razie awarii przywrocisz serwer w kilka minut. Jeśli nie, napraw problem teraz, nie w sytuacji kryzysowej.
Co dalej?
Backupy to fundament bezpieczeństwa serwera. Żeby być w pełni przygotowanym, zadbaj tez o:
- Ochronę serwera przed griefingiem, cheaterami i atakami.
- Migracje serwera, gdybys potrzebował zmienić hosting.
- Konfiguracje server.properties dla optymalnego działania.
- System rang i uprawnień przez LuckPerms.
- Zarządzanie światami za pomocą Multiverse.
- Optymalizacje wydajności, żeby serwer działał bez lagow.
Komentarze