EskiKnightOnline.net | v.1098 MYKO | 400.000 TL Ödül Havuzu | Official : 14 Haziran 2024 - 22:00 !
Cuceko
Cuceko

[Tüm Versiyonlar] Mükemmel Server Yapısı

  •         

            

            

            

            

  • HyperFilter | DoS Protection | DDoS Protection | DoS Mitigation | DDoS Mitigation | AntiDoS | AntiDDoS | Proxy Shielding
S Çevrimdışı

Snakeman

Kayıtlı Üye
10 Nisan 2012
132
0
16
28
Gizli içerik
Bu içeriği görmek için cevap yazmalısınız.


Çok yanlis ve çok gereksiz birsey.. Öncelikle ko dosyalarinda 3 odbcden fazla odbc olmamali...



Bunlar KN_Online / KN_Data / Knight_Account ve çogunlukla bunlara dahil gerek olmuyor çünki herkez herseyi KN_Online üzerinden yapmaya çalisiyor.



öncelikle açtigin ODBC servisi yanlis SQL server olarak açiyorsun. SQL Server çok daha fazla islem kullanir ve daha yavastir. ODBC açarken Native client ve (local) olarak açman en güzelidir bu sayede odbcler kasmadan local bilg de çalisir.



2 cisi local yaptigin taktirde odbc administrator hesabi üzerinden çalisicaktir.. Bu demektirki SQL de sysadmin yetkisi ile çalisir ve full yetkiye sayiptir. Bunu engellemek istiyorsaniz SQL den ayri bir user açip ODBC e açtiginiz hesabin bilgilerini verirsiniz ve ordan yetkileri ayarliyabilirsiniz. Örn db_owner / public / read / write gibi yetkiler...



ve Senin yapmak istedigin sekilde yapmak istiyorsan.. oda su sekilde olucak. Knight_account odbcsini açicaksin buna SQL da özel kullanici açicaksin ve yetkilerini teker teker ayarlicaksin... ve Ayarladigin yetkilerin sadece hesap ile ilgili olan yetkiler yani Knight_account uzeri Userdata yetkisi olmucak.. Ben bunu genelde yapiyorum güvenlik açisindan açtigim serverlarda..



Ayrica burda verdigin odbc örneginde oldugu gibi dosya yetkileri ayarli orjinali bu sekilde ayrilmaktadir ve her biri farkli yetkiye sahiptir

[ODBC]

ACCOUNT_DSN=Knight_Account

ACCOUNT_UID=1

ACCOUNT_PWD=2

LOG_DSN=KN_Data

LOG_UID=1

LOG_PWD=2

GAME_DSN=KN_Online

GAME_UID=1

GAME_PWD=2
 
bigahega Çevrimdışı

bigahega

Administrator
Yönetici
KoCuce.Com
7 Mart 2012
12,842
385
83
güzel bir paylaşım denedikten sonra yazacağım
 
T Çevrimdışı

TheWiPeR

Yeni Cüce
23 Nisan 2013
16
0
1
28
Cevap: [Tüm Versiyonlar] Mükemmel Server Yapısı



o zaman login server ve aiserverin kinide kafamıza göre bir şey yapalım komple rahatlasın mantık bu değilmi ? :)
 
3rva Çevrimiçi

3rva

Cuce Master
10 Nisan 2013
20,110
202
63
32
Cevap: [Tüm Versiyonlar] Mükemmel Server Yapısı



Guzelmıs
 
R Çevrimdışı

Reallizt

Kayıtlı Üye
13 Nisan 2012
123
0
16
36
KONU LİNK : ?



Arkadaşlar,sizinle uzun süredir bildiğim ancak kendime sakladığım bir şeyi paylaşacağım. Belki bilenler vardır,ben kendim buldum ve gayet de işime yaradı.



Şimdi öncelikle bir açıklama yapayım,zor bir şey değil. Sadece ini ve odbc'lerle ilgili. Serverda lagı,cpu ve veri kullanımını aşırı derecede azaltıyor inanın bana,farkedeceksiniz.



Arkadaşlar,şimdi bir sürü odbc açıyoruz biliyorsunuz sknight,kn_online,kdata cart curt.. Size şöyle tarif edeyim,databasemiz asıl ulaşılmaya çalışan yer,odbcler ise sadece database'e giden yollardır.



Şimdi,neden bir sürü odbc açıyoruz onu da açıklayayım. Normalde,gerekli olarak sadece ini'ye girdiklerimiz kullanılır. Ancak,server dosyalarının içerisinde(ebenezer ve aujard'da yoğundur) iniye girmediğimiz ve değiştiremediğimiz odbc dsnleri bulunur. Yani sknight vb. açıyoruz,bu nedenle.



Saadete gelmek gerekirse,knight online'ın yapı gereği verileri ayrı ayrı transfer etmesi gerekir yani ayrı yollardan,yani ayrı odbclerden.



Biz ne yapıyoruz? inilerde db gördüğümüz her yere kn_online yazıyoruz. Arkadaşlar,bir sürü yol varken bir yola yüklenmek açıkçası aptallıktır. İlk deneyenler farketmediği için bir hatadır sürüyor böyle.



Örneğin,login server'a kn_online yazıyoruz. Giriş yapan bir kullanıcı kn_online veri yolu ile veritabanına erişecek. E ebenezerde de kn_online kullanıyoruz,oyunda troll kesen masum oyuncu da bu yolu kullanacak ve trafik artacak.



