Metin2 Sunucu Operatörü için DDoS Koruma: 9 Yıllık Deneyimden Pratik Mitigation Reçetesi

Metin2 Sunucu Operatörü için DDoS Koruma: 9 Yıllık Deneyimden Pratik Mitigation Reçetesi

Metin2 oyun sunucusu odasinda calisan network altyapisi ve donanim

Metin2 sunucu operatörlüğü 2016 yılında başladım; ilk yıllarda bir arkadaşımın server’ında GM olarak çalışırken, sonraki yıllarda kendi private server’larımı kurdum, son 5 yıldır birden çok ticari Metin2 ekibinin DDoS mitigation ve altyapı danışmanlığını yapıyorum. Bu süre boyunca Metin2’ye yönelik on binlerce DDoS saldırısı izledim, müdahale ettim, çözüm geliştirdim. Bu yazı, o 9 yıllık deneyimden çıkan pratik bir reçete; akademik bir tez değil. Metin2 sunucusu işleten arkadaşlarımıza, doğrudan üretim ortamında uygulanabilecek bir mitigation rehberi sunmayı amaçlıyorum.

Neden Metin2 Sunucuları Saldırıya Bu Kadar Açık?

Metin2 oyununun saldırıya açık olmasının yapısal nedenleri var:

  • Rekabet odaklı pazar: Türkiye’de irili ufaklı 200+ aktif private Metin2 sunucusu var. Yeni server açıldığında, rakip server sahipleri yeni server’ı saldırı altına alıp gelişmesini engellemeye çalışır. “DDoS ile rakip yıpratma” sektörde yaygın bir uygulama.
  • Oyuncu husumeti: Bir sunucuda banlanan oyuncu, kişisel hıncını sunucu sahibine DDoS saldırısı ile yöneltir. Genelde bunlar amatör script kiddie saldırıları ama yine de zahmetli.
  • Protokol zayıflıkları: Metin2 protokolü 2004 tasarımı; modern güvenlik prensiplerinden uzak. Login flood, packet spam, custom packet injection saldırılarına açık.
  • Hosting maliyet kısıtı: Çoğu Metin2 sunucusu ortalama oyuncu sayısı 50-300 arası, gelir sınırlı. Sahipleri profesyonel DDoS koruma satın alamıyor. Maliyet-bilinçli çözümler gerekiyor.
  • Sosyal medya görünürlüğü: Discord, Facebook grupları, forum gibi platformlarda sunucu reklamı yapan operatörler rakipleri için “kolay hedef” haline geliyor.

Bunların hepsini bilen biri olarak şunu rahatlıkla söyleyebilirim: Metin2 sunucu operatörü olmak, sürekli DDoS savunması yapmaya hazır olmak demektir. 9 yıllık deneyimde, saldırı görmemiş tek bir hafta hatırlamıyorum.

Metin2 Trafik Profili ve Saldırı Vektörleri

Metin2 protokolü TCP üzerinden çalışır, ancak login server (port 13000 civarı) ve game server (port 11000 civarı) farklı vektörler için açıktır. Bu portları ve davranışlarını anlamak savunma stratejisinin temelidir.

PortServisTipik TrafikYaygın Saldırı
11002Auth ServerDüşük (saniyede 1-5 paket/oyuncu)Login flood, credential brute force
13000Login/Channel ServerOrta (saniyede 5-15 paket/oyuncu)Channel selection flood
13001-13099Game Channel ServersYüksek (saniyede 20-60 paket/oyuncu)Custom packet flood, position spam
11900P2P ServerDüşük (sadece sunucular arası)Çok az saldırı
80/443Web (kayıt, panel)OrtaHTTP flood, SQL injection
3306MySQLİç (dışa açılmamalı)Eğer açıksa: brute force

