Cara Backup Server Minecraft yang Benar: Aturan 3-2-1 dan Tes Restore
Backup adalah asuransi termurah untuk server Minecraft. Panduan lengkap: aturan 3-2-1, apa yang harus disalin, save-off, full vs incremental, jadwal dan retensi, otomatisasi, sampai cara restore saat bencana dan kenapa backup yang tidak pernah dites bukan backup.
Daftar isi
Ada satu hal yang memisahkan server yang bertahan dari server yang mati dalam semalam: backup. Cepat atau lambat sesuatu akan rusak, entah dunia yang corrupt, griefer yang meratakan spawn, update plugin yang menghapus data, atau disk hosting yang gagal. Saat itu terjadi, backup adalah satu-satunya hal yang menentukan apakah kamu kehilangan satu jam atau kehilangan segalanya.
Backup bukan soal performa, melainkan soal kelangsungan hidup servermu, dan ia layak diperlakukan sebagai fondasi tersendiri. Panduan ini membahas cara backup yang benar dari nol, bukan sekadar "menyalin folder world sesekali": aturan 3-2-1, apa yang harus disalin, jadwal dan retensi, sampai cara memulihkan saat bencana benar-benar datang.
Kenapa backup wajib
Pemilik server baru sering menganggap backup itu urusan nanti. Padahal ancamannya nyata dan beragam:
- Dunia corrupt karena server mati mendadak atau disk bermasalah.
- Griefing dan sabotase, termasuk dari staff yang berkhianat.
- Update atau konfigurasi yang gagal, misalnya plugin yang menghapus data pemain atau migrasi database yang salah.
- Kegagalan hardware atau ransomware di sisi hosting.
Backup mengubah semua bencana itu dari "kiamat" menjadi "gangguan beberapa menit."
Aturan 3-2-1
Standar backup yang dipakai di seluruh industri adalah 3-2-1, dan berlaku sama untuk server Minecraft:
- 3 salinan datamu (yang asli plus dua backup).
- 2 media penyimpanan berbeda (misalnya disk server dan layanan cloud).
- 1 salinan off-site, di lokasi yang benar-benar terpisah dari servermu.
Poin off-site itu yang paling sering dilupakan, padahal paling penting. Backup yang tersimpan di disk yang sama dengan server akan ikut hilang kalau disk itu rusak. Satu salinan harus berada di tempat lain.
Apa yang harus di-backup
Folder world saja tidak cukup. Backup yang lengkap mencakup:
- Semua folder world (
world,world_nether,world_the_end). - File konfigurasi (
server.properties,bukkit.yml,spigot.yml,paper-global.yml,paper-world-defaults.yml). - Plugin beserta datanya (folder
plugins, termasuk data LuckPerms, ekonomi, claim, dan sebagainya). - Database kalau servermu memakai MySQL atau PostgreSQL untuk data pemain.
Kehilangan rank, saldo, atau claim pemain sama buruknya dengan kehilangan dunia. Pastikan semuanya ikut.
Khusus database, jangan menyalin file mentahnya saat MySQL atau PostgreSQL sedang berjalan, hasilnya bisa rusak. Pakai dump, misalnya:
mysqldump -u user -p namadb > data.sqllalu backup file data.sql itu bersama yang lain.
Backup yang konsisten: save-off dulu
Menyalin folder world saat server sedang aktif menulis ke disk bisa menghasilkan backup yang rusak sebagian. Untuk menghindarinya, hentikan dulu penulisan, paksa simpan, baru salin:
/save-off
/save-all flush/save-off membuat server berhenti menulis ke file dunia, dan /save-all flush memaksa seluruh chunk dan data pemain tersimpan ke disk seketika. Setelah penyalinan selesai, nyalakan lagi dengan:
/save-onMayoritas tool dan skrip backup yang baik melakukan urutan ini otomatis lewat RCON, jadi kamu tidak perlu menjalankannya manual tiap kali.
Full vs incremental
Ada dua gaya backup, dan memahami bedanya menghemat banyak disk:
- Full backup menyalin seluruh data tiap kali. Sederhana, tapi boros ruang dan lambat kalau duniamu besar.
- Incremental backup menyalin penuh sekali di awal, lalu setelahnya hanya menyimpan bagian yang berubah. Jauh lebih hemat ruang dan cepat, sehingga kamu bisa backup lebih sering.
Untuk server yang dunianya besar dan terus tumbuh (misalnya setelah kamu pre-generate map), incremental hampir selalu pilihan yang lebih waras.
Seberapa sering backup, dan berapa lama disimpan
Dua pertanyaan yang sering bikin bingung: seberapa sering harus backup, dan berapa banyak yang disimpan.
Seberapa sering:
- Server yang aktif: minimal sekali sehari, otomatis.
- Selalu backup manual sebelum hal berisiko, yaitu update versi server, pasang atau hapus plugin besar, migrasi database, atau mengubah konfigurasi besar-besaran. Kalau perubahannya gagal, kamu tinggal mundur.
- Server yang besar dan ramai bisa lebih sering (tiap beberapa jam), karena makin ramai makin banyak data yang hilang per jam.
Berapa lama disimpan (retensi):
Jangan simpan semua backup selamanya, disk pasti penuh. Tapi jangan cuma menyimpan satu, karena kalau yang terbaru ternyata ikut korup, kamu tidak punya cadangan. Solusinya rotasi berlapis: simpan beberapa harian, beberapa mingguan, dan beberapa bulanan. Pola umum yang sehat:
- 7 backup harian, mundur sampai seminggu lalu.
- 4 backup mingguan, mundur sampai sebulan lalu.
- 3 backup bulanan, mundur sampai beberapa bulan lalu.
Dengan pola ini kamu bisa mundur ke kemarin, minggu lalu, atau bulan lalu tanpa menyimpan ratusan file. Tool seperti restic dan Borg punya perintah forget atau prune yang menghapus backup lama sesuai pola ini secara otomatis.
Pilihan tool
Kamu tidak perlu menulis semuanya dari nol. Beberapa pilihan umum:
- restic: pilihan paling serbaguna. Mendukung banyak tujuan penyimpanan (S3, Backblaze B2, SFTP, lokal), terenkripsi secara default, incremental, dan jalan di hampir semua sistem.
- BorgBackup: unggul di kompresi dan deduplikasi, cocok kalau kamu backup lewat SSH ke server Linux lain dan ingin ukuran sekecil mungkin.
- Snapshot dari hosting: banyak penyedia VPS menyediakan snapshot otomatis. Berguna, tapi jangan jadikan satu-satunya, karena ia hidup di infrastruktur yang sama dengan servermu.
- Skrip backup khusus Minecraft yang sudah menangani
save-offlewat RCON dan mendukung format seperti tar atau restic.
Apa pun toolnya, otomatiskan, jangan mengandalkan ingatan. Cara paling umum di Linux adalah cron yang memanggil satu skrip backup tiap malam saat server sepi:
# crontab -e, jalankan tiap hari jam 4 pagi
0 4 * * * /home/mc/backup.shSkrip itu biasanya menjalankan save-off lewat RCON, menyalin data dengan restic, save-on lagi, lalu membersihkan backup lama:
restic -r b2:bucket-kamu:server backup /home/mc/server
restic -r b2:bucket-kamu:server forget --keep-daily 7 --keep-weekly 4 --keep-monthly 3 --pruneCara restore saat bencana
Backup hanya berguna kalau kamu tahu cara memulihkannya. Saat sesuatu benar-benar rusak, ini urutannya:
- Hentikan server dulu. Jangan pernah menimpa file dunia saat server berjalan, kamu hanya akan ikut merusak datanya.
- Sisihkan data yang rusak. Ganti nama folder lama (misalnya
worldmenjadiworld-rusak) daripada langsung menghapusnya, untuk jaga-jaga. - Pilih titik pulih yang tepat. Di sinilah retensi terbayar: ambil backup dari sebelum masalah terjadi (kemarin, minggu lalu, dan seterusnya), bukan asal yang terbaru, karena yang terbaru bisa jadi sudah ikut rusak.
- Kembalikan semuanya. Pulihkan folder world, folder
plugins, file konfigurasi, dan database (import file.sql-nya). Dengan restic kira-kira:restic -r b2:bucket-kamu:server restore latest --target /home/mc/server. - Pastikan versi cocok. Versi server dan plugin sebaiknya sama dengan saat backup dibuat. Memulihkan dunia ke versi yang lebih lama bisa bermasalah.
- Nyalakan dan verifikasi. Cek dunia, claim, rank, saldo, dan plugin sebelum mengumumkan server kembali normal.
Backup yang tidak pernah dites bukan backup
Ini bagian yang paling sering diabaikan, dan paling menyakitkan saat terlambat disadari. Backup yang belum pernah kamu coba pulihkan tidak bisa kamu andalkan. File yang korup, folder yang terlewat, atau database yang tidak ikut ter-backup baru ketahuan saat kamu benar-benar butuh memulihkan, yaitu saat paling buruk.
Biasakan tes restore secara berkala, misalnya sebulan sekali:
- Pulihkan backup ke server uji yang terpisah, ikuti langkah restore di atas.
- Pastikan dunia, claim, rank, saldo, dan plugin semuanya jalan seperti seharusnya.
Tes 30 menit ini adalah selisih antara "tenang" dan "panik" di hari kamu benar-benar membutuhkannya.
Langkah selanjutnya
Backup bukan hal yang seru untuk disiapkan, tapi ia adalah jaring pengaman yang membuat semua kerja kerasmu tidak sia-sia dalam sekejap. Siapkan sekarang, otomatiskan, dan sesekali dites, sebelum kamu benar-benar membutuhkannya.
Dengan data yang aman, kamu bisa fokus ke hal yang sebenarnya: pemain. Baca cara menambah pemain server, lalu daftarkan servermu di MSID supaya pemain Indonesia menemukannya di daftar server Minecraft Indonesia.
Selamat menjaga datamu tetap aman!