GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi
29 Kasım 2024, 01:34:33

SA-MP NOSQL (SAMPSON)

Başlatan Amper, 13 Mayıs 2020, 11:35:44

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Amper

NoSQL nedir?
NoSQL veritabanları, belirli veri modelleri için özel olarak tasarlanmıştır ve modern uygulamalar oluşturmaya yönelik esnek şemalara sahiptir. NoSQL veritabanları uygun ölçekte geliştirme kolaylığı, işlevselliği ve performansıyla geniş çaplı kabul görmüştür. Belge, grafik, anahtar-değer, bellek içi ve arama dahil olmak üzere çeşitli veri modelleri kullanır. Fakat bu SA-MP üzerinde vereceğim örneklerde düşündüğümüz performansı veremez ama kesinlikle daha basit bir kullanım sağlar performans konusunda SQL kullanmaktan daha mı önde oluruz net bir şey söyleyemiyorum. Kendim şu an güncel olarak sıfırdan geliştirdiğim tüm oyun modlarını bu yönteme taşıdım. Yani bu örneklendirmeye NO-SQL diyebiliriz diye düşünüyorum.

NO-SQL için çeşitli sorgulama arayüzleri vardır. Json, REST, RPC şeklinde farklı API'lerle sorgulanabilen versiyonlar mevcut. Benim SA-MP için düşündüğüm yöntem JSON sorgulama arayüzünü kullanıyor. Peki bu nasıl çalışıyor? Şimdi iki tane yöntem ile veri çekebiliriz ana sunucu dışındaki bir sunucudan veri çekmek, ana sunucu içerisinden veri çekmek. İkinci yöntem içerisinde hesap bilgileri gibi şeyleri nasıl web arayüzüne yansıtacağım sorusunu kendinize sorduğunuzu biliyorum ve bunun cevabı çok basit.

2. yöntemi(ana sunucuda verileri barındırmak) kullanırsam Web sunucumdan nasıl veri çekeceğim?
Sunucunuzun 80 portunu aktifleştirip erişebilecek ip adresini sadece web servisleriniz yaparsanız bunu gerçekleştirebilirsiniz. PHP ile veri çekecekseniz size örnek olarak bir kod yapısı bırakıyorum.

$account_name = "Amper";

curl_setopt($cURLConnection, CURLOPT_URL, 'https://www.lilamper.tech/samp-example/',$account_name,'.json');
curl_setopt($cURLConnection, CURLOPT_RETURNTRANSFER, true);

$accountData = curl_exec($cURLConnection);
curl_close($cURLConnection);

$jsonArrayResponse - json_decode($accountData);

