Discord
Wiki - Serwery

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.

Czas czytania: ~12 min Poziom: Średniozaawansowany

Co trzeba backupować?

Serwer Minecraft to nie tylko folder ze światem. Pełny backup obejmuje kilka elementow:

world/ (światy) Foldery światów (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.
plugins/ Cały folder pluginow razem z plikami konfiguracyjnymi. Zawiera .jar pluginow i ich foldery konfiguracyjne (np. plugins/LuckPerms/, plugins/EssentialsX/). Utrata konfiguracji pluginow oznacza konfigurowanie wszystkiego od nowa.
server.properties Główny plik konfiguracyjny serwera. Mały plik, ale zawiera wszystkie ustawienia opisane w poradniku konfiguracji.
*.json Pliki whitelist.json, ops.json, banned-players.json, banned-ips.json. Listy graczy, operatorow i banow.
Bazy danych Jeśli uzywasz MySQL/MariaDB dla pluginow (LuckPerms, ekonomia, logi), pamietaj o backupie baz danych osobno (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

Serwer prywatny (1-10 graczy) Backup co 12-24 godziny. Przechowuj min. 7 ostatnich kopii (tydzien wstecz). Mały ruch = mniej zmian = rzadsze backupy wystarczą.
Serwer publiczny (10-50 graczy) Backup co 4-6 godzin. Przechowuj min. 14 kopii (2-3 dni wstecz). Na aktywnym serwerze w ciagu 6 godzin może się dużo zmienić.
Duży serwer (50+ graczy) Backup co 1-2 godziny. Przechowuj 48+ kopii (2-4 dni wstecz). Przy dużym ruchu nawet godzina bez backupu to potencjalnie duża strata.

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

Dysk lokalny Najszybsze tworzenie i przywracanie. Ale jeśli dysk padnie, tracisz serwer i backup jednoczesnie. Używaj jako pierwsza linie obrony, ale nie jako jedyna kopie.
Google Drive (15 GB za darmo) Darmowe 15 GB wystarczy na kilka backupow mniejszego serwera. Integracja przez DriveBackupV2 lub rclone. Więcej miejsca za 8,99 zl/mies. (100 GB).
Backblaze B2 Najtansza chmura na backupy. $0.005/GB/mies. = 50 GB za ok. 1 zl/mies. Swietne do dlugookresowego przechowywania. Integracja przez rclone.
Drugi serwer / VPS Jeśli masz drugi serwer, synchronizuj backupy przez rsync lub scp. Pełna kontrola nad danymi, ale wymaga utrzymywania dwoch maszyn.
Dysk zewnetrzny (self-hosted) Podlacz dysk USB do komputera z serwerem. Prosty i tani sposob na kopie offsite. Wada: jezli w domu jest pozar lub kradziez, tracisz obie kopie.

Przywracanie z kopii zapasowej

Backup jest bezwartościowy, jeśli nie umiesz z niego przywrócić danych. Oto procedura:

  1. Wyłącz serwer - nigdy nie przywracaj plików na uruchomionym serwerze. Uzyj komendy /stop w konsoli.
  2. 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.
  3. Rozpakuj backup do folderu tymczasowego:
    mkdir /tmp/restore tar -xzf /home/minecraft/backups/backup-20260317-120000.tar.gz -C /tmp/restore
  4. 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/
  5. 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:

Komentarze