Oyun sunucusu

Oyun sunucusu (bazen ana bilgisayar olarak da anılır), çok oyunculu bir video oyunundaki olayların yetkili kaynağı olan bir sunucudur. Sunucu, bağlı istemcilerinin oyunculara gösterilmek üzere oyun dünyasının kendi doğru versiyonlarını korumalarına olanak sağlamak için dahili durumu hakkında yeterli veriyi iletir. Ayrıca her oyuncunun girdisini alır ve işlerler.Adanmış sunucular, yönetimleri için gerekli olanlar dışında, doğrudan giriş veya çıkışı desteklemeden oyun dünyalarını simüle eder. Oyuncuların oyunu görebilmesi ve etkileşim kurabilmesi için sunucuya ayrı istemci programlarıyla bağlanması gerekir.Adanmış sunucuların en önemli avantajı, tüm güvenilirlik ve performans avantajlarıyla birlikte profesyonel veri merkezlerinde barındırılmaya uygunluklarıdır. Uzaktan barındırma aynı zamanda, aynı makineden veya yerel ağdan bir sunucuyu barındıran ve sunucuya bağlanan herhangi bir oyuncunun sahip olacağı düşük gecikme avantajını da ortadan kaldırır.Ancak adanmış sunucuların çalıştırılması maliyetlidir. Maliyet bazen oyunun geliştiricileri (özellikle konsollarda) ve bazen de klan grupları tarafından karşılanır, ancak her iki durumda da bağlanmak için halka açık sunucu sağlayan üçüncü taraflara bağımlıdır. Bu nedenle özel sunucu kullanan çoğu oyun aynı zamanda dinleme sunucusu desteği de sağlar. Bu oyunların oyuncuları genellikle kendi donanımlarından bir sunucu örneğini barındırarak veya bir oyun sunucusu barındırma sağlayıcısından kiralayarak kamu ve klanları için sunucular barındırır.Dinleme sunucuları oyun istemcisiyle aynı süreçte çalışır. Aksi takdirde tahsis edilmiş sunucular gibi çalışırlar, ancak genellikle uzaktaki oynatıcılarla barındırma oynatıcısının yerleşik internet bağlantısı üzerinden iletişim kurmak zorunda olma dezavantajına sahiptirler. Performans, sunucuyu çalıştıran makinenin aynı zamanda sahne görüntü hesaplaması nedeniyle de azalır. Ayrıca, dinleme sunucuları, üzerinde oynayan herkese diğer oyunculara göre doğrudan büyük bir gecikme avantajı sağlar ve o oyuncu oyundan ayrıldığında oyun sona erer.Bununla birlikte, dinleme sunucuları esas olarak ücretsiz olma ve kurulum için herhangi bir özel altyapı veya ileri planlama gerektirmeme avantajına sahiptir; bu da onları gecikme ve bant genişliği sorunlarının sorun olmadığı LAN partilerinde yaygın hale getirir. Konsol oyunlarında da yaygındırlar.Dinleme sunucusu düzenlemesinde "ana bilgisayar geçişi" yararlı bir özelliktir. Ana bilgisayar geçişi olmadan, mevcut sunucunun herhangi bir nedenle bağlantısı kesilirse (bırakma, çökme, ağ bağlantısı kaybı vb.), mevcut sunucu çalışmayı durdurur ve oyun sona erer. Sunucu taşıma özelliği, oyunun devam edebilmesi için diğer oyunculardan birinin yeni sunucu olarak atanmasına olanak tanır.Bu makalenin başka bir yerinde açıklanan istemci/sunucu modelinde, istemciler işlenmiş verileri sunucudan alır ve fazla düşünmeden görüntüler. Alternatif "eşler arası" modelde sunucu yoktur: her "eş", diğer oyuncunun ham girdi akışlarını alır ve sonuçları kendisi belirler.Eşler arası, genellikle aksiyon oyunları için geçerliliğini yitirmiş sayılır, ancak çok sayıda nesne verisi ve az sayıda oyuncu içeren oyunlara uygunluğu nedeniyle gerçek zamanlı strateji türünde hala yaygındır. Oyun, 1000 askerin konumlarını her asker için sürekli olarak iletmek yerine, 1000 askerin seçildiği ve onlara komuta eden oyuncunun az önce bir hamle emri verdiği bilgisinin tek seferlik aktarımını yapabilir.Tüm eşleri senkronize tutmak çok zordur. Eşler arasındaki küçük farklılıklar zamanla büyüyerek oyunun kurallarını bozan paradokslara dönüşebilir.Her eş, bir sonraki "ağ paketini" simüle etmeden önce diğer eşlerin mesajlarını beklemek zorundadır; bu, tüm oyuncuların en kötü bağlantıya sahip oynatıcıyla aynı gecikmeyi yaşamasına neden olur.Birden fazla dinleme sunucusu, dinleme eş ayarı için kendi aralarında toplu olarak eşleşir. Bu tür bir ayar, tüm istemciler arasında eşler arası iletişimin dezavantajlarını ortadan kaldırır ve artan sayıda istemci için özel sunuculara daha iyi bir alternatiftir.Bir oyun sunucusunun simülasyon adımlarını çalıştırma hızına genellikle "tikleme" adı verilir. "Tik", istemcilerin sunucuyla senkronizasyon yapmasına yardımcı olmak için istemcilere yayınlanan, her simülasyon adımıyla ilişkili bir sayıdır.Sunucu simülasyonu adımlarının sıklığını önceden tanımlanmış bir tıklama hızıyla sınırlamanın üç nedeni vardır:Sunucu CPU süresini korumak ve istemcilerin her tıklama arasında ne kadar zaman geçtiğinden emin olmalarına izin vermek.Sunucular, özellikle de PC oyunlarının sunucuları, genellikle değiştirilmemiş istemcilerin kendilerine bağlanmasına izin verecek şekilde özelleştirilebilir. Bu özelleştirmeler, yerleşik oyun ayarlarında yapılan ince ayarları, istemciler tarafından oyuna katıldıklarında indirilen içeriği ve sunucunun davranış şeklini değiştiren yeni kodu içerebilir.Sunucu özelleştirme, sunucu yöneticileri ve oyuncular arasında popüler olsa da, geliştiricilerin ve diğer oyuncuların oyunun amaçlandığı gibi deneyimlenmesi arzusuyla çelişebilir. Ayrıca, kötü niyetli yöneticilerin sunucularının sundukları hakkında yalan söylemesine olanak tanıyarak oyuncuların moralini bozabilir.