1. yöntemi(ana sunucu içerisinden veri çekmek) Pawn'da nasıl yapacağım?
Tıkla ve Github üzerinden örnek kodu görüntüle
url(https://github.com/liilamper/SAMPSON-EXAMPLE/blob/master/1.yöntem.pwn)

2. yöntemi(başka bir sunucudan veri çekmek) Pawn'da nasıl yapacağım?
Tıkla ve Github üzerinden örnek kodu görüntüle
url(https://github.com/liilamper/SAMPSON-EXAMPLE/blob/master/2.yöntem.pwn)

Konuyla ilgili soru ve cevaplarınızı konu altından alabilirim. Eğer bu işleyiş biçimini kullanırken bir sistemi nasıl yapacağınız hakkında soru işaretleri kafanızda bulunuyorsa konu altından, forum özel mesajı üzerinden veya discord(harika amper#3917) üzerinden ulaşabilirsiniz.

Kullanılan kütüphane ve pluginler: SAMPSON(https://github.com/liilamper/SAMPSON)

Ek olarak eğer farklı isteğinizi SSL ile yollamak isterseniz inceleyebileceğiniz bir başlık:
Alıntı yapılan: NexoR - 14 Mayıs 2020, 14:37:03
Bu eklenti size HTTPS, JSON/Node desteği sağlar. İncelemek istersen tıklayabilirsin.
Son düzenlenme: 14 Mayıs 2020, 14:40:24 Amper

mortale

Oldukça güzel ve faydalı bir çalışma olmuş.
Son düzenlenme: 13 Mayıs 2020, 11:39:59 mortale

EmirKarapelit


NexoR

Json kullanmak yararlı olabilir ama MySQL da ki bir tablonun tüm değerlerini değiştirebilirken atıyorum (UPDATE oyuncular SET para = '0') bu şekilde tüm oyuncuların parasını sıfırlayabiliriz. Json bunu yapmayı imkan sunuyor mu? Çünkü tüm oyuncuların isimlerini çekip NexoR.json dosyasına girip para değerini bulup güncellemek gerekir diye düşünüyorum. Bu da performansı etkiler.


Amper

Alıntı yapılan: NexoR - 14 Mayıs 2020, 12:50:28
Json kullanmak yararlı olabilir ama MySQL da ki bir tablonun tüm değerlerini değiştirebilirken atıyorum (UPDATE oyuncular SET para = '0') bu şekilde tüm oyuncuların parasını sıfırlayabiliriz. Json bunu yapmayı imkan sunuyor mu? Çünkü tüm oyuncuların isimlerini çekip NexoR.json dosyasına girip para değerini bulup güncellemek gerekir diye düşünüyorum. Bu da performansı etkiler.

Evet dediğin şeyde haklısın fakat çeşitli JSON arayüzünde sorgulama yöntemleri bulunuyor bunlardan örnek alarak bir şeyler geliştirilebilir diye düşünüyorum. Şu an sadece loop içerisinde kendi oyun modumda dediğin şeyleri yapsam da ileride bunlar üzerinde geliştirme yapabilirim. SA-MP'ın request sisteminde SSL bağlantısı olmaması gibi eksikler olduğu için ileride bir kütüphane geliştirip bunu soketler yoluyla bağlamayı düşünüyorum ve o sırada bu sistemi de ilerletirim yorumun için teşekkürler ve kesinlikle doğru olduğunu kabul ediyorum bu yöntemi kullanacaklar bunları şimdilik göze almalı.


NexoR

Alıntı yapılan: Amper - 14 Mayıs 2020, 13:17:06
Alıntı yapılan: NexoR - 14 Mayıs 2020, 12:50:28
Json kullanmak yararlı olabilir ama MySQL da ki bir tablonun tüm değerlerini değiştirebilirken atıyorum (UPDATE oyuncular SET para = '0') bu şekilde tüm oyuncuların parasını sıfırlayabiliriz. Json bunu yapmayı imkan sunuyor mu? Çünkü tüm oyuncuların isimlerini çekip NexoR.json dosyasına girip para değerini bulup güncellemek gerekir diye düşünüyorum. Bu da performansı etkiler.

Evet dediğin şeyde haklısın fakat çeşitli JSON arayüzünde sorgulama yöntemleri bulunuyor bunlardan örnek alarak bir şeyler geliştirilebilir diye düşünüyorum. Şu an sadece loop içerisinde kendi oyun modumda dediğin şeyleri yapsam da ileride bunlar üzerinde geliştirme yapabilirim. SA-MP'ın request sisteminde SSL bağlantısı olmaması gibi eksikler olduğu için ileride bir kütüphane geliştirip bunu soketler yoluyla bağlamayı düşünüyorum ve o sırada bu sistemi de ilerletirim yorumun için teşekkürler ve kesinlikle doğru olduğunu kabul ediyorum bu yöntemi kullanacaklar bunları şimdilik göze almalı.

Bu eklenti size HTTPS, JSON/Node desteği sağlar. İncelemek istersen tıklayabilirsin.


Amper

Alıntı yapılan: NexoR - 14 Mayıs 2020, 14:37:03
Alıntı yapılan: Amper - 14 Mayıs 2020, 13:17:06
Alıntı yapılan: NexoR - 14 Mayıs 2020, 12:50:28
Json kullanmak yararlı olabilir ama MySQL da ki bir tablonun tüm değerlerini değiştirebilirken atıyorum (UPDATE oyuncular SET para = '0') bu şekilde tüm oyuncuların parasını sıfırlayabiliriz. Json bunu yapmayı imkan sunuyor mu? Çünkü tüm oyuncuların isimlerini çekip NexoR.json dosyasına girip para değerini bulup güncellemek gerekir diye düşünüyorum. Bu da performansı etkiler.

Evet dediğin şeyde haklısın fakat çeşitli JSON arayüzünde sorgulama yöntemleri bulunuyor bunlardan örnek alarak bir şeyler geliştirilebilir diye düşünüyorum. Şu an sadece loop içerisinde kendi oyun modumda dediğin şeyleri yapsam da ileride bunlar üzerinde geliştirme yapabilirim. SA-MP'ın request sisteminde SSL bağlantısı olmaması gibi eksikler olduğu için ileride bir kütüphane geliştirip bunu soketler yoluyla bağlamayı düşünüyorum ve o sırada bu sistemi de ilerletirim yorumun için teşekkürler ve kesinlikle doğru olduğunu kabul ediyorum bu yöntemi kullanacaklar bunları şimdilik göze almalı.

Bu eklenti size HTTPS, JSON/Node desteği sağlar. İncelemek istersen tıklayabilirsin.

Görmemiştim bunu örneklendirme kısmına ekledim.


XaVi

Yararlı forum dostum eline sağlık

Ücretli kodlar yapılır.
XaVi#0833

ÖmerCN

Anlatım güzel, ellerine sağlık :) Zamanla geçiş yapılabilir diye düşünüyorum şimdilik MySQL devam :)

Red County Roleplay Turkey - Project Developer & Management
Güzel günler eskide kaldı...