Metin2 sunucusunu başka bir sunucuya taşıma rehberi: veri aktarımı, IP değişikliği, client güncellemesi ve oyuncu kaybetmeden geçiş yapmanın yolları.
Sunucu taşımak, Metin2 sunucu sahiplerinin en çok ertelediği işlerden biri. Sebebi anlaşılır: yanlış giden bir taşıma oyuncu verisi kaybına, uzun kesintiye ve oyuncuların rakip sunuculara gitmesine yol açabiliyor. Oysa doğru planlandığında taşıma, oyuncuların çoğunun fark etmediği bir bakım işidir.
Bu rehber taşımayı iki senaryoda anlatıyor: küçük sunucular için basit yöntem, aktif ve kalabalık sunucular için kesintisiz yöntem.
Taşıma işlemini biz ücretsiz yapıyoruz. Mezuhost'a geçen müşterilerimizin sunucu taşıma işlemi için ayrıca ücret talep etmiyoruz. Mevcut sunucunuzun bilgilerini iletmeniz yeterli; planlamayı, aktarımı ve doğrulamayı teknik ekibimiz yürütür. Aşağıdaki adımları kendiniz yapmak isterseniz de rehber eksiksiz.
Taşıma Ne Zaman Gerekir?
Her yavaşlama taşıma gerektirmez. Aşağıdaki durumlar gerçek taşıma sebepleridir:
- Sağlayıcı değişikliği — destek, kesinti ya da fiyat sebebiyle.
- Donanım yetersizliği — mevcut sağlayıcıda yükseltme imkânı kalmamışsa.
- Lokasyon değişikliği — oyuncularınız Türkiye'deyken sunucu yurt dışındaysa.
- Altyapı sorunları — tekrarlayan kesintiler, çözülmeyen saldırı problemleri.
Buna karşılık, sunucu yavaşlıyor diye taşımak çoğu zaman yanlış karardır. Yavaşlamanın kaynağı sıklıkla quest dosyaları ya da veritabanıdır; aynı sorun yeni sunucuda da devam eder. Taşımadan önce lag sorununun kaynağını bulun.
Taşımadan Önce: Neyi Taşıyacaksınız?
Eksik taşınan bir sunucu, hiç taşınmamış sayılır. Listeyi baştan çıkarın:
| Parça | Nerede | Atlanırsa ne olur |
|---|---|---|
| account veritabanı | MySQL | Oyuncular giriş yapamaz |
| player veritabanı | MySQL | Karakterler ve eşyalar kaybolur |
| common veritabanı | MySQL | Yetkiler ve sunucu ayarları gider |
| log veritabanı | MySQL | Geçmiş kayıtlar kaybolur (kritik değil) |
| Sunucu dosyaları | /usr/home/... | Sunucu hiç açılmaz |
| Quest dosyaları | quest/ | Görevler çalışmaz |
| Yapılandırma | CONFIG | Kanal ve port ayarları gider |
| Web paneli ve site | Web dizini | Kayıt ve market çalışmaz |
| SSL sertifikası | Web sunucusu | Site güvensiz görünür |
| Zamanlanmış görevler | crontab | Yedekleme ve bakım işleri durur |
Son iki satır en sık atlananlardır. Özellikle crontab kayıtlarını yeni sunucuya taşımayı unutan sunucu sahipleri, aylar sonra yedeklerinin hiç alınmadığını fark ediyor.
Yöntem 1: Basit Taşıma (Küçük ve Yeni Sunucular)
Oyuncu sayınız azsa ya da sunucu henüz yayında değilse, kısa bir kesinti kabul edilebilir. Bu yöntem daha basit ve hata riski düşüktür.
Adım 1 — Yeni sunucuyu hazırlayın
İşletim sistemi ve MySQL kurulu şekilde teslim aldıktan sonra, dosya yapısını eski sunucuyla aynı yola kurun. Aynı dizin yapısı, yapılandırma dosyalarında yol düzeltmesi yapma zahmetinden kurtarır.
Adım 2 — Sunucuyu kapatın ve son yedeği alın
killall game
killall auth
mysqldump -u root -p --databases account player common log | gzip > /root/tasima.sql.gz
Oyuncular çevrimiçiyken alınan yedek eksik kalır; son yedek mutlaka sunucu kapalıyken alınmalıdır. Yedekleme parametrelerinin ayrıntısı için yedekleme rehberimize bakabilirsiniz.
Adım 3 — Dosyaları aktarın
tar -czf /root/sunucu.tar.gz /usr/home/channel1 /usr/home/auth /usr/home/db
scp /root/sunucu.tar.gz /root/tasima.sql.gz kullanici@YENI_IP:/root/
Adım 4 — Yeni sunucuda geri yükleyin
cd / && tar -xzf /root/sunucu.tar.gz
gunzip < /root/tasima.sql.gz | mysql -u root -p
Adım 5 — Yapılandırmayı güncelleyin
IP adresi geçen bütün dosyaları gözden geçirin. Eski IP'nin nerede kaldığını bulmanın en hızlı yolu:
grep -rn "ESKI_IP" /usr/home/ 2>/dev/null
Yöntem 2: Kesintisiz Taşıma (Aktif Sunucular)
Oyuncusu olan bir sunucuda "kapat, taşı, aç" yöntemi saatlerce kesinti demektir. Bunun yerine büyük veriyi önceden aktarıp yalnızca farkı taşıyarak bakım penceresini dakikalara indirebilirsiniz.
Adım 1 — Yeni sunucuyu eski çalışırken kurun
Dosyalar, MySQL ve yapılandırma tamamen hazırlanır ve test edilir. Eski sunucu bu sırada normal çalışmaya devam eder.
Adım 2 — Büyük veriyi önceden kopyalayın
rsync -avz --progress /usr/home/ kullanici@YENI_IP:/usr/home/
rsync yalnızca değişen dosyaları aktardığı için bunu birkaç kez çalıştırabilirsiniz. Her seferinde aktarılacak veri azalır.
Adım 3 — Veritabanının ilk kopyasını alın
mysqldump -u root -p --single-transaction --databases account player common \
| gzip | ssh kullanici@YENI_IP "gunzip | mysql -u root -pSIFRE"
--single-transaction parametresi, tabloları kilitlemeden tutarlı bir kopya alır; oyuncular oynamaya devam eder.
Adım 4 — Kısa bakım penceresi açın
Bu, kesintinin yaşandığı tek aşamadır ve dakikalarla sınırlı olmalıdır:
- Oyun içinden
/shutdownile girişleri kapatın. - Oyuncuların çıkmasını bekleyin, sonra süreçleri durdurun.
- Son
rsyncve son veritabanı aktarımını yapın. - Yeni sunucuda servisleri başlatın.
Adım 5 — Yönlendirmeyi çevirin
Oyuncuları yeni sunucuya yönlendirin. Eski sunucuyu hemen kapatmayın; bir süre ayakta bekletin.
Adım 6 — Geri dönüş planını hazır tutun
Yeni sunucuda beklenmedik bir sorun çıkarsa eski sunucuya dönebilecek durumda olun. Eski sunucudaki veriyi en az birkaç gün silmeyin. Bu plan olmadan taşımaya başlamayın.
En Kritik Konu: IP Değişikliği ve Client
Metin2 taşımalarında en çok soruna yol açan konu budur ve çoğu rehberde atlanır. Sunucu IP'si değiştiğinde oyuncuların istemcisi eski adrese bağlanmaya devam eder.
İstemcinin bağlanacağı adres serverinfo.py dosyasında tanımlıdır. Yeni IP'ye geçtiğinizde bu dosyanın güncellenmiş hâlini oyunculara ulaştırmanız gerekir.
Üç seçeneğiniz var
| Yöntem | Avantaj | Dezavantaj |
|---|---|---|
| IP'yi taşımak | Hiçbir şey değişmez, client güncellemesi gerekmez | Yalnızca aynı sağlayıcı içinde mümkün |
| Alan adı kullanmak | IP değişse de adres sabit kalır | Baştan böyle kurgulanmış olmalı |
| Yama dağıtmak | Her durumda çalışır | Her oyuncunun yamayı indirmesi gerekir |
En sağlam çözüm ikincisidir: istemcinin doğrudan IP yerine bir alan adına bağlanması. Böylece sunucu taşındığında yalnızca DNS kaydını değiştirirsiniz, oyuncular hiçbir şey yapmaz. Sunucunuzu henüz kurmadıysanız baştan böyle kurgulayın; ileride bir taşıma yaşarsanız bu karar size günler kazandırır.
Yama dağıtmak zorunda kalırsanız, duyuruyu taşımadan önce yapın ve yamayı önceden yayınlayın. Taşıma bittikten sonra "artık şu yamayı indirin" demek, o gün giremeyen oyuncuların bir kısmını kalıcı olarak kaybetmek demektir.
Taşıma Sonrası Doğrulama Listesi
Sunucu açıldı diye taşıma bitmiş sayılmaz. Oyunculara duyurmadan önce şunları tek tek kontrol edin:
- Yeni bir hesapla kayıt olup giriş yapabiliyor musunuz?
- Mevcut bir karakterle giriş yapıp envanter ve depo yerinde mi?
- Kanallar arası geçiş çalışıyor mu?
- Market ve ödeme akışı çalışıyor mu?
- Quest'ler tetikleniyor mu? Birkaçını elle deneyin.
syserrdosyasında yeni hata birikiyor mu?- Zamanlanmış görevler yeni sunucuda tanımlı mı?
- Yedekleme yeni sunucuda çalışıyor mu?
- Güvenlik duvarı kuralları aktarıldı mı, veritabanı portu kapalı mı?
Son madde önemli: yeni sunucular varsayılan ayarlarla gelir ve eski sunucudaki güvenlik yapılandırması otomatik taşınmaz. Port ve güvenlik duvarı ayarları için port rehberimize, saldırı önlemleri için DDoS koruma rehberimize bakın.
Sık Yapılan Hatalar
- Oyuncular çevrimiçiyken son yedeği almak. Yedek alındıktan sonraki her işlem kaybolur; oyuncular eşyalarının gittiğini bildirir.
- Eski sunucuyu hemen kapatmak. Bir sorun çıktığında dönecek yeriniz kalmaz.
- Yalnızca
playerveritabanını taşımak. Karakterler gelir ama kimse giriş yapamaz. - Client güncellemesini sonraya bırakmak. Taşıma teknik olarak başarılı olur, oyuncular yine de giremez.
- Yoğun saatte taşımak. Aynı iş, sabaha karşı yapıldığında çeyreği kadar oyuncuyu etkiler.
- Duyuru yapmamak. Haber verilmeden yapılan bakım, oyuncularda sunucunun kapandığı izlenimi bırakır.
- Doğrulamadan duyurmak. "Taşındık, girebilirsiniz" deyip sorun çıkması, kesintiden daha çok güven kaybettirir.
Taşımayı Biz Yapalım
Yukarıdaki adımların hepsi yapılabilir işler, ama ilk kez taşıma yapan biri için riskli. Özellikle kesintisiz yöntem, birkaç aşamanın doğru sırayla yürütülmesini gerektiriyor.
Mezuhost'a geçişte sunucu taşıma işlemini ücretsiz yapıyoruz. Mevcut sunucunuzun erişim bilgilerini ve tercih ettiğiniz bakım saatini iletmeniz yeterli. Planlamayı, veri aktarımını, yapılandırmayı ve taşıma sonrası doğrulamayı teknik ekibimiz yürütür; geri dönüş planı da hazır tutulur.
Taşıma talebi için iletişim sayfamızdan bize ulaşabilirsiniz. Hangi paketin size uygun olduğundan emin değilseniz mevcut kullanımınızı iletin, birlikte belirleyelim: başlangıç, orta seviye ve profesyonel paketlerimiz farklı ölçekler için hazırlandı.
Özet
Taşımanın zor kısmı veri aktarımı değil, sıralama ve hazırlıktır. Büyük veriyi önceden kopyalayın, bakım penceresini kısa tutun, geri dönüş planını hazır bulundurun ve client tarafını taşımadan önce çözün.
En kalıcı önlem ise baştan alan adı üzerinden bağlanmaktır; o zaman gelecekteki her taşıma yalnızca bir DNS değişikliğinden ibaret olur.



