entr
Home / Dev Blog / Mutfakta Neler Oluyor? 4. Bölüm
mutfak

Mutfakta Neler Oluyor? 4. Bölüm

Mutfakta Neler Oluyor 4. Bölüm

Zula’nın mutfağında bu hafta backend kısmından haberler aktaracağız. Öncelikle backend nedir onu açıklayalım.

Backendin Türkçe karşılığı  “arka uç, arka katman, sunucu katmanı” diyebiliriz. Arka uç başka bir ifade ile arka katman veya sunucu katmanı nı şöyle açıklayabiliriz, Arka plan görevlerini gerçekleştiren program bölümü yani frontend katmanı ile veri alışverişine cevap veren, verileri saklayan vs. işleri üstlenen katmandır.

Bu teknik açıklamadan sonra, kısaca backend, oyuncu ile oyunu buluşturan kod trafiğine yön veren bölümdür. 

Teknik detaylara meraklı arkadaşlar için Zula’nın backend şemasını hazırladık.

Image title

Tüm oyunculardan ve oyun sunucularından gelen isteklere, Backend in kollarından web serverlar aracılığıyla cevap verilir.  Oyuncuların  oyunu güncellemesi aşamasından, giriş yapmaları ve oyuna kadar gittikleri süreçdeki tüm isteklerine backend cevap verir.  Gelen istekleri değerlendirir, gelen bilginin doğruluğunu teyit eder ve kullanıcıya cevap döner. Örnek olarak açıklamak gerekirse, kullanıcı giriş düğmesine bastığında kullanıcı bilgileri güvenli bağlantı üzerinden backend e ulaşır. Backend bu bilgileri kontrol eder ve giriş yapabilir veya giriş yapamaz bilgisini oyuncuya döner. Bu işleyiş oda kurmak, bir silah satın almak veya klan kurarken de bu şekilde işlemektedir.  Oyuncu ile backend bağlantısı oyuncu çıkış yapana kadar devam eder.

Normal olarak Zula’nın backend süreci bu şekilde ilerliyor. Fakat bildiğiniz üzere Zula’ya sürekli olarak içerik ekleniyor. Yeni bir içerik eklenmeden önce backend kısmında neler oluyor şimdi ona bir göz atalım.

Yeni bir geliştirme yapmadan önce;

Zula’da yeni bir geliştirme yapmadan önce mutlaka döküman hazırlanıyor  ve mockupları çıkartılıyor. Böylece tam olarak oyundaki özelliğin ihtiyaçları belirleniyor. Backend kodlamasına başlanmadan önce SQL tarafındaki mimari belirleniyor. SQL tarafı tamamlandıktan sonar Web Server da kullanılacak detaylar tamamlanıyor. Backend kısmında oyundaki her olasılık değerlendiriliyor. Her bir aksiyonun içeriği kodlanıyor. Örneğin bir klan sayfası için klan kur, klan’a üye ol, klan dan ayrıl, klan listeni getir, klanda arama yap gibi.

Image titleÖrnek Mockup Taslağı

Backend devam ederken bir yandan görsel ekibi tarafından arayüz çizimi yapılıyor. Tamamlanan arayüz çizimi ve backend methotları UI tarafında programcı arkadaşlarımız tarafından bir araya getiriliyor. 

Image title

Backend tarafında güvenlik ve iletişim

Zula’da en önemli kontrol merkezlerinden birisi backend in güvenliği. Backend güvenliği için tüm istekleri güvenli bağlantı(ssl) üzerinden kabul ediyoruz. Saldırılara karşı anti cheat programlarımız dışında kendi geliştirdiğimiz güvenlik duvarlarıyla oyuncudan gelen her request in güvenliğini kontrol ediyoruz. Daha önce videolarımız da anlattığımız gibi hack e sebep olacak hiçbir data yı da oyuncunun bilgisayarında saklamıyoruz. Özellikle envanter gibi ekranların güvenliğinden backend sorumlu. Bu tarz öneme sahip ekranlarda kullanıcıdan sadece “G3 silahı satın alma talebi” gibi bir talep geliyor. Backend kapalı bir devre içersinde bu talebi değerlendirip (yeterince parası var mı?, talep gerçek kişiden mi geldi) olumlu ya da olumsuz cevabı dönüyor.

Oyunun hızının backend le alakası var mı? Optimizasyonda neler yapılıyor?

Oyunun hızı backend hızıyla le doğru orantılı ilerliyor. Oyuncunun tüm taleplerini kabul eden backend olduğu için geç cevap vermesi oyunun da yavaş çalışmasına sebep olabilir. Bu süreçde Zula’nın backend en hızlı bir şekilde cevap verecek şekilde kodlanıyor. Binlerce üyenin aynı anda binlerce istekte bulunduğunda neler olacağı “stres testi” ile test edip önlemler alıyoruz.  

Makinelerin kaldırabileceği kullanıcı sayısı sınırlıdır. Bu yüzden aynı anda giren kullanıcı sayısı arttığında makinelerin cevap vermesi zorlaşıyor. Zula’da bu yük sorunu aşmak için yük dağıtıcı sistemini kurduk. Tek bir makine değil ihtiyaç olduğu kadar web sunucunu aynı anda devreye sokabiliyoruz. Böylece kullanıcılara daha hızlı cevap verme imkanımız oluyor. Yani kısaca zula aynı anda binlerce oyuncuya cevap verecek sistemi barındırıyor. Sunucularımızın tamamı Türkiye’de olduğu için daha da hızlı bir sistemle oyuncularımızın karşısına çıkıyor olacağız.

Test sürecinde kimi zaman backend ekibimiz oyuncularımızla birebir iletişim kurarak hizmet verdiler ( fotoğraf temsili değildir)

Image title

Image title

Image title

Image title

 

About admin