Yıllar içinde gözlemlediğim en yaygın saldırı tipleri:

  1. Login flood: 13000 portuna binlerce eş zamanlı TCP bağlantısı açıp login isteği yapmak. Auth server’ın bağlantı havuzu doldurur, gerçek oyuncu giriş yapamaz.
  2. Position packet spam: Game server’a sahte pozisyon paketleri göndermek. Game server her paketi işlemek zorunda; CPU tükenir.
  3. Custom packet flood: Tersine mühendislikle Metin2 protokolünü çözen saldırgan, geçerli görünen ama sunucuyu yıpratan paketler gönderir. Item duplikasyon istekleri, sürekli teleport istekleri gibi.
  4. Web panel saldırısı: Kayıt sayfasına binlerce sahte kayıt isteği veya admin panel brute force.
  5. UDP amplification (büyük saldırı): Sunucu önündeki tüm hattı tıkamayı hedefler. Daha ciddi saldırgan grupları kullanır.

Metin2 oyuncusu icin esports bilgisayar kurulumu ve oyun ortami

Vaka 1: Yeni Açılan Server’a 48 Saatlik Saldırı (2023)

2023 Eylül’ünde danışmanlık yaptığım bir Metin2 ekibi yeni bir server açtı. İlk gün 800 oyuncu girdi, Discord’da ilan paylaşıldı, Facebook reklamları yapıldı. 48 saat boyunca aralıksız DDoS altında kaldılar. Saldırı detayları:

  • Pic saldırı boyutu: 28 Gbps (mostly UDP flood)
  • Saldırgan IP sayısı: yaklaşık 8.500 (rotating residential proxy)
  • Hedef portlar: 13000 (login), 13001 (game ch1), 80 (web)
  • Saldırı süresi: ~52 saat sürekli, 5 dakikalık molalar

Ekibin hostingi temel DDoS koruma sunuyordu (10 Gbps’ye kadar mitigation). Saldırı 28 Gbps’e ulaşınca hosting upstream’i hattı karaya aldı; sunucu tamamen erişilemez oldu. Oyuncuların %60’ı ilk 24 saatte rakip server’lara geçti.

İlk müdahale: hosting değiştirme. Daha yüksek mitigation kapasitesi sunan bir DC’ye taşıdık (50 Gbps mitigation). Sunucu önüne MikroTik CCR2004 koyduk. Aşağıdaki konfigürasyonu uyguladık:

/ip firewall raw
# UDP amplification kaynaklarini drop
add chain=prerouting action=drop protocol=udp src-port=11211,389,1900,123,19 
    comment="UDP amplification kaynak portlari"

# Fragmented UDP drop
add chain=prerouting action=drop protocol=udp fragment=yes

# Bilinen saldirgan IP listeleri
add chain=prerouting action=drop src-address-list=blocked-ips 
    comment="Manuel block listesi"

# Per-IP TCP rate limit (login flood koruma)
add chain=prerouting action=add-src-to-address-list address-list=login-flooders 
    address-list-timeout=30m protocol=tcp dst-port=13000 
    connection-state=new connection-limit=5,32 
    comment="5+ essamanli login baglantisi flood"

add chain=prerouting action=drop src-address-list=login-flooders 
    protocol=tcp dst-port=13000

# Game port baglanti rate
add chain=prerouting action=add-src-to-address-list address-list=game-flooders 
    address-list-timeout=10m protocol=tcp dst-port=13001-13099 
    connection-state=new connection-limit=3,32 
    comment="Game portunda 3+ baglanti"

add chain=prerouting action=drop src-address-list=game-flooders 
    protocol=tcp dst-port=13001-13099

Saldırının ikinci dalgasında saldırgan port 80 web panele döndü. WordPress kayıt sayfasına HTTP flood başlattı. Cloudflare ücretsiz katmanını web panel için aktive ettik; “I’m Under Attack” modu açıldı. Bu, JavaScript challenge ile bot trafiğini eliyor.

48 saat sonunda saldırgan vazgeçti. Toplam zarar: oyuncu kaybı %35 (geri kazanılabildi), reklam bütçesi $400 boşa gitti, ek hosting maliyeti $250. Toplam $650 maliyetle savunulan saldırının saldırgan tarafındaki maliyeti tahmini $200 (stresser servisi). Saldırgan başarısız oldu ama operatör de zarara uğradı. Bu nedenle proaktif koruma her zaman reaktif müdahaleden ucuzdur.

Vaka 2: Banlanan Oyuncunun 3 Aylık Husumetli Saldırısı (2024)

