Oyun sunucusu

Vikipedi, özgür ansiklopedi

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.

Türler[değiştir | kaynağı değiştir]

Adanmış sunucu[değiştir | kaynağı değiştir]

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.[1][2]

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.[1]

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.[1] 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 sunucusu[değiştir | kaynağı değiştir]

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.[1][3]

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.

Ana makine geçişi[değiştir | kaynağı değiştir]

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.

Eşler arası[değiştir | kaynağı değiştir]

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.[4]

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.[4]

Ancak eşler arası iletişimin birçok dezavantajı vardır:

  • 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.
  • Yeni eşlerin devam eden oyuna sonradan katılmasını sağlamak çok zordur.
  • Her eş, bağlı oyuncuların sayısını sınırlayarak diğer tüm eşlerle iletişim kurmalıdır.
  • 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.

Dinleme-eşleri[değiştir | kaynağı değiştir]

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.[kaynak belirtilmeli]

Tikleme (Tickrate)[değiştir | kaynağı değiştir]

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:

  1. Sunucu ve istemci bant genişliğini korumak.
  2. Sunucu CPU süresini korumak ve istemcilerin her tıklama arasında ne kadar zaman geçtiğinden emin olmalarına izin vermek.
  3. Ağ güncellemeleri farklı aralıklarla ve hatta hatalı sırada gelebilir.[5]

Özelleştirme[değiştir | kaynağı değiştir]

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.[6][7]

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.[8][9] Ayrıca, kötü niyetli yöneticilerin sunucularının sundukları hakkında yalan söylemesine olanak tanıyarak oyuncuların moralini bozabilir.[10]

Ayrıca bakınız[değiştir | kaynağı değiştir]

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ a b c d "Dedicated Servers In Gears of War 3: Scaling to Millions of Players". www.gdcvault.com. 7 Nisan 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Eylül 2023. 
  2. ^ "Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization - Valve Developer Community". developer.valvesoftware.com. 16 Mayıs 2008 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Eylül 2023. 
  3. ^ "Mammoth Dedicated Server Guide | PDF | Installation (Computer Programs) | Windows Registry". Scribd (İngilizce). 21 Şubat 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Eylül 2023. 
  4. ^ a b "What Every Programmer Needs To Know About Game Networking". Gaffer On Games (İngilizce). 24 Şubat 2010. 10 Ağustos 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Eylül 2023. 
  5. ^ "Source Multiplayer Networking - Valve Developer Community". developer.valvesoftware.com. 24 Temmuz 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Eylül 2023. 
  6. ^ "Steam Destek :: HTTP ile Hızlı İndirme". help.steampowered.com. Erişim tarihi: 17 Eylül 2023. 
  7. ^ "Server plugins - Valve Developer Community". developer.valvesoftware.com. 2 Temmuz 2005 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Eylül 2023. 
  8. ^ "Modern Watfare 2 For PC". Bowling, Robert. 21 Ekim 2009 tarihinde kaynağından arşivlendi. Erişim tarihi: 21 Ekim 2009. 
  9. ^ "Battlefield 3: How Fan-Run Servers Are Ruining DICE's Game". Eurogamer.net (İngilizce). 4 Temmuz 2012. 21 Şubat 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Eylül 2023. 
  10. ^ "Team Fortress 2". www.teamfortress.com. 18 Mart 2009 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Eylül 2023.