Arkadaşlar şimdi yeni bir acc sistemi yapmaya gerek olmadığını düşünüyorum ben.Yani tabi yapılabilinir ancak Sphere Server a yaptıgım bir scp ile hazır bir platformun üyelik sisteminde yeni üye olan kişileri test edip direk sphere kendisi veriyi çekiryor.Php , asp veya javascript ile document.write yaptırmıyorum.Tek yaptıgım mysql databasede örneğin users tablosuna ait bölümde yeni bir index oluşturup yeni üye olan kişilerde oluşturduğum indexin değerini 0 olarak belirleyip spherede belirli bir zaman aralığında users bölümünde "0" değerine ait olan yerdeki kullanıcı adı ve şifreyi çekip değeri "1" haline getirttiriyorum.
Bu yapmış olduğum SMF-Phpbb - Php-Fusion - Php-Nuke , Joomla , aklınıza gelebilecek bütün platformlarda çalışıyor şahsen kendim denedim.
Çünkü herkeste gördüğüm genelde bir tek soru var , Foruma ve oyuna aynı anda nasıl üye yapabilirim.Nasıl bunu gerçekleştirirz sorularıdır.
Üyelik kısmı bittikten sonra oyunda şifre bölümünde oyun içerinden örneğin .sifre yaptığımızda şifre değişikliği yapıldığı anda forumdaki bilgilerde otomatik güncelleniyor.Tabi bunu ters mantıklada yapabiliriz.Forumda bilgileri değiştirip oyunda geçerli kılınabilir.Ancak Md5 platformlarda bu biraz sorun yaratıyor.
Kısaca bir kaç görüntü göstermek isterim.Scriptide buraya ekliyorum.Umarım işinize yarar arkadaşlar.Tabiki bu işlemleri gerçekleştirebilmek için Sitenizin Sphere sunucusuyla aynı ortamda bulunması gerekir.
Öncelikle Sphere.ini den Mysql ile ilgili bölümleri aktif etmeniz gerekmektedir.
// MySql configuration.
MYSQL=1
MySqlHost=localhost
MySqlUser=destroy
MySqlPassword=xxxx
MySqlDatabase=sphere
Ve sıra geldi SphereServer dan yapacağımız işleme.Aşağıda verdiğim scripti direk olarak ekleyip üzerinde değişiklik yaparak kendinize göre uyarlayabilirsiniz.
Her savede acclerin kaynını gerçekleştirmek isterseniz sphere_serv_trigger.scp de f_on_server_start ve f_on_server_save kısmına f_acc_sorgulama yı ekleyebilirsiniz.
[function f_acc_sorgulama]
if ( <DB.connected> )
DB.QUERY "SELECT * FROM fusion_users WHERE status='0'"
if (<DB.ROW.NUMROWS> > 0)
for D 0 <eval <DB.ROW.NUMROWS>-1>
serv.account add <DB.ROW.<eval <LOCAL.R>>.user_name> <eval <DB.ROW.<eval <LOCAL.D>>.password>>
DB.EXECUTE "UPDATE fusion_users SET status='1' WHERE user_name='<DB.ROW.<eval <LOCAL.D>>.user_name>'"
serv.log Yeni Uye Kaydi Veritabani Uyarisi: #<eval <LOCAL.R>> Account <DB.ROW.<eval <LOCAL.D>>.user_name> olusturuldu.!
end
endif
endif
Oyun içinden şifre değişikliği ile foruma aktarma kısımlarını artık sizlere bırakıyorum.Mysql bilgisi olan kişilerin rahatlıkla halledebileceğine eminim.
Bu sistemin normal php ve diğer dillerle write mantığıyla hazırlananlardan tek bir farkı bulunmaktadır.Serverın kapalı olduğunda herhangi bir sorun yaratmaması en güzel faydasıdır.Sunucu kapalı olduğunda üye olan kişiler on_server_start durumunda db.login den sonra otomatik sphere başladıgında accleri kayda alınır.Diğer mantıkla hazırlananlarda acc çakışmaları , yazım izni hataları ve writing olmama gibi durumlar söz konusu olabiliyordu.Bu basit mantıkla uzun uzun bir dokuman hazırlak yerine üstte belirttiğim gibi işinize yarayacak şekilde yapılandırabilirsiniz.
Umarım faydası olur. /
Destroy