2024 ortasında, bir başka müşteri ekibinde GM cheating eden bir oyuncu banlandı. Oyuncu Discord’da küfür savurdu, sunucuya “DDoS yapacağım” tehditleri etti. Görmezden gelindi. Bir hafta sonra saldırı başladı. İlk başta küçük SYN flood saldırılarıyla (1-2 Gbps) günde 3-5 kez. Aylık stresser aboneliği aldığı belliydi.

Bu tarz kişisel husumetli saldırılar genelde küçük boyutlu ama sürekli. Çözüm BGP RTBH değil (çünkü kullanmayız her küçük saldırıda), MikroTik tarafında otomatik mitigation. Aşağıdaki kural seti devreye girdi:

# Otomatik DDoS algilama scripti
/system script
add name=auto-mitigation source={
    :local pps [/interface monitor-traffic ether1-wan once as-value]
    :local rxpps ($pps->"rx-packets-per-second")

    # Normal trafik 20K pps, 100K+ saldiri belirtisi
    :if ($rxpps > 100000) do={
        :log warning "DDoS algilandi: $rxpps pps, mitigation aktif"

        # Asagidaki kurallari aktiflestir
        /ip firewall raw set [find comment="ddos-mode"] disabled=no
        /ip firewall filter set [find comment="ddos-mode"] disabled=no

        # SMS ile uyari gonder
        /tool sms send phone-number="+90555XXXXXXX" message="Metin2 server DDoS"
    } else={
        /ip firewall raw set [find comment="ddos-mode"] disabled=yes
        /ip firewall filter set [find comment="ddos-mode"] disabled=yes
    }
}

/system scheduler
add name=ddos-watch interval=10s on-event=auto-mitigation

“ddos-mode” yorumlu kurallar saldırı yokken devre dışı (CPU tasarrufu), saldırı algılanınca devreye giriyor. Bu yaklaşım sayesinde 3 ay boyunca operatör ekibi gece uyanmadan saldırılar otomatik karşılandı. Hiç oyuncu kaybı yaşanmadı.

MikroTik + Linux iptables Hibrit Mimari

Metin2 sunucularında saf MikroTik yeterli değil. Çünkü oyun mantığı seviyesinde (örneğin “bu paket geçerli bir login isteği mi?”) MikroTik karar veremez. Hibrit mimari kurarız:

Internet
   |
   v
[ MikroTik CCR2004 ] ---> L3/L4 filtreleme: amplification, rate limit, geo-IP
   |
   v
[ Linux Gateway (iptables/nftables) ] ---> protocol-aware filtreleme
   |
   v
[ Metin2 Server (auth, game1, game2, ...) ]

Linux gateway’de iptables ile Metin2-spesifik kontroller yapılır. Örneğin login server’a saniyede 3’ten fazla denemede başarısız olanları otomatik 1 saat banlamak için Fail2ban benzeri bir entegrasyon:

# iptables-extensions: recent module ile login flood koruma
iptables -A FORWARD -p tcp --dport 13000 -m state --state NEW 
    -m recent --set --name LOGINS --rsource

iptables -A FORWARD -p tcp --dport 13000 -m state --state NEW 
    -m recent --update --seconds 60 --hitcount 5 --name LOGINS --rsource 
    -j REJECT --reject-with tcp-reset

# connlimit ile per-IP eszamanli baglanti
iptables -A FORWARD -p tcp --dport 13000 
    -m connlimit --connlimit-above 3 --connlimit-mask 32 -j DROP

# SYN flood koruma synproxy ile
iptables -t raw -A PREROUTING -p tcp -m tcp --dport 13000 -m conntrack 
    --ctstate INVALID,UNTRACKED -j SYNPROXY --sack-perm --timestamp 
    --wscale 7 --mss 1460
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP

SYNPROXY, Linux çekirdeğinin SYN cookies’ten daha gelişmiş bir SYN flood koruma mekanizmasıdır. Saldırı altında bile yasal TCP bağlantılarının açılmasına izin verir.

Metin2 Game Engine Tarafında Korumalar

