aslain.dev
0%
01 Hizmetler 02 Hakkımda 03 Projeler 04 Stack 05 Blog 06 İletişim
← Tüm makaleler Metin2

Metin2 Server Açılış Kontrol Listesi: Lansman Öncesi

Bir metin2 server açılış günü, aylar süren hazırlığın tek bir gece içinde test edildiği andır. İlk yüzlerce oyuncu aynı anda kayıt olmaya, giriş yapmaya ve oynamaya başladığında, atladığın en küçük detay bile büyük bir krize dönüşebilir: kayıt formu çöker, ödeme sistemi yang yatırmaz, ilk metin taşı yanlış item düşürür ya da game core ilk lonca savaşında kapanır. Bu rehberde, açılıştan önce tek tek geçmen gereken sistemleri sıralı bir kontrol listesi halinde topladım. Amaç, lansman gecesini sürpriz yerine rutin bir kontrol turuna dönüştürmek.

Sunucu altyapısı ve süreçler

Her şeyden önce makinenin ayakta kalacağına emin olmalısın. Açılış yükü, normal test günlerinden kat kat fazla bağlantı demektir. Kontrol etmen gerekenler:

  • auth, db, game ve channel süreçleri sırayla ve hatasız başlıyor mu? Başlangıç loglarında SYSERR satırı kalmamalı.
  • Birden fazla kanal (channel) kullanıyorsan her birinin port ve core eşleşmesini doğrula. Yanlış eşleşme oyuncuların boş kanala düşmesine yol açar.
  • CPU ve RAM tek bir kanalda 100-200 sahte/test bağlantısı altında nasıl davranıyor? top ya da htop ile izle.
  • Otomatik yeniden başlatma: game core çökerse süreci ayağa kaldıran bir watchdog scripti (ör. basit bir bash döngüsü veya systemd servisi) hazır olsun.
# Süreçlerin gerçekten ayakta olduğunu doğrula
ps aux | grep -E "auth|db|game" | grep -v grep
# Dinlenen portları kontrol et
netstat -tlnp 2>/dev/null | grep -E "1100[0-9]|net"

Register, giriş ve hesap güvenliği

Oyuncunun seninle ilk teması kayıt sayfasıdır; orada yaşanan bir hata doğrudan kayıp oyuncu demektir. Açılıştan önce kayıt akışının tamamını gerçek bir tarayıcıda baştan sona dene:

  • Yeni hesap oluşturma, e-posta doğrulama (varsa) ve ilk giriş sorunsuz çalışıyor mu?
  • Şifreler veritabanında düz metin değil, hash'lenmiş olarak tutuluyor mu? Modern bir password_hash() kullan, eski mysql_password tek başına yeterli güvence değildir.
  • Kayıt formu SQL injection ve XSS denemelerine karşı korunuyor mu? Hazır (prepared) sorgular kullandığından emin ol.
  • Aynı IP'den saniyeler içinde yüzlerce hesap açan bot kayıtlarına karşı basit bir hız sınırı (rate limit) veya captcha var mı?

Ödeme ve cash shop sistemi

Çoğu sunucu açılış gecesinde gelir kapısını açar. Burada bir hata hem güveni hem parayı yakar. Test ederken hem başarılı hem başarısız senaryoları dene:

  • Ödeme sağlayıcısından gelen callback/webhook doğru hesaba doğru miktarda cash/coin yüklüyor mu?
  • Aynı ödeme bildirimi iki kez gelirse sistem çift yükleme yapmıyor mu? (idempotency — işlem kimliğini bir kez işle.)
  • Cash shop içinden item satın alma, envantere düşme ve cash bakiyesinden düşme adımları tutarlı mı?
  • Başarısız ödemede oyuncuya item gitmemeli ama bakiye de eksilmemeli.

Mümkünse gerçek parayla küçük bir test işlemi yapıp uçtan uca akışı bir kez kendi gözünle doğrula.

Item, drop ve ekonomi dengesi

