Forum: Diğer Konular RSS
Oyunlarda Multiplayer veya Online Sistemler
İbrahim #1
Üye Eki 2015 tarihinden beri · 156 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: Oyunlarda Multiplayer veya Online Sistemler
Selamün Aleyküm;

İlk sorum: Multiplayer veya online olan oyunların çalışma mantığının sunucu-istemci olduğunu biliyoruz ama benim bildiğim iki çeşit protokol var: TCP/IP ve UDP protokolleri. Acaba oyunlarda UDP protokolü mü kullanılıyor? Çünkü bildiğimiz üzere UDP TCP'den daha hızlı çalışıyor. Yoksa başka bir sistem mi var?

İkinci sorum: Bu multiplayer veya online olan oyunlarda veya uygulamalarda sonuçta bir sunucu oluşturuluyor ve port dinlenerek işlemler yapılıyor. Peki biz bu sunucuyu internet üzerinden değil de bluetooth ile kurabilir miyiz? Yani bir uygulama bu sunucu-istemci alışverişini internet üzerinden yapıyor, biz sadece bu interneti bluetooth ile değiştirebilir miyiz? Yani arkaplanda bu iş nasıl çalışıyor ve bu duruma müdahale etme şansımız var mı? Teşekkürler.
acehreli (Moderatör) #2
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
İbrahim:
oyunlarda UDP protokolü mü kullanılıyor?

Ben de öyle duymuştum.

bu sunucuyu internet üzerinden değil de bluetooth ile kurabilir miyiz?

"ip over bluetooth" diye aratınca öyle olduğunu görüyorum. (Soruların bazen çok özel konularla ilgili olduğundan hepsini bilen kişi bulman zor. Ben çoğu durumda senin yerine Google'luyorum. ;) )

Ali
İbrahim #3
Üye Eki 2015 tarihinden beri · 156 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Cevabınız için teşekkür ederim. Aslında ben de ilk başta google'da arama yapıyorum ama bazı konuları ne diye aratmam gerektiğini bilemiyorum. :). Bluetooth ile bağlantı kurulabildiğini biliyorum, aslında tam olarak sormam gereken mesela bir oyun var diyelim ve bu oyun internet ile multiplayer oynanabiliyor ama kullanıcı arkadaşıyla yan yana oldukları zaman internet olmadan bu oyunu birlikte oynamak istiyorlar. Acaba bunu bluetooth veya internetsiz başka bir sistemle yapabilir miyiz? Buradaki asıl durum oyunu veya uygulamayı bizim yapmış olmamamız ve haliyle kodları da elimizde mevcut değil. Bu arada suallerime çok yardımcı oluyorsunuz. Bunun için de ayrıca teşekkürler.
acehreli (Moderatör) #4
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ben bu tür oyunları hiç bilmiyorum; tahmin ederek: Oyunun sunucuya bağlanma nedenine bağlı olarak değişir. Eğer yalnızca oyuncuların birbirine bağlanmaları için gerekiyorsa ve ondan sonra oyun programları (istemciler) artık hep birbirleri ile konuşuyorlarsa o zaman burada BlueTooth'tan ilgisiz olarak, örneğin evdeki router üzerinden de konuşulur.

Ama soruyu daha iyi anlıyorum: Eğer BlueTooth zaten IP bağlantısı sağlıyorsa ve iki oyuncunun routing table'ları o bağlantıyı tercih edecek biçimde ayarlanmışlarsa, herhalde ikisi doğrudan yerel olarak konuşurlar.

Birinci paragrafa dönersek, eğer oyun programları belirli aralıklarla veya sürekli olarak sunucuyla konuşmak istiyorlarsa o zaman zaten yapacak bir şey yok; verinin internet üzerinden gitmesi şart.

Ali
Avatar
zekeriyadurmus #5
Kullanıcı başlığı: Talha Zekeriya Durmuş
Üye Eki 2012 tarihinden beri · 701 mesaj · Konum: Samsun/Türkiye
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Eğer oynamak istediğin oyun LAN üzerinden oynanabiliyorsa;

Bluetooth'a gerek yok. Ayrıca bluetooth kullanmak çok verimsiz olur. Bluetooth 2.0 ile veri aktarım hızı oldukça zayıf. FPS oyunlarında çok fazla takılma yaşarsın.

Counter Strike oynayacağını varsayıyorum. Eğer bilgisayarda kablosuz özelliği var ise (bluetooth olduğuna göre laptop olduğunu varsayıyorum ve bunun da cevabı evet sanırım) wireless ağı açman çok kolay :) Hatta program bile kullanmana gerek yok desem? :) (bkz. https://talhadurmus.com/windowsta-kablosuz-ag-olusturmak)

Android ve iOS hatta eski Symbian telefonlarda dahi kablosuz ağ açmak mümkün.

Diğer seçenek ise ethernet kablosu ile bilgisayarları birbirine bağlayabilirsin. Bir ucu senin bilgisayarına diğer ucu ise arkadaşının bilgisayarına bağlayabilirsin.

Oyun LAN üzerinden oynanamıyor bir sunucu gerektiriyorsa;

Eğer oyun yapımcıları paylaşmışsa sunucu dosyalarını kendi bilgisayarından sunucu açabilirsin.

Mevcut değilse kendin bir emulator yazabilirsin. Örneğin telefon uygulaması olan Clash of Clans için emulator yazmışlardı zamanında. Uygulamayı decompile edip trafiği izleyip protokolü çözüp sunucu kısmını baştan kodlamışlardı. Benzer bir durum GTA Online için de geçerli ancak bu illegal olduğu için dağıtıcı firma proje yayınlanamadan sonlanmasını sağlamıştı.

Diğer soruna ek olarak söyleyebileceğim;
FPS oyunlarında her saniye paket gönderilir ve her gelen paket bir öncekini geçersiz kılabilir. Sunucu paketi mümkün olan en hızlı şekilde yollamaya çalışır ve paketin karşı tarafa ulaşıp ulaşmamasının bir önemi yoktur. Ayrıca TCP paketleri UDP paketlerinden daha büyük bu da trafiği arttırır. Yani sürekli bir senkronizasyon var ise UDP kullanılması daha verimlidir.

TCP yi daha çok verinin karşı tarafa ulaşmasından emin olmak istediğinde kullanabilirsin. Örneğin bir mesajlaşma uygulamasında mesajın ulaşıp ulaşmadığını bilmek ve ulaşmamışsa tekrar göndermek önemlidir. Mesaj doğru ve başarılı bir şekilde ulaştığında sunucuya geri mesaj gönderilir.

Zekeriya
Bilgi meraktan gelir...
Bu mesaj zekeriyadurmus tarafından değiştirildi; zaman: 2016-06-01, 09:38.
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-18, 07:50:27 (UTC -08:00)