Oyun Sunucusu Yedekleme: Dünya ve Kayıt Dosyalarını Korumak
Oyun sunucusu yedekleme, aylarca emek verilmiş bir dünyanın tek bir bozuk güncelleme, hatalı mod ya da yanlış komutla kaybolmasını önleyen en ucuz sigortadır. Oyun sunucularında kayıp çoğunlukla donanım arızasından değil, insan hatasından ve uyumsuz modlardan kaynaklanır; bu yüzden yedeğin sık, otomatik ve geri yüklenebilir olması gerekir.
Aşağıdaki yöntemler kendi yönettiğiniz Linux sunuculara göre yazılmıştır, ancak mantık her oyunda aynıdır. LIONFIN oyun sunucusu ve VDS hizmetlerinde paketinizin yedekleme özelliklerini paket sayfasından kontrol edip bu rehberdeki ek kopyalarla tamamlayabilirsiniz.
Kısa cevap
Oyun sunucusu yedekleme, dünya, oyuncu ve ayar dosyalarının bulunduğu kayıt klasörünü düzenli aralıklarla kopyalayıp sunucu dışındaki bir konumda saklamaktır. Tutarlı bir yedek için önce oyuna kaydı diske yazdırırsınız (örneğin save-all, SaveWorld, saveworld), ardından klasörü tar ile arşivler, işlemi cron ile otomatikleştirir ve geri yüklemeyi düzenli olarak test edersiniz.
Oyun sunucusu yedeklemede neler yedeklenmeli?
Oyun sunucusu yedeklemede asıl korunması gereken, yeniden indirilemeyen dosyalardır: dünya ve kayıt dosyaları, oyuncu verileri, yapılandırma dosyaları ve mod listesi. Oyunun kendi dosyaları SteamCMD ile her zaman yeniden indirilebildiği için yedeğe dahil edilmesi gerekmez.
| Oyun | Yedeklenecek klasör / dosya | Kaydı diske yazdırma |
|---|---|---|
| Minecraft (Java) | Dünya klasörleri, server.properties, eklenti klasörü | save-off, save-all; yedekten sonra save-on |
| Valheim | worlds_local içindeki .db ve .fwl | Yönetici konsolunda save |
| ARK: Survival Ascended | ShooterGame/Saved | RCON ile SaveWorld |
| Palworld | Pal/Saved | Yönetici olarak /Save |
| 7 Days to Die | Kayıt klasörü (Saves) | Telnet ile saveworld |
| Project Zomboid | Zomboid/Saves ve Zomboid/Server | Sunucu konsolunda save |
Mod kullanan sunucularda mod dosyalarını ve sürümlerini de yedekleyin; aynı dünya farklı mod sürümleriyle açıldığında bozulabilir.
Tutarlı yedek nasıl alınır?
Tutarlı yedek, oyun dosyaya yazarken değil, yazma işlemi tamamlandıktan sonra alınan kopyadır. Sunucu çalışırken klasörü doğrudan kopyalamak, yarım yazılmış bir dosyanın yedeğe girmesine ve geri yüklemede dünyanın açılmamasına yol açabilir.
Üç güvenli yöntem vardır:
- Kapatarak yedek: Sunucuyu düzgün kapatın, klasörü kopyalayın, yeniden başlatın. En güvenli yöntemdir; günlük bakım penceresi olan sunucular için idealdir.
- Kaydı yazdırıp kopyalama: Oyunun kayıt komutunu çalıştırın, birkaç saniye bekleyin ve kopyalayın. Minecraft’ta
save-offile otomatik kaydı geçici olarak durdurmak tutarlılığı artırır. - Disk anlık görüntüsü: Sağlayıcınızın snapshot özelliği ya da LVM/ZFS gibi dosya sistemi anlık görüntüleri, saniyeler içinde tüm diskin kopyasını alır; yine de önce kaydı diske yazdırın. Ayrıntılar VPS yedekleme ve snapshot rehberinde.
Hangi yöntemi seçerseniz seçin, yedeğin tamamlandığını günlükten ya da arşiv boyutundan doğrulayın.
Otomatik yedek betiği nasıl yazılır?
Linux’ta oyun sunucusu yedekleme işini otomatikleştirmenin en basit yolu, kayıt klasörünü tarihli bir arşive dönüştüren kısa bir betik ve onu düzenli çalıştıran bir cron görevidir.
#!/bin/bash
# /home/oyun/yedekle.sh
KAYNAK="/home/oyun/server/Saved"
HEDEF="/home/oyun/yedekler"
TARIH=$(date +%Y-%m-%d_%H-%M)
mkdir -p "$HEDEF"
tar -czf "$HEDEF/dunya_$TARIH.tar.gz" -C "$(dirname "$KAYNAK")" "$(basename "$KAYNAK")"
# 14 günden eski arşivleri sil
find "$HEDEF" -name "dunya_*.tar.gz" -mtime +14 -delete- Betiği kaydedip çalıştırılabilir yapın:
chmod +x yedekle.sh. - Önce elle çalıştırıp arşivin oluştuğunu kontrol edin.
crontab -eile zamanlayın; örneğin her 6 saatte bir:
0 */6 * * * /home/oyun/yedekle.shKaydı diske yazdırma adımını da otomatikleştirmek isterseniz betiğin başına, oyunun RCON ya da konsol arayüzü üzerinden kayıt komutunu gönderen bir satır ekleyin. Cron sözdizimi ve günlükleme için Linux temel komutlar rehberinden yararlanabilirsiniz.
Yedekler neden sunucu dışında saklanmalı?
Yalnızca aynı sunucuda duran bir yedek, disk arızasına, yanlışlıkla silinen bir klasöre ya da ele geçirilmiş bir hesaba karşı koruma sağlamaz; yedeğin en az bir kopyası farklı bir makinede ya da depolama hizmetinde olmalıdır. Bu yaklaşım, 3-2-1 yedekleme kuralı olarak bilinir: üç kopya, iki farklı ortam, bir kopya başka bir konumda.
- rsync ile başka bir sunucuya:
rsync -az /home/oyun/yedekler/ yedek@YEDEK_SUNUCU:/yedekler/oyun/komutu yalnızca değişen dosyaları aktarır; SSH anahtarıyla parolasız çalıştırılabilir. - Nesne depolamaya: rclone ya da restic gibi araçlarla S3 uyumlu bir depolama hizmetine şifreli kopya gönderilebilir.
- Yerel bilgisayara: Küçük dünyalar için SFTP ile düzenli indirme de bir seçenektir, ancak elle yapıldığı için unutulmaya açıktır.
Uzak hedefe yazma yetkisi veren anahtarı yalnızca bu iş için oluşturun ve mümkünse yedek sunucusunda silme yetkisini kısıtlayın; böylece oyun sunucusu ele geçirilse bile eski yedekler korunur.
Yedekten geri yükleme nasıl yapılır ve test edilir?
Geri yüklenemeyen bir yedek, yedek değildir; bu yüzden geri yükleme adımlarını sorun çıkmadan önce denemek gerekir. Temel geri yükleme süreci her oyunda benzerdir:
- Sunucuyu durdurun.
- Mevcut kayıt klasörünü silmek yerine yeniden adlandırın (örneğin
Saved_eski); geri dönüş yolu açık kalsın. - Arşivi açın:
tar -xzf dunya_TARIH.tar.gz -C /home/oyun/server/. - Dosya sahipliğini oyun kullanıcısına verin:
chown -R oyun:oyun /home/oyun/server/Saved. - Sunucuyu başlatın, günlükte hata olmadığını ve dünyanın beklenen tarihteki hâliyle açıldığını doğrulayın.
Ayda bir kez, rastgele seçtiğiniz bir yedeği ayrı bir test klasörüne ya da test sunucusuna açıp oyunla bağlanarak kontrol etmek iyi bir alışkanlıktır. Oyun güncellemesinden ve mod değişikliğinden hemen önce elle ek bir yedek almak, en sık yaşanan kayıp senaryolarının neredeyse tamamını kapsar.
Sık Sorulan Sorular
Oyun sunucusu ne sıklıkla yedeklenmeli?
Aktif bir topluluk sunucusunda günde birkaç kez otomatik yedek ve her güncelleme ya da mod değişikliğinden önce elle ek yedek yaygın bir düzendir. Ne kadar ilerleme kaybını göze alabileceğinizi düşünün; aralık bu süreden kısa olmalıdır.
Sunucu açıkken yedek almak güvenli mi?
Önce oyunun kayıt komutuyla verileri diske yazdırırsanız genellikle güvenlidir. Kayıt komutu olmadan çalışan sunucunun klasörünü kopyalamak, yarım yazılmış dosyaların yedeğe girmesine yol açabilir. En güvenli yöntem sunucuyu kısa süreliğine kapatarak yedek almaktır.
Snapshot oyun sunucusu yedeklemenin yerini tutar mı?
Snapshot tüm diskin hızlı bir kopyasıdır ve felaket senaryolarında çok değerlidir, ancak genellikle aynı altyapıda tutulur ve tek bir dünyayı geri almak için hantal olabilir. Snapshot’ı, dosya düzeyinde ve sunucu dışında tutulan arşiv yedekleriyle birlikte kullanın.
Yedekleri ne kadar süre saklamalıyım?
Bozulmalar bazen günler sonra fark edildiği için yalnızca son yedeği tutmak yetersizdir. Örneğin son birkaç günün sık yedeklerini ve son birkaç haftanın günlük yedeklerini saklamak, disk alanını aşmadan geri dönüş noktası seçmenizi sağlar.
Bu makale yardımcı oldu mu?
Geri bildiriminiz için teşekkürler!
kişi faydalı buldu