Unity ile güvenli veri tabanı bağlantısı nasıl kurulur?

Mustafa Eroğlu

Kilopat
Katılım
15 Kasım 2015
Mesajlar
218
Çözümler
3
Daha fazla  
Cinsiyet
Erkek
Öğrenmek istediğim başlıktan da anlaşılacağı gibi Unity ile veri tabanı arasında bağlantı kurarken nasıl bir yol izlemeliyim? Biraz araştırma yaptım ve Unity Script'leri içinde doğrudan bağlantı kurmanın iyi olmayacağına karar verdim.

Bu kararı verme sebeplerimden birkaçı;
1- Unity Script'leri içerisinde veri tabanı sorguları yazması çok kötü bir görüntüye sebep oluyor.
2- SQL sorgularından kurtulmak için "EntityFrameworkCore" gibi bir yardımcı kullanımı mümkün değil. Farklı veri tabanına geçmek çok zaman kaybettirir. SQL sorgu satırlarını tekrar gözden geçirmeyi gerektirir.

Yaptığım araştırmalar ile sağlıklı olacağını düşündüğüm çözüm yolunu anlatmam gerekirse; Unity ile veri tabanına bağlanmak için, Asp.net ile bir servis oluşturup, bağlantı için yetkisi olan istemcilerin veri tabanı işlemleri yapması uygun bir yol olarak görünüyor. Yani Unity ile geliştirdiğim oyun sunucusu veri tabanına bağlanırken bir istemci olacak. Sadece oyun sunucusu (server) veri tabanı işlemleri yapacak ve oyun istemcisi TCP veya UDP portları ile oyun sunucusuna istekte bulunacak.

Soru 1 - Asp.net ile ilgili MVC, wep API gibi konulardaki bilgim çok az. Onun için nasıl bir yol izlemeliyim?
Soru 2 - Asp.net projesinde sadece veri tabanı sorgularının yapıldığı ve oyun sunucusu ve web sitesi için ortak olarak kullanacağım bir katman yapmak istersem bu hangi asp.net şablonu oluşturmam gerekiyor.
Soru 3 - Asp.net projesinde sorgu sonucunda veri tabanından dönen verilerin bir sınıfa karşılık gelmesi asp.net projesi için geçerli olacak. Unity ile veri tabanı arasındaki köprü yazılımdan dönen verilerin Unity içinde bir sınıfa karşılık olduğunu nasıl belirleyebilirim? Başka bir deyişle; Asp.net projesi ile Unity projesi aynı solution içinde olmayacağı için ortak sınıflar kullandığımı nasıl belirtebilirim?
 
Sunucu sizin kontrolünüzde olacaksa Unity'den doğrudan veritabanına bağlanmak çok sağlıklı değil. Web API kullanmak daha uygun olur. Bu sadece Unity tarafında kod yazmayı kolaylaştırmak için değil güvenlik için de önemli. Web API yazmadan doğrudan Unity ile kullanabileceğiniz firebase gibi alternatifler de var fakat kullanım alanı sınırlı.

Veritabanı'nın güvenliği önemli değil, oyun ile beraber kullanıcıya verilecekse SQLite kullanmak daha mantıklı olabilir. Unity ile SQLite kullanan assetler var. Onlar incelenebilir.
 
Sunucu sizin kontrolünüzde olacaksa Unity'den doğrudan veritabanına bağlanmak çok sağlıklı değil. Web API kullanmak daha uygun olur. Bu sadece Unity tarafında kod yazmayı kolaylaştırmak için değil güvenlik için de önemli. Web API yazmadan doğrudan Unity ile kullanabileceğiniz firebase gibi alternatifler de var fakat kullanım alanı sınırlı.

Veritabanı'nın güvenliği önemli değil, oyun ile beraber kullanıcıya verilecekse SQLite kullanmak daha mantıklı olabilir. Unity ile SQLite kullanan assetler var. Onlar incelenebilir.
Bahsettiğiniz varlıklara baktım. Ancak bu varlıkların nasıl çalıştığı incelediğimde proje büyüdükçe sorun yaşayacağımı anladım. Bunun için konu açıp herkesin fikrini almanın iyi olacağını düşündüm. Sadece veri tabanı sorgularının çalıştırılacağı bir katmana ihtiyacım var. Bu katmana yetkili olan bir istemci istekte bulunarak sorguları çalıştıracak. Mesela web sitesi ve oyun sunucusu bu katmandan veri isteğinde bulunacak. Bunun için hangi şablonu oluşturmam gerekiyor? Web api mi? Mvc mi? Yoksa mvc şablonunda sadece controller mı yazmam gerekiyor?
 

Geri
Yukarı