Merhaba herkese,
Ben fullstack developerım aynı zamanda online oyunda geliştiriyorum. Bunları udp, tcp ve bufferlar hakkında bilgim olduğunu söylemek için söylüyorum. Gelelim konumuza, bir kullanıcının internet bağlantısı koptuğu zaman apeler, skeletonlar bile 83 level karakteri kesebiliyor. Halbuki ben bile kodladığım dandik 2 boyutlu mmorpg oyunumda şunu başardım;
* Eğer bir oyuncu 1 saniye boyunca UDP göndermiyor yada almıyorsa (yani clientin server ile bağlantısı 1 sn kesilirse)
* Oyuncuyu safe_zone adındaki haritaya taşı (yaratıkların ve ölme riskinin olmadığı bir harita)
* 2sn beklet eğer udp buffer bilgisi tekrar gelirse eski konumuna ışınla
* Gelmezse oyuncuyu server tarafından çıkar ki ölmesin.
Şimdi ilk olarak udp güvenli değil veriler kaybolabilir diyenler olabilir, tamam haklısınız TCP ile de güvenli bir şekilde bu yapılabilir.
Bu bir güvenlik açığı insanlar tam ölecekken bunu kullanırlar modem kablosunu tak çıkar yapar diyenler olabilir. Bunu da şöyle çözebilirsiniz oyuncunun canı %80 in üzerinde ise bu işlem olsun yoksa ölsün diyebilirsiniz.
Bu şekilde geliştirici ekibin sorunu kolaylıkla çözebileceğini düşünüyorum. Genie ile farma bıraktığımız karakterler internet kopunca neden ölüyor böyle bir oyunda anlamış değilim.
Taş taşımak rez bulmak falan çözüm değil alternatif, bu konuya lütfen bir çözüm getirilsin.