Öncelikle Gerekli Malzemeler ;
2 Adet Server(Tercihen 3 Adet)
1 Adet Veritabanı Sunucusu (SQL 2005+ Daha Mantıklı)
1 Adet Not Defteri
Öncelikle Yeni Bir Veritabanı Açın Adınıda KO_MAIN Koyun.
KO_MAIN Veritabanımıza Gerekli Tablo ve Procedureleri Yükleyelim.(Import)
Ekliyeceğimiz Tablolar ;
* TB_USER
* CONCURRENT
* CURRRENTUSER
* VERSION
Ekliyeceğimiz Procedureler ;
* AUJARD İLK Oyuna Girerken ID Pass Yazdığımızda Çağrılan LOGIN Proceduresi (MYST_LOGIN,ACCOUNT_LOGIA vb.)
* CLEAR_REMAIN_USERS
* LOAD_PREMIUM_SERVICE_USER
* UPDATE_PREMIUM_USER
* ACCOUNT_LOGOUT
* PROC_INSERT_CURRENTUSER
* PROC_UPDATE_CURRENTUSER
Sonra kn_online Veritabanımızı Açıyoruz KO_MAIN Veritabanımıza Eklediğimiz Tablo ve Procedureleri kn_online Veritabanından Siliyoruz…
Sileceğimiz Tablolar ;
* TB_USER
* CONCURRENT
* CURRRENTUSER
* VERSION
Sileceğimiz Procedureler ;
* AUJARD İLK Oyuna Girerken ID Pass Yazdığımızda Çağrılan LOGIN Proceduresi (MYST_LOGIN,ACCOUNT_LOGIA vb.)
* CLEAR_REMAIN_USERS
* LOAD_PREMIUM_SERVICE_USER
* UPDATE_PREMIUM_USER
* ACCOUNT_LOGOUT
* PROC_INSERT_CURRENTUSER
* PROC_UPDATE_CURRENTUSER
Silme İşlemimiz Tamamlandı ise Şimdi kn_online Veritabanımızı Backup Ediyoruz ve Hemen Backup Bitmesi Arından kn_online Veritabanını Siliyoruz,
Yedek Aldığımız kn_online Veritabanını Restore Ediyoruz fakat Restore Ederken kn_online Değilde KO_S1 Adıyla Veritabanını Restore Edelim.
Şuanda Veritabanları İle İlgili İşlemlerimiz Bitmiştir,
Şimdi ODBC mize Girelim..!
AccountDB Adında Bir DSNimiz Var, Bunu Açıyoruz ve Veritabanı Olarak KO_MAIN Veritabanını Belirtiyoruz, Diğer DSNleri ise KO_S1 Veritabanını Gösteriyoruz…
İlk Serverımızdaki INI Dosyaları Şu Şekilde Oluyor (KO_S1) ;
Kod:
Login Server ;
[DOWNLOAD]
URL=ftp.knightonlineturkiye.web.tr
PATH=pub/upgrade
[ODBC]
DSN=AccountDB
UID=knightonline
PWD=123456
TABLE=VERSION
[CONFIGURATION]
DEFAULT_PATH=D:\KOServer\LoginServer\
[SERVER_LIST]
COUNT=2
SERVER_00=84.51.21.10
NAME_00=ARES
SERVER_01=84.51.21.11
NAME_01=DIEZ
AIServer ;
[ODBC]
GAME_DSN=kn_online
GAME_UID=knightonline
GAME_PWD=123456
[server]
ZONE=1
PARTYEXP=0
GROUP=0
Game Server(Ebenezer) ;
[TIMER]
YEAR=2008
MONTH=10
DATE=21
HOUR=4
WEATHER=1
[LOGIN SERVER]
IP=84.51.21.10
[CASTLE]
NATION=1
[ZONE_INFO]
MY_INFO=1
SERVER_COUNT=1
SERVER_00=1
SERVER_IP_00=84.51.21.10
MAX_USER=2000
SERVER_NUM=0
[BATTLE]
WEEK=6
START_TIME=20
END_TIME=0
AUTO=0
WEEK2=6
MWEEK=5
LIMITBATTLE=200
[AI_SERVER]
IP=84.51.21.10
[DB_SERVER]
IP=84.51.21.10
[ODBC]
GAME_DSN=kn_online
GAME_UID=knightonline
GAME_PWD=123456
ACCOUNT_DSN=AccountDB
ACCOUNT_UID=knightonline
ACCOUNT_PWD=123456
[VERSION]
VER=1300
[SG_INFO]
GMY_INFO=1
GSERVER_COUNT=1
GSERVER_00=1
GSERVER_IP_00=84.51.21.10
SERVER_INDEX=1
[NATION]
NATION_ID=1
[FREE_ZONE]
MAX_USER=200
[EVENT]
EVENT_NUMBER=0
[MATURE_SETTING]
PK_PERMIT=0
[MONSTER_CHALLENGE]
ACTIVATE=1
LEVEL=1
[BONUS_EVENT]
MONEY=0
EXP=0
Aujard ;
[ODBC]
ACCOUNT_DSN=AccountDB
ACCOUNT_UID=knightonline
ACCOUNT_PWD=123456
LOG_DSN=AccountDB
LOG_UID=knightonline
LOG_PWD=123456
GAME_DSN=AccountDB
GAME_UID=knightonline
GAME_PWD=123456
[ZONE_INFO]
GROUP_INFO=1
ZONE_INFO=1
[SESSION]
IP1=84.51.21.10
IP2=84.51.21.10
[BILLING]
IP=84.51.21.10
PORT=15100
NUM=1
[PREMIUM_ITEM]
ITEM_NUM1=802134909
ITEM_NUM2=802134903
Ayarlarımızı Yaptıktan Sonra Sunucu Dosyalarını Çalıştırabiliriz…
Arından SQL Serverımızı Tekrar Açıyoruz ve KO_S1 Veritabanımızı Backup Edelim Sonra Tekrar Restore Edelim Restore Ederken KO_S2 Adında Restore Edelim.
2. Sunucumuzda ımıza Geçip Oradaki ODBC leri 1 Serverımıza Bağlandırıyoruz IP AccountDB 84.51.21.10(SQL Server) IP li Sunucuya Bakacak ve KO_MAIN Veritabanına Bakacak, Diğer DSN ler ise KO_S2 Veritabanına Bakacak.
2. Sunucuda Kullanacağınız Server Dosyaları Sadece AIServer, GameServer ve Aujard’dır.
Kod:
AIServer ;
[ODBC]
GAME_DSN=kn_online
GAME_UID=knightonline
GAME_PWD=123456
[server]
ZONE=1
PARTYEXP=0
GROUP=0
Game Server(Ebenezer) ;
[TIMER]
YEAR=2008
MONTH=10
DATE=21
HOUR=4
WEATHER=1
[LOGIN SERVER]
IP=84.51.21.11
[CASTLE]
NATION=1
[ZONE_INFO]
MY_INFO=1
SERVER_COUNT=1
SERVER_00=1
SERVER_IP_00=84.51.21.11
MAX_USER=2000
SERVER_NUM=0
[BATTLE]
WEEK=6
START_TIME=20
END_TIME=0
AUTO=0
WEEK2=6
MWEEK=5
LIMITBATTLE=200
[AI_SERVER]
IP=84.51.21.11
[DB_SERVER]
IP=84.51.21.10
[ODBC]
GAME_DSN=kn_online
GAME_UID=knightonline
GAME_PWD=123456
ACCOUNT_DSN=AccountDB
ACCOUNT_UID=knightonline
ACCOUNT_PWD=123456
[VERSION]
VER=1300
[SG_INFO]
GMY_INFO=1
GSERVER_COUNT=1
GSERVER_00=1
GSERVER_IP_00=84.51.21.11
SERVER_INDEX=1
[NATION]
NATION_ID=1
[FREE_ZONE]
MAX_USER=200
[EVENT]
EVENT_NUMBER=0
[MATURE_SETTING]
PK_PERMIT=0
[MONSTER_CHALLENGE]
ACTIVATE=1
LEVEL=1
[BONUS_EVENT]
MONEY=0
EXP=0
Aujard ;
[ODBC]
ACCOUNT_DSN=AccountDB
ACCOUNT_UID=knightonline
ACCOUNT_PWD=123456
LOG_DSN=AccountDB
LOG_UID=knightonline
LOG_PWD=123456
GAME_DSN=kn_online
GAME_UID=knightonline
GAME_PWD=123456
[ZONE_INFO]
GROUP_INFO=1
ZONE_INFO=1
[SESSION]
IP1=84.51.21.10
IP2=84.51.21.10
[BILLING]
IP=84.51.21.10
PORT=15100
NUM=1
[PREMIUM_ITEM]
ITEM_NUM1=802134909
ITEM_NUM2=802134903
Burada Dikkat Etmeniz Gereken Tek Şey 2. Sunucu daki ODBC Ayarlarını 1. Sunucudaki IP ye Baktırmanız SQL Serverda Ona Bir User(Kullanıcı Açmanız ve Girmeniz) Tamamiyle Olay Bu Kadardır.
Yemeğimiz Hazır Afiyet Olsun..
Alıntı Kaynak : AKUMA