Network seviyesi koruma tek başına yeterli değil. Game engine tarafında da packet validation ve rate limit gerekiyor. Yıllar içinde geliştirdiğimiz patch’ler:

  • Position packet rate limit: Game server kodu içinde, her oyuncu için saniyede max 30 position packet kabul. Fazlası işlemden çıkarılır.
  • Whisper/chat rate limit: 5 saniyede 3 mesaj limiti. Spam botlar otomatik banlanır.
  • Item interaction rate limit: Item açma, kombinasyon yapma gibi işlemler saniyede 2 ile sınırlı.
  • Login attempt cooldown: Yanlış şifre girişinden sonra 5 saniye cooldown, 5 deneme sonrası IP geçici ban.
  • Packet size validation: Beklenmedik boyutta paket gelirse bağlantı kesilir. Genelde exploit denemesi göstergesidir.

Bu patch’ler Metin2 source code (M2 binary) içinde yapılır. C++ olarak yazılmış oyun motoru, packet handler fonksiyonlarında bu kontrolleri eklemek için ehil bir geliştirici gerekir. Hazır olmayan ekipler için kapalı kaynak modifiye binary’ler de mevcuttur.

Metin2 ekibinin Discord uzerinde toplulukla iletisim kurmasi DDoS sirasinda

Oyuncuyu Kaybetmeden Mitigation: Hassas Denge

Çoğu DDoS koruma çözümünün ortak hatası, agresif filtreleme yapıp yasal oyuncuları engellemek. Metin2 oyuncu kitlesi sabırsızdır; sunucuya 2 kez giremezse rakibe geçer. Bu yüzden mitigation politikası “false positive minimum” hedefli olmalı.

9 yıllık deneyimden öğrendiğim altın kurallar:

  1. Türkiye dışından geo-block YAPMA. Metin2 oyuncu kitlesinin önemli kısmı Almanya, Hollanda, Belçika’da yaşıyor. Geo-block uygularsanız bu oyuncuları kaybedersiniz.
  2. VPN trafiğini block ETME. Bazı oyuncular ISP’lerinin yavaş routing yüzünden VPN kullanır. VPN block yapmak yasal müşteriyi kaybeder.
  3. Threshold’ları çok sıkı tutma. Saniyede 5 bağlantı yerine 10-15 koy. Birkaç saldırı paketi geçer ama yasal oyuncuyu kaybetmezsin.
  4. İlk saldırıda hosting değiştirme. Önce mevcut koruma kapasitesini analiz et; saldırı hosting kapasitesinin altındaysa otomatik mitigation yeterli.
  5. Saldırı sonrası açıklama yap. Discord’da “Saldırı altındaydık, koruma devrede, oyun normale döndü” açıklaması güveni korur.
  6. Yedek server’ı hazır tut. Farklı bir DC’de yedek bir Metin2 server hazır olmalı. Saldırı uzun sürerse oyuncuları yedeğe yönlendir.

Hosting Seçimi: DDoS Mitigation Açısından Türkiye Pazarı

Metin2 sunucusu için hosting seçimi DDoS savunmasının yarısıdır. Pazarda gözlemlerime göre:

  • Yerli sağlayıcılar (Radore, Vargonen, Türk Telekom): Düşük latency Türkiye için (10-30ms), DDoS mitigation 10-30 Gbps. Aylık $50-200 oyun sunucusu paketleri.
  • Almanya (Hetzner, OVH Almanya): Avrupa için iyi latency (30-50ms TR’den), büyük DDoS mitigation (1+ Tbps OVH’de). Aylık $40-150 paketler.
  • Fransa (OVH Game): Specifik oyun DDoS koruması, Anti-DDoS GAME modu. Aylık $60-200 paketler. Metin2 için OVH ekosistemi popülerdir.
  • Hollanda (LeaseWeb, WorldStream): Stabil latency, orta mitigation. Aylık $60-150 paketler.

Tavsiyem: ilk başlangıçta OVH Game serisi mantıklı (1 Tbps mitigation, makul fiyat). Sunucu büyüdükçe (500+ aktif oyuncu) Almanya/Hollanda hibrit altyapıya geçilebilir.

Acil Müdahale Komut Takımı

Operatör olarak saldırı anında elinizin altında olması gereken hazır komutlar:

# MikroTik tarafinda
# En cok trafik gonderen IP'leri gor
/ip firewall connection print where dst-port=13000 count-only
/tool torch interface=ether1-wan src-address=0.0.0.0/0

