Selam, Şunu çok görüyorum: sunucu sahibi Velocity veya BungeeCord kurmuş, arkasına lobby, survival, skyblock ne varsa dizmiş. Güzel. Ama hepsini aynı makineye koymuş. Proxy de aynı yerde, oyun sunucuları da aynı yerde, bazen veritabanı bile aynı yerde. Sonra "proxy kurdum, güvendeyim" diye düşünüyor. Aslında değil.
Çünkü proxy'nin tek görevi oyuncuyu bir sunucudan öbürüne göndermek değil. En kritik görevlerinden biri, asıl oyun sunucularını dış dünyadan izole etmek. Oyuncular sadece proxy'yi görmeli. Arka taraftaki survival, lobby, skyblock sunucuları doğrudan internete açık olmamalı. Her şeyi aynı makineye koyunca bu mantık büyük ölçüde bozuluyor.
Üstelik olay sadece güvenlik de değil. DDoS, bot saldırısı, kaynak paylaşımı, TPS düşüşü, port taraması derken bir sürü problem üst üste biniyor. Bu yüzden bu konuyu net anlatmak lazım.
Aynı Makinede Kurunca Ne Kaybediyorsunuz?
Diyelim proxy, lobby, survival ve veritabanı aynı makinede. IP aynı, sadece portlar farklı. Kağıt üstünde çalışıyor gibi duruyor ama pratikte birkaç ciddi sorun çıkıyor.
DDoS geldiğinde her şey birlikte etkileniyor.
Saldırı proxy IP'sine geliyor ama aynı IP'nin arkasında bütün servisler çalıştığı için aslında tüm makine yük altında kalıyor. Sonuç ne oluyor? Proxy zorlanıyor, oyuncular bağlanamıyor, bağlı olanlar da lag hissediyor. Yani sadece giriş değil, TPS de etkileniyor.
Proxy'nin koruma mantığı zayıflıyor.
Proxy normalde dış trafiği ilk karşılayan katman olmalı. Ama aynı makinede çalıştığında saldırı trafiği zaten aynı CPU'yu, aynı RAM'i, aynı ağ hattını yiyor. Teoride proxy önde duruyor, pratikte bütün sistem darbe alıyor.
Port taraması ile arka servisler bulunabiliyor.
Birisi elindeki IP üzerinde port taraması yaparsa, açık bırakılmış alt sunucu portlarını görebilir. Firewall zayıfsa veya yanlış yapılandırıldıysa proxy'yi atlayıp doğrudan oyun sunucusuna erişmeye çalışabilir.
Kaynaklar birbirini boğuyor.
Survival tarafında ağır chunk yüklenmesi oluyor, aynı anda proxy de bot saldırısı karşılıyor, veritabanı sorgu atıyor. Sonra herkes birbirinin performansını yemeye başlıyor. Bu tarz yapılar küçük yükte idare eder ama yoğunluk artınca saçmalamaya başlar.
Doğru Mimari Nasıl Olmalı?
En temiz yapı en az iki ayrı makineyle kurulur.
Makine 1: Proxy sunucusu
Burada sadece Velocity veya BungeeCord çalışır. Oyuncular sadece bu makineye bağlanır. DDoS koruması da burada odaklanır.
Makine 2: Oyun sunucuları
Lobby, survival, skyblock, minigame ne varsa burada çalışır. Bu makinenin portları dış dünyaya açık olmaz. Sadece proxy makinesinden gelen bağlantılar kabul edilir.
İsterseniz daha büyük yapılarda veritabanını da ayrı sunucuya alırsınız ama ilk kritik ayrım proxy ile oyun sunucularını ayırmaktır. En büyük kazanç burada geliyor.
Proxy Makinesi Çok Güçlü Olmak Zorunda mı?
Hayır, çoğu zaman değil. Ama burada küçük bir detayı kaçırmamak lazım.
Sade bir Velocity kurulumu için 1 GB RAM çoğu durumda yeterli olabilir. Ama işin içine LuckPerms, AntiBot eklentileri, bakım eklentileri, queue sistemleri, tab list eklentileri veya ekstra proxy araçları girince RAM tüketimi artar. O yüzden pratikte 2 GB RAM daha güvenli bir başlangıçtır.
Yani "1 GB her durumda yüzlerce oyuncuya yeter" demek doğru değil.
Doğrusu şu:
Sade proxy için 1 GB çoğu zaman yeter
Birkaç eklentiyle birlikte 2 GB daha mantıklı
Ağır anti-bot veya ekstra servislerle daha fazlası gerekebilir
Adım Adım Kurulum Mantığı
1. Proxy makinesini hazırlayın
İlk makineye sadece Velocity veya BungeeCord kurun. Başka şeyleri buraya doldurmayın. Proxy sunucusu hafif kalmalı.
Velocity kullanıyorsanız temel yapı şöyle görünür:
bind = "0.0.0.0:25565"
player-info-forwarding-mode = "modern"
[servers]
lobby = "OYUN_SUNUCU_IP:25566"
survival = "OYUN_SUNUCU_IP:25567"
try = ["lobby"]Burada önemli nokta şu:
player-info-forwarding-mode = "modern" ayarı [servers] bloğunun içinde değil, üst seviyede olmalı. Yoksa okuyup yanlış yere yazan çok oluyor.
Bu makinede mümkünse DDoS koruması olsun. TCPShield gibi servisler de burada çok işinize yarar.
2. Oyun sunucularını ayrı makineye kurun
İkinci makinede lobby, survival, skyblock gibi asıl oyun sunucuları çalışsın. Her biri kendi portunda çalışabilir ama bu portlar internete açık olmamalı.
Burada firewall en kritik nokta.
Örnek mantık şu:
Herkese kapat
Sadece proxy IP'sinden gelen bağlantılara izin ver
SSH erişimini de mümkünse kendi IP'nizle sınırla
Örnek UFW mantığı:
ufw default deny incoming
ufw allow from SIZIN_IP to any port 22
ufw allow from PROXY_IP to any port 25566
ufw allow from PROXY_IP to any port 25567
ufw allow from PROXY_IP to any port 25568
ufw enableBu kurallardan sonra dışarıdan biri alt sunucu portlarına doğrudan erişemez. Sadece proxy erişebilir.
3. Forwarding ayarlarını doğru yapın
Velocity tarafında modern forwarding kullanıyorsanız, oyun sunucularında da bunu açmanız gerekir.
Paper tarafında paper-global.yml içinde ilgili bölüm şöyle olmalı:
proxies:
velocity:
enabled: true
online-mode: true
secret: "BURAYA_SECRET"Velocity'nin oluşturduğu secret ile buradaki secret aynı olmalı. Bu anahtar eşleşmezse bağlantı kabul edilmez. Bu da proxy dışı sahte erişim denemelerine karşı önemli bir katman oluşturur.
BungeeCord kullanıyorsanız yapı biraz daha eski mantıkla ilerler. ip_forward: true ve Spigot/Paper tarafında bungeecord: true gerekir. Ama Bungee tarafında modern forwarding yok, bu yüzden firewall daha da önemli hale gelir.
Neden Bu Kadar Önemli?
Çünkü bu ayrım sadece "daha profesyonel dursun" diye yapılmıyor. Gerçekten sonuç üretiyor.
Ayrı proxy yapısında:
DDoS saldırısı doğrudan oyun sunucusunu daha zor etkiler
Bot saldırılarında arka servisler daha iyi korunur
Alt sunucuların gerçek IP'si gizli kalır
Port taramasıyla doğrudan erişim riski azalır
Oyun sunucularının TPS'i saldırı anlarında daha stabil kalır
Kaynak paylaşımı daha kontrollü olur
Kısacası sistem daha dayanıklı hale gelir.
Bütçem Yetmiyorsa Ne Yapayım?
Burada güzel taraf şu: proxy için ayrı makine kurmak sanıldığı kadar pahalı değil. Proxy çok ağır bir servis değil. Çoğu zaman düşük kaynaklı küçük bir VPS iş görür.
Yani büyük oyun makinesinin yanına küçük bir proxy makinesi eklemek, toplam maliyeti çok az artırırken güvenlik ve stabiliteyi ciddi şekilde yükseltir.
Hiç imkan yoksa en azından aynı makinede şu üç şeyi yapın:
Alt sunucu portlarını dış dünyaya kapatın
Sadece proxy üzerinden erişim olacak şekilde firewall kullanın
Modern forwarding kullanın
Bu ideal çözüm değil ama tamamen açık bırakmaktan çok daha iyidir.
Veritabanı Nerede Durmalı?
Başlangıçta veritabanı oyun sunucularıyla aynı makinede kalabilir. Bu çok büyük problem değil. Ama şuna dikkat edin: 3306 portunu dış dünyaya açmayın.
MySQL sadece localhost üzerinden çalışsın. Eğer proxy tarafından erişim gerekiyorsa, sadece proxy IP'sine izin verin. Herkese açık MySQL bırakmak gereksiz risk.
Sık Yapılan Hatalar
Burada en çok görülen yanlışlar şunlar:
Proxy ve oyun sunucusunu ayırıp firewall'ı unutmak
Alt sunucu portlarını dışarıya açık bırakmak
Proxy'de DDoS koruması olmadan rahat olmak
Velocity ayarlarını yanlış yere yazmak
Secret anahtarını zayıf bırakmak
Gerçek oyun sunucusu IP'sini bir yerde sızdırmak
Proxy makinesine gereksiz servis doldurmak
Özellikle ilk ikisi çok yaygın. İki ayrı makine kurup sonra bütün portları dünyaya açık bırakırsanız kurduğunuz mimarinin yarısı boşa gider.
Kontrol Listesi
Şunlara hızlıca bakın:
Proxy ayrı makinede mi?
Proxy'de DDoS koruması var mı?
Oyun sunucu portları dış dünyaya kapalı mı?
Sadece proxy IP'sine izin veriliyor mu?
Velocity modern forwarding doğru ayarlanmış mı?
Secret doğru eşleşiyor mu?
MySQL portu dışarıya kapalı mı?
SSH erişimi sınırlandırılmış mı?
Bu soruların çoğuna evet diyebiliyorsanız doğru yoldasınız.
Kısaca
Her şeyi aynı makineye kurmak ilk bakışta pratik geliyor ama proxy'nin en önemli avantajlarından birini elinizden alıyor: arka taraftaki sunucuları dış dünyadan gizlemek. Bu koruma olmayınca DDoS geldiğinde de, bot saldırısı geldiğinde de, tarama yapıldığında da etkisi doğrudan hissediliyor. TPS düşüyor, bağlantılar kopuyor, iş gereksiz yere büyüyor.
Proxy'yi ayrı sunucuya almak ise küçük bir maliyetle büyük bir güvenlik ve stabilite farkı yaratıyor. Özellikle büyümek isteyen, reklam vermeyi düşünen veya uzun ömürlü bir yapı kurmak isteyen sunucu sahipleri için bu artık lüks değil, düzgün mimarinin temeli.

