MGS SOFTWARE Ana Sayfa Kurumsal Hizmetler
Kurumsal Web Tasarımı SEO ve Dijital Görünürlük Özel Yazılım Geliştirme E-Ticaret Çözümleri Anti-Cheat ve Oyun Güvenliği Sunucu Kurulum ve Yönetimi Firewall ve Siber Güvenlik
Ürünler
MGS Muhasebe Programı MGS Anti-Cheat
Sunucular
Web Hosting VPS Sunucu VDS Sunucu Dedicated Sunucu Oyun Sunucusu
Referanslar Blog İletişim Proje Başlat

Oyun sunucusu barındırma: 3.000 oyuncuda nerede çöker?

Donanım büyütmek her zaman çözüm değil. Eşzamanlı oyuncu sayısı arttığında sistemin gerçekte hangi noktalarda tıkandığını anlatıyoruz.

Oyun sunucusu barındırma: 3.000 oyuncuda nerede çöker?

Oyun sunucusu işletenlerin en sık yaptığı hata, oyuncu sayısı arttıkça daha büyük donanım kiralamaktır. Çoğu durumda darboğaz işlemci gücü değil; yanlış kurulmuş bir veri akışı veya tek iş parçacığına sıkışmış bir döngüdür. Kendi oyun altyapımızı işletirken karşılaştığımız gerçek darboğazları sırayla yazıyoruz.

1. Tek iş parçacığına sıkışan ana döngü

Birçok oyun sunucusu yazılımı dünya simülasyonunu tek bir iş parçacığında çalıştırır. Bu durumda 32 çekirdekli yavaş bir işlemci, 8 çekirdekli hızlı bir işlemciden daha kötü sonuç verir. Çözüm çekirdek eklemek değil, çekirdek başına frekansı yüksek donanım seçmek ve mümkünse oyun dünyasını birden fazla sürece (kanal/bölge) bölmektir.

2. Her tıklamayı veritabanına yazmak

En yaygın ve en pahalı hata bu. Oyuncu envanteri, konumu veya sayacı her değiştiğinde veritabanına yazan bir kurgu 200 oyuncuda sorunsuz görünür, 3.000 oyuncuda disk kuyruğunu doldurur ve tüm sunucuyu bekletir. Çözüm: sıcak veriyi bellekte tutmak, yazmaları biriktirip toplu göndermek, kritik olmayan güncellemeleri belirli aralıklarla kaydetmek.

3. Sık çalışan zamanlayıcılar

Saniyede bir çalışan bir kontrol, 3.000 oyuncu için saniyede 3.000 işlem demektir. Oyun içi görev, buff kontrolü veya panel köprüsü gibi işler için zamanlayıcı sıklığı gerçek ihtiyaca göre ayarlanmalı; aksi halde donanımın tamamı kendi kendini kontrol etmeye harcanır.

4. İndeks eksikliği

Oyuncu sayısı arttıkça tablolar büyür; indekslenmemiş bir sorgu 10.000 satırda fark edilmez, 5 milyon satırda sunucuyu durdurur. Yavaş sorgu kaydını açıp en pahalı on sorguyu düzeltmek, genelde donanım yükseltmesinden daha fazla kazanç verir.

5. Veritabanının oyunla aynı makinede olması

Küçük ölçekte pratiktir; büyüdüğünüzde oyun süreci ile veritabanı aynı diski ve belleği paylaşmaya başlar. Belirli bir eşikten sonra veritabanını ayrı bir sunucuya taşımak, aynı paraya iki kat kapasite verir.

6. DDoS saldırısı

Oyun sunucuları en sık saldırıya maruz kalan sistemlerdir — rakip işletmeci veya cezalandırılmış bir oyuncu tarafından saldırı sıradan bir olaydır. Ağ kenarında hacim filtresi yoksa tek bir saldırı sunucunuzu saatlerce kapatır. Uygulama katmanı saldırıları için oyun protokolüne özel kural yazmak gerekir; genel bir web güvenlik duvarı burada yetersizdir.

7. Yama dağıtımı ve kesinti

Her güncellemede tüm oyuncuları saatlerce dışarıda bırakan bir yama akışı, oyuncu kaybının sessiz nedenidir. Yama dosyalarının bir dağıtım sunucusundan artımlı inmesi ve başlatıcının bütünlük doğrulaması yapması, kesintiyi dakikalara indirir.

8. Hile

Teknik olarak bir "performans" sorunu değil ama etkisi en büyük olan madde. Hile yaygınlaştığında dürüst oyuncu gider; sunucu teknik olarak sapasağlam ama boş kalır. Koruma katmanlı kurulmalı ve kritik hesaplar sunucu tarafında yeniden doğrulanmalıdır. Bu konuda MGS Anti-Cheat sayfasında ayrıntı var.

Önce ölçün, sonra büyütün

Darboğazı bulmanın yolu tahmin değil ölçümdür: işlemci kullanımını çekirdek bazında izleyin, yavaş sorgu kaydını açın, disk bekleme süresine bakın, ağ paket kaybını ölçün. Çoğu projede "daha büyük sunucu" kararı, bu dört grafiğe bakıldığında gereksiz çıkıyor.

Oyun tarafı için yapılandırılmış altyapıyı oyun sunucusu hizmetimizde bulabilirsiniz.

· İlgili Yazılar

Okumaya
devam edin

Tüm yazıları gör
Uygulamaya geçelim

Bu yaklaşımı
sizin için uygulayalım

Yazıda anlatılanları kendi projenizde görmek isterseniz ücretsiz keşif görüşmesi için bugün ulaşın.