Canlı Multiplayer Altyapısı Nasıl Çalışır?
Bir maçın "adil hissettirmesi" tek bir sayıya bağlı değildir. Sunucunun nerede olduğu, saniyede kaç kez karar verdiği, karşınıza kimin çıktığı ve hile denetiminin hangi katmanda yapıldığı birlikte çalışır. Bu sayfa bu dört mekanizmayı ayrı ayrı, jargona boğmadan anlatır.
Sunucu Bölgeleri ve Gecikme
Gecikme, verinin cihazınızdan sunucuya gidip dönmesi için geçen süredir. Fiziksel mesafe bunun en büyük belirleyicisidir; ışık hızı bir üst sınır koyar. Bu yüzden çok oyunculu oyunlar farklı coğrafi bölgelerde sunucu bulundurur ve oyuncuyu ölçülen en düşük gecikmeli bölgeye yönlendirir.
| Aralık | Hissedilen etki |
|---|---|
| 40 ms altı | Rekabetçi nişancı oyunları için ideal |
| 40 - 80 ms | Çoğu oyuncu farkı hissetmez |
| 80 - 120 ms | Hızlı çatışmalarda dezavantaj başlar |
| 120 ms üzeri | Gözle görülür gecikme, isabet zamanlaması bozulur |
Tazeleme Oranı: Sunucunun Karar Hızı
Tazeleme oranı, sunucunun oyun durumunu saniyede kaç kez güncellediğini gösterir. Otuz değerinde sunucu saniyede otuz kez "kim nerede, kim neye isabet etti" hesabı yapar; altmışta bu sayı ikiye katlanır. Yüksek tazeleme oranı, iki oyuncunun aynı anda yaptığı hamlelerin sıralanmasında daha isabetli sonuç üretir.
Ancak yüksek tazeleme oranı tek başına yeterli değildir. Sunucu saniyede yüz yirmi kez karar verse bile, sizin bağlantınız bu kararları geç alıyorsa fark hissedilmez. Bu yüzden iyi bir altyapı iki değeri birlikte optimize eder: makul bir tazeleme oranı ve düşük dalgalanmalı bir bağlantı.
Aradaki boşluğu istemci tarafı tahmin kapatır. Cihazınız, sunucudan onay gelmeden önce hareketinizi ekranda gösterir; onay geldiğinde küçük bir düzeltme yapar. Doğru ayarlanmış bir tahmin katmanı, seksen milisaniyelik gecikmeyi kırk gibi hissettirir. Yanlış ayarlanmışsa karakterin geri sıçraması olarak görünür.
Eşleştirme: Karşınıza Kim Çıkar?
Eşleştirme, oyuncuya gizli bir beceri puanı atayarak çalışır. Bu puan kazanılan maç sayısına değil, kime karşı kazanıldığına bakar: sizden çok daha güçlü birini yenmek, sizden zayıf birini yenmekten fazla puan getirir. Sistem sizi puanınıza yakın oyuncularla eşleştirmeye çalışır.
Burada bir denge sorunu vardır. Puan aralığını dar tutmak daha dengeli maç üretir ama bekleme süresini uzatır. Geniş tutmak hızlı maç bulur ama dengesiz eşleşmeler ortaya çıkarır. Uygulanan çözüm kademelidir: arama başlarken aralık dardır, süre uzadıkça kademeli olarak genişletilir.
Adil Oyun Üç Katmanda Korunur
1Sunucu tarafı doğrulama
İsabet, hasar ve konum hesapları istemcide değil sunucuda yapılır. Yerel dosya değiştirerek avantaj sağlamak bu yüzden mümkün değildir; istemciden gelen ve fiziksel olarak imkânsız olan bildirimler reddedilir.
2Davranış analizi
Tepki süresi dağılımı, nişan hareketinin düzgünlüğü ve giriş aralıklarının değişkenliği izlenir. İnsan girişi doğal olarak değişkendir; makine girişi fazla düzenli olduğu için istatistiksel olarak ayrışır.
3Oyuncu bildirimi ve manuel inceleme
Otomatik işaretlenen her durum insan incelemesinden geçer. Yaptırım kademelidir; tek bir otomatik sinyalle kalıcı karar verilmez.
Üç Sık Şikâyetin Teknik Açıklaması
"Vurdum ama sayılmadı"
Ekranınızda isabet görünmesi, sunucunun da isabet görmesi anlamına gelmez. İstemci tarafı tahmin, atışı siz görürken sunucu hedefi çoktan başka konuma taşımış olabilir. Karar sunucunundur; bu, hile ihtimalini ortadan kaldırmanın bedelidir.
"Rakip köşeden çıkar çıkmaz vurdu"
İki oyuncu arasındaki gecikme farkı, köşe dönüşlerinde birinin diğerini birkaç kare önce görmesine yol açar. Buna gecikme telafisi denir ve tamamen ortadan kaldırılamaz; yalnızca dengelenebilir.
"Karakterim geri sıçradı"
Tahmin katmanının düzeltme yapmasıdır. Cihazınız hareketinizi önceden gösterdi, sunucu farklı bir sonuç bildirdi ve konum düzeltildi. Sık yaşanıyorsa sebep genellikle bağlantı dalgalanmasıdır, sunucu değil.