# Belirli IP'leri acil block
/ip firewall raw add chain=prerouting action=drop 
    src-address=AAA.BBB.CCC.DDD comment="Acil block"

# Tum login portunu kapat (son care)
/ip firewall raw disable [find comment="login-port-open"]

# Linux gateway tarafinda
# En cok baglanan IP'leri gor
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head -20

# Belirli IP'yi block
iptables -I INPUT 1 -s AAA.BBB.CCC.DDD -j DROP

# /etc/csf/csf.deny dosyasina ekle (CSF firewall kullanan icin)
csf -d AAA.BBB.CCC.DDD "DDoS source"

# Metin2 server tarafinda
# Aktif baglanti sayisi
ps aux | grep game | wc -l
# Server log gozlemi (son 100 satir)
tail -f /metin2/server/logs/syserr.log

Bu komutları bir cheat sheet olarak yazdırın, sunucu odasının duvarına asın. Saldırı sırasında saniyeler önemlidir; komutları aramak zaman kaybıdır.

Oyuncu İletişimi: Saldırı Sırasında Ne Yapmalı?

Saldırı teknik bir problem ama sosyal bir kriz. Oyuncularla iletişim mitigation kadar önemli. Tavsiyelerim:

  • Discord’da “duyurular” kanalında saldırı başlangıcında uyarı yap.
  • İletişimi açık tut; “sorun var, çözmek için çalışıyoruz, X saat sonra güncelleme” gibi.
  • Asla saldırgan ile public diyalog kurma; bu onun motivasyonunu artırır.
  • Saldırı sonrası teşekkür mesajı paylaş; “sabrınız için teşekkürler, hediye etkinliği başlattık” gibi pozitif kapanış.
  • Saldırı süresi uzunsa, oyuncuya küçük bir tazminat (bonus exp, event, küçük item) verin. Sadakat artar.

Metin2 binary uzerinde packet handler gelistirme C++ kod ortami

Forensik Analiz: Saldırgan Tespiti Mümkün mü?

Soru: “Bu saldırının kim yaptığını bulup şikayet edebilir miyim?” Cevap: Çoğu durumda hayır. Stresser servisleri offshore’da çalışır, IP rotation yapar, ödemeler kripto ile alınır. Ancak şu durumlarda saldırgan tespit edilebilir:

  • Amatör script kiddie: Discord’da “ben yapacağım” diye övünen, IP koruması bilmeyen oyuncular. Kendi gerçek IP’lerini sızdırırlar.
  • Forum post’lar: Saldırı sonrası rakip server forumlarında “X server kapandı” gibi paylaşımlar saldırgan profili veriri.
  • Stresser servisi loglar: Eğer kullanılan stresser servisi yakalanırsa (FBI Operation PowerOFF gibi), müşteri listeleri açıklanır.

Forensik delil için MikroTik PCAP dosyaları, Linux gateway iptables log’ları, Metin2 server log’ları en az 6 ay saklayın. Yasal süreç başlatma kararı verilirse, bu kanıtlar kritik olur. USOM (Ulusal Siber Olaylara Müdahale Merkezi) DDoS saldırısı şikayetlerini değerlendirir; etkili sonuç almak için yetkili ekiplerle çalışmak gerekir.

SSS: Metin2 Sunucu DDoS Koruma Hakkında

Yeni Metin2 sunucusu açacağım, hangi koruma şart?

Minimum: OVH Game serisi hosting (1 Tbps mitigation), Cloudflare ücretsiz web için, sunucu önünde MikroTik kuralları. Aylık toplam $60-100 yatırım, ilk 6 ayı rahat geçirir.

Hosting değiştirmek saldırıyı durdurur mu?

Saldırgan IP’nizi takip edecektir; ancak farklı bir DC, farklı bir IP block, farklı upstream provider değişimi 1-2 saatlik nefes verir. Saldırgan yeni IP’yi bulup tekrar başlar genelde.

Geo-block yapmalı mıyım?

Çoğunlukla hayır. Metin2 oyuncu kitlesi Türkiye + Avrupa + ABD’de yaygın. Geo-block yapmak yasal oyuncuyu engeller. Sadece kritik altyapı portları (SSH, MySQL yönetim) için geo-restrict mantıklı.

VPN’den oynayan oyuncuları nasıl tanırım?

