Kopie zapasowe serwera Minecraft
Stracic świat po miesiacach gry to koszmar każdego administratora. Regularne backupy to nie opcja, to obowiazek. Ten poradnik pokaze 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 pluginow i ich foldery konfiguracyjne (np. plugins/LuckPerms/, plugins/EssentialsX/). Utrata konfiguracji pluginow oznacza konfigurowanie wszystkiego od nowa. whitelist.json, ops.json, banned-players.json, banned-ips.json. Listy graczy, operatorow 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 robic backup "raz na jakis czas". Potrzebujesz planu, który chroni przed różnymi scenariuszami:
Zasada 3-2-1
Złoty standard backupow 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ść backupow
Retencja ma znaczenie: Trzymanie tylko ostatniego backupu to zly 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ę robic 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, zeby pliki nie zmienily się w trakcie kopiowania.
Krok 2: Skopiuj pliki
Na Linuxie:
# Utworz folder na backupy
mkdir -p /home/minecraft/backups
# Skopiuj cały serwer (bez logow 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 "Wyslij do > Folder skompresowany (zip)" lub uzyj 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 bedzie zapisywac postepow 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 przesyla je do chmury. Obsluguje 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 backupow)
- Backup światów, pluginow 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 lzejsza 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 uzywasz 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 niezaleznie od pluginow 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
# Wyslij komende 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
# Utworz 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')"
# Usun backupy starsze niz X dni
find "$BACKUP_DIR" -name "backup-*.tar.gz" -mtime +$KEEP_DAYS -delete
echo "Backup zakonczony: backup-$DATE.tar.gz" Cron job
# Otworz 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 wysylania komend do uruchomionego serwera. Jeśli uzywasz tmux, zamien screen -S minecraft -p 0 -X stuff na odpowiednik tmux send-keys -t minecraft.
Upload do chmury (opcjonalny)
# rclone - uniwersalne narzedzie do synchronizacji z chmura
# Instalacja: curl https://rclone.org/install.sh | sudo bash
# Konfiguracja: rclone config
# Upload po backupie (dodaj na koncu skryptu):
rclone copy "$BACKUP_DIR/backup-$DATE.tar.gz" gdrive:minecraft-backups/ rclone obsługuje Google Drive, Dropbox, OneDrive, Amazon S3, Backblaze B2 i dziesiatki innych uslug. Konfiguracja jednorazowa przez rclone config.
Gdzie przechowywać kopie
rsync lub scp. Pełna kontrola nad danymi, ale wymaga utrzymywania dwoch 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. Uzyj komendy
/stopw konsoli. - Zrob kopie aktualnego stanu - nawet jeśli serwer jest uszkodzony, zrob kopie obecnych plikow. Może się okazac, ze w backupie brakuje czegos, co da się odzyskać z biezacych 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 uszkodzil się plugin, przywroc tylko jego konfiguracje.
# Przywroc tylko główny świat cp -r /tmp/restore/world/ /home/minecraft/server/world/ # Przywroc 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 pluginow), dane CoreProtect i innych pluginow loguacych mogą być nowsze niz przywrocony świat. To może powodowac niespojnosci. W takim przypadku rozważ tez przywrocenie bazy danych CoreProtect.
Testowanie backupow
Backup, którego nie testowales, to backup, który może nie działać. Raz na miesiąc (minimum raz na kwartal) 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 (zmien w server.properties)
# server-port=25566
# Dołącz przez localhost:25566 Jeśli test wypadnie pozytywnie, masz pewnosc, 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. Zeby być w pełni przygotowanym, zadbaj tez o:
- Ochrone serwera przed griefingiem, cheaterami i atakami.
- Migracje serwera, gdybys potrzebowal zmienić hosting.
- Konfiguracje server.properties dla optymalnego działania.
- System rang i uprawnien przez LuckPerms.
- Zarzadzanie światami za pomoca Multiverse.
- Optymalizacje wydajności, zeby serwer dzialal bez lagow.
Komentarze