Kod:
+Bunu yaptığımızda,oyunun veri aktarımındaki hız gözle görülebilir derecede artacaktır. Dolayısıyla,veri aktarımı sebebiyle oluşan lag vb. de..

+Olası bir odbc çökmesinde bütün odbcleri kaybetmek yerine sadece biri eksilecektir,oyun kaybı azalacaktır.

+Tespit ettiklerim bu kadar,ancak olması gereken bu olduğu için daha fazla artıları olduğunu düşünüyorum.



Yapmamız gereken,sadece her dsn için farklı odbc ismi kullanmak,resimli olarak gösteriyorum;


mjj9v.png


ODBC'lerimiz bunlar. Her DSN için birinin adını girelim,kullanıcı adı ve şifreler aynı olmak zorunda zaten.



Örneğin Aujard dosyamızın inisine bakalım;


Kod:
[ODBC]

ACCOUNT_DSN=kn_online

ACCOUNT_UID=1

ACCOUNT_PWD=2

LOG_DSN=kn_online

LOG_UID=1

LOG_PWD=2

GAME_DSN=kn_online

GAME_UID=1

GAME_PWD=2

GAME_DSN2=kn_online

GAME_UID2=1

GAME_PWD2=2

Bu yanlış olan kullanım.Olması gereken ise budur;

Kod:
[ODBC]

ACCOUNT_DSN=Knight_Account

ACCOUNT_UID=1

ACCOUNT_PWD=2

LOG_DSN=Knight

LOG_UID=1

LOG_PWD=2

GAME_DSN=KO_GAME

GAME_UID=1

GAME_PWD=2

GAME_DSN2=KO_MAIN

GAME_UID2=1

GAME_PWD2=2



Arkadaşlar,anlatabildiysem ne mutlu bana. Lütfen işlem basit diye küçümsemeyelim. Ciddi olarak söylüyorum,büyük oranda performans artışı yaşayacaksınız. Saygılarımla...





Çok yanlis ve çok gereksiz birsey.. Öncelikle ko dosyalarinda 3 odbcden fazla odbc olmamali...



Bunlar KN_Online / KN_Data / Knight_Account ve çogunlukla bunlara dahil gerek olmuyor çünki herkez herseyi KN_Online üzerinden yapmaya çalisiyor.



öncelikle açtigin ODBC servisi yanlis SQL server olarak açiyorsun. SQL Server çok daha fazla islem kullanir ve daha yavastir. ODBC açarken Native client ve (local) olarak açman en güzelidir bu sayede odbcler kasmadan local bilg de çalisir.



2 cisi local yaptigin taktirde odbc administrator hesabi üzerinden çalisicaktir.. Bu demektirki SQL de sysadmin yetkisi ile çalisir ve full yetkiye sayiptir. Bunu engellemek istiyorsaniz SQL den ayri bir user açip ODBC e açtiginiz hesabin bilgilerini verirsiniz ve ordan yetkileri ayarliyabilirsiniz. Örn db_owner / public / read / write gibi yetkiler...



ve Senin yapmak istedigin sekilde yapmak istiyorsan.. oda su sekilde olucak. Knight_account odbcsini açicaksin buna SQL da özel kullanici açicaksin ve yetkilerini teker teker ayarlicaksin... ve Ayarladigin yetkilerin sadece hesap ile ilgili olan yetkiler yani Knight_account uzeri Userdata yetkisi olmucak.. Ben bunu genelde yapiyorum güvenlik açisindan açtigim serverlarda..



Ayrica burda verdigin odbc örneginde oldugu gibi dosya yetkileri ayarli orjinali bu sekilde ayrilmaktadir ve her biri farkli yetkiye sahiptir

[ODBC]

ACCOUNT_DSN=Knight_Account

ACCOUNT_UID=1

ACCOUNT_PWD=2

LOG_DSN=KN_Data

LOG_UID=1

LOG_PWD=2

GAME_DSN=KN_Online

GAME_UID=1

GAME_PWD=2
 
T Çevrimdışı

TheSiLiCi

Kayıtlı Üye
16 Eylül 2012
294
2
18
28
Cevap: [Tüm Versiyonlar] Mükemmel Server Yapısı



Bu Bilgiyi Verdiğiniz İçin Teşekkürler .
 
F Çevrimdışı

free06

Kayıtlı Üye
7 Ocak 2014
73
0
6
34
Cevap: [Tüm Versiyonlar] Mükemmel Server Yapısı



++++++++++++++++++++++
 
T Çevrimdışı

Torque

Kayıtlı Üye
7 Haziran 2013
296
0
16
28
Cevap: [Tüm Versiyonlar] Mükemmel Server Yapısı



bakalım
 
R Çevrimdışı

RapheL

Kayıtlı Üye
6 Haziran 2012
421
2
18
29
Cevap: [Tüm Versiyonlar] Mükemmel Server Yapısı



Bakalım
 
Y Çevrimdışı

YomMoO

Kayıtlı Üye
23 Aralık 2013
607
0
16
35
Cevap: [Tüm Versiyonlar] Mükemmel Server Yapısı



tskkurler
 
B Çevrimdışı

ByEren0

Kayıtlı Üye
22 Mart 2013
324
2
18
32
Cevap: [Tüm Versiyonlar] Mükemmel Server Yapısı



eywwwwwwwww