Açılış ekonomisi ilk haftalarda kalıcı iz bırakır. Aşırı cömert bir drop ya da bozuk bir bonus, ekonomiyi geri dönülmez biçimde şişirebilir. Kontrol et:

  • item_proto ve mob_proto tutarlı mı? Eksik vnum, yanlış anti-flag ya da hatalı bonus tanımı game core'u çökertebilir.
  • Metin taşları, boss'lar ve grandboss'ların drop tabloları beklediğin item'ları beklediğin oranda düşürüyor mu? Birkaç metin kırıp gözlemle.
  • Yang ve item çoğaltma (dupe) açıkları kapalı mı? Özellikle takas, market/offline shop ve mail sistemlerini stres altında dene.
  • EXP, drop ve yang çarpanları (CONFIG ve ilgili ayarlar) ilan ettiğin değerlerle birebir aynı mı? Oyuncular bunu ilk gün fark eder.

PvP, sistemler ve quest'ler

Bir Metin2 sunucusunun kalbi PvP ve sistemlerdir. Açılıştan önce öne çıkan her mekaniği canlı bir karakterle test et:

  • Skill balance: hiçbir sınıf tek vuruşta öldürmüyor ya da tamamen işe yaramaz durumda değil. Birkaç farklı sınıf eşleştir.
  • Lonca savaşı ve arena: kalabalık altında çökme oluyor mu? Bu genellikle ilk büyük çökmenin yaşandığı yerdir.
  • Aktif sistemler (kostüm, binek, pet, simya, kuşak, switchbot vb.) tek tek açılıp kullanılıyor mu?
  • Level ve başlangıç quest'leri: yeni karakter sıfırdan oynanabilir bir akışla ilerliyor mu? Diyaloglar, ödüller ve quest timer'lar çalışıyor mu?

Yedekleme, güvenlik ve izleme

Açılış öncesi en çok ihmal edilen ama en kritik adım budur. İlk gün bir şey ters giderse, geri dönebileceğin bir noktanın olması gerekir.

  • Otomatik MySQL yedeği kurulu ve gerçekten çalışıyor mu? Sadece kurmak yetmez; bir yedeği geri yükleyebildiğini test et.
  • DDoS koruması ve firewall (ör. iptables kuralları) devrede mi? Açılış günü saldırı mıknatısıdır.
  • SSH erişimi anahtar tabanlı ve root parola girişi kapalı mı?
  • Açılış gecesi syserr.txt ve syslog.txt'i canlı izleyecek bir terminal hazır mı? Sorunu loga düştüğü anda görmek istersin.
# Yedeği zamanlanmış göreve bağla (örnek)
mysqldump -u root -p --single-transaction player account > backup_$(date +%F).sql
# Açılış gecesi logları canlı izle
tail -f syserr.txt syslog.txt

Sık Sorulan Sorular

Açılıştan ne kadar önce test sunucusu açmalıyım?

İdeali, lansmandan en az bir hafta önce kapalı bir beta/test sunucusu açıp güvendiğin birkaç oyuncuyla gerçek koşulları taklit etmektir. Stres testi olmadan, sistemlerin tek bir oyuncuyla çalışması açılış yükünde de çalışacağı anlamına gelmez.

Açılışta en sık hangi sistem çöker?

Tecrübeme göre ilk büyük çökmeler genellikle iki yerde olur: aynı anda gelen yoğun kayıt/giriş trafiği ve ilk kalabalık lonca savaşı/arena. İkisini de gerçek bir kalabalıkla simüle etmeden açılışa girmek risklidir.

Drop ve çarpan ayarlarını sonradan değiştirebilir miyim?

Teknik olarak evet, ama ekonomiyi etkileyen ayarları (yang, drop, EXP) açılıştan sonra düşürmek oyuncuda büyük tepki yaratır. Bu yüzden açılış değerlerini baştan dikkatli seç; sonradan artırmak düşürmekten her zaman daha kolaydır.

Açılışa hazırlanıyorsan, sunucunun tüm sistemlerini lansman öncesi tek tek denetleyip kritik açıkları kapatmana yardımcı olabilirim. Metin2 server kurulumu, stabilite ve açılış denetimi için benimle iletişime geç.

Bu kategorideki tüm yazılar →

Devamı için