IP reputation veritabanları (IPHub, AbuseIPDB, IPQualityScore) VPN/proxy IP’lerini tanır. Hizmet kullanmak için ücretli abonelik gerekir (~$30/ay). Ücretsiz alternatif: kendi sunucularımızda VPN provider IP listelerini manuel toplamak.

Saldırıyı saldırı yaparak cevaplayabilir miyim?

Hayır, yasal değil. Türkiye’de 5237 TBK kapsamında siber saldırı suç. Karşı saldırı yapmak sizi de hukuki olarak suça sokar. Tek meşru yöntem savunma.

Ücretsiz DDoS koruma var mı?

Web tarafı için Cloudflare ücretsiz katmanı çok iyi. Oyun sunucusu için tamamen ücretsiz seçenek yok; ancak temel hosting paketlerinde dahil edilen mitigation kullanılabilir.

Kaç oyuncuyu kaybetmek normaldir?

Saldırı süresine bağlı. 1 saatlik saldırıda %5-10, 24 saatlik saldırıda %20-40 oyuncu kaybı normal. Saldırı sonrası iletişim ve hediye etkinlikleri ile %50-80’i geri kazanılabilir.

Metin2 binary’sine packet validation eklemek için kim yardımcı olur?

Türkiye’de Metin2 source code üzerinde çalışan birkaç C++ geliştirici var. Forumlar (epvp, metin2dev) üzerinden iletişim kurulabilir. Paket bazında fiyatlandırma genelde $100-500 arası.

Sonuç: Metin2 Sunucusu Yönetmek Bir Maraton

9 yıl boyunca Metin2 sunucu operatörlüğü yapan birisinden tavsiye: DDoS saldırısı sizi yıldırmasın. Saldırı, başarılı bir server’ın olmazsa olmaz parçasıdır. Önemli olan saldırıya hazır olmak, doğru altyapıyı kurmak, oyuncularınızla iletişimi açık tutmak ve sürekli öğrenmek. Bu yazıdaki reçeteler 9 yıllık deneyimden, on binlerce saldırıdan damıtılmış pratik çözümlerdir. Yine de unutmayın: her server farklıdır, her saldırı farklıdır. Bu reçeteleri kendi koşullarınıza uyarlayın, sürekli baseline’ınızı ölçün, threshold’ları kalibre edin. Ve en önemlisi: bir DDoS uzmanına danışmaktan çekinmeyin. Yıllık $500-1000 danışmanlık ücreti, bir tek saldırının vereceği zararın küçücük bir kısmıdır. Başarılar dilerim, görüşürüz oyun içinde.

Sahaya Yansıyan İlgili İçerikler

Konuyla bütünleşik olarak okumanızı önerdiğimiz içerikler: 2026 DDoS Tehdit Manzarası: Trendler, Saldırgan Profili ve Korunma Yatırımı Mantığı; TCP Flood Saldırıları: MikroTik 3 Katmanlı Savunma; UDP Flood Saldırılarının Anatomisi ve MikroTik ile Aşırı Düşük Latency Koruma; MikroTik ile DDoS Koruması: Volumetric, Protocol ve Layer-7 Saldırıları için Katmanlı Savunma; Sunucu Önünde MikroTik: DDoS Mitigation, Rate Limit ve Geo-IP Filtreleme Mimarisi.


Kaynaklar ve Daha Fazla Bilgi

Bu yazıdaki konuları derinleştirmek için aşağıdaki otoriter kaynaklara başvurabilirsiniz:

Mikrotikbox

Her projede size özel çözümler

Her projede size özel çözümler

Müşterilerimizin ihtiyaçlarını en üst düzeyde karşılamak için her projeye mükemmeliyetçi bir anlayışla yaklaşıyoruz. Teknolojinin en yeni ve en güçlü araçlarını kullanarak, her adımda kaliteyi ve verimliliği ön planda tutuyoruz. Bu sayede, standart çözümler yerine her müşterimize özel, ihtiyaçlarına tam anlamıyla uygun ve uzun vadeli başarı sağlayacak projeler geliştiriyoruz. Yenilikçi düşünce yapımız ve titiz çalışma prensiplerimizle, beklentileri aşan sonuçlar sunmayı hedefliyoruz.