Langsung ke konten utama
pemilik-serverbackupkeamanan

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.

Tim MSID6 menit baca
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.

Diagram aturan 3-2-1 untuk server Minecraft: data asli di server menghasilkan satu salinan backup lokal di disk lain pada mesin yang sama, dan satu salinan off-site di cloud yang lokasinya terpisah, sehingga totalnya tiga salinan pada dua jenis media dengan satu salinan di luar lokasi

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:

bash
mysqldump -u user -p namadb > data.sql

lalu 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:

text
/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:

text
/save-on

Mayoritas 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.

Diagram perbandingan full backup dan incremental backup selama beberapa hari: full backup menyalin seluruh dunia tiap hari sehingga tiap backup berukuran besar dan boros, sedangkan incremental backup menyalin penuh sekali di hari pertama lalu hari-hari berikutnya hanya menyimpan bagian yang berubah sehingga ukurannya jauh lebih kecil

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.

Diagram retensi atau rotasi backup berlapis: simpan 7 backup harian untuk mundur sampai seminggu lalu, 4 backup mingguan untuk mundur sampai sebulan lalu, dan 3 backup bulanan untuk mundur sampai beberapa bulan lalu, sementara backup di luar pola itu dihapus otomatis lewat prune supaya disk tidak penuh

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-off lewat 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:

bash
# crontab -e, jalankan tiap hari jam 4 pagi
0 4 * * * /home/mc/backup.sh

Skrip itu biasanya menjalankan save-off lewat RCON, menyalin data dengan restic, save-on lagi, lalu membersihkan backup lama:

bash
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 --prune

Cara restore saat bencana

Backup hanya berguna kalau kamu tahu cara memulihkannya. Saat sesuatu benar-benar rusak, ini urutannya:

  1. Hentikan server dulu. Jangan pernah menimpa file dunia saat server berjalan, kamu hanya akan ikut merusak datanya.
  2. Sisihkan data yang rusak. Ganti nama folder lama (misalnya world menjadi world-rusak) daripada langsung menghapusnya, untuk jaga-jaga.
  3. 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.
  4. 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.
  5. Pastikan versi cocok. Versi server dan plugin sebaiknya sama dengan saat backup dibuat. Memulihkan dunia ke versi yang lebih lama bisa bermasalah.
  6. 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!

Baca juga