准备的系统与工具:
映射开放外网端口如下:3731 3732 7377 等端口 777 1041等端口不需要开放!
WIN2003 企业版 LINUX红旗9.2服务器版或者红帽子系统(安装全部工具)
LINUX 的名称为 tlbb-gameserver tlbb-gameserver1 tlbb-gameserver2 tlbb-worldserver tlbb-billserver
连接在内网的IP分别设置为172.16.1.2 172.16.1.3 172.16.1.4 172.16.1.5 172.16.1.6 或者192.168.0.* 分为 5个网段,需要修改端内配置文件的IP!
tlbb-gameserver
tlbb-worldserver
以上两台LINUX服务器需要安装如下软件:
mysql-connector-odbc-3.51.12-1
mysqlclient10-3.23.58-4
MySQL-client-standard-5.0.27
UnixOdbc
Tlbb-billserver 需要安装如下软件:
Oracle10g-Client
MySQL-server-standard-5.0.27
Windows 服务器安装
Mssql2000 Oracle10g
mysql-connector-odbc-3.51oracle10g客户端安装步骤
内网IP设置为172.16.1.1 或者192.168.0.* 端内配置文件需要改IP
1. 将分别传到172.16.1.2~172.16.1.6 传到172.16.1.6
2. 将tlbb.dmp 与tl_gameuser.dmp 还原到oracle数据库.在还原数据库之前.先在oracle创建3个帐户
命令:
create user tlbb IDENTIFIED BY JC4KQO1EJP;
create user tl_gameuser IDENTIFIED BY S0DHRFZVZ5;
create user tlbb_read IDENTIFIED BY JC4KQO1EJP;
设置角权限与系统权限
//-- Grant/Revoke role privileges
grant connect to TLBB;
grant resource to TLBB;
//-- Grant/Revoke system privileges
grant alter session to TLBB;
grant create cluster to TLBB;
grant create database link to TLBB;
grant create sequence to TLBB;
grant create session to TLBB;
grant create synonym to TLBB;
grant create table to TLBB;
grant create view to TLBB;
另外两个帐户也是同样的设置 改下 后面的 名称就可以设置了!
Imp tlbb/JC4KQO1EJP@ora10g file=G:\tlbb\files\Db\tlbb.dmp ignore=y //--导入tlbb.dmp ORC数据库
Imp tl_gameuser/S0DHRFZVZ5@ora10g file=G:\tlbb\files\Db\tl_gameuser.dmp ignore=y //--导入tl_gameuser.dmp
导入完成之后用pl/sql以system用户登陆上去.将tl_gameuser.userbasic授予tlbb用户的访问,然后设置tlbb用户的对象权限。
将权限的删除 更新 选择 插入 赋予
将tlbb用户Procedures下带有红X的储存过程重新编译一下
帐户数据库弄好后.开始导入游戏数据库及统计数据库.用SQLyog以root连接,
建立tlbbdb.将DBInit_0_9_0020_mysql.sql导入此库即可.然后设置帐户及拥有的权限.tlbbdb_stat.sql操作和上面一样。
命令请复制完整!
建立帐户tlbb tlbbtools
use mysql;
insert into mysql.user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, ssl_type, ssl_cipher, x509
_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections) value ('172.16.%.%', 'tlbb', '*C6F4E3C4123F5707129F96C63E488D268C89C1CA', 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0);
insert into mysql.user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections) value ('172.16.%.%', 'tlbbtools', '*70851F21ECE641B52D5B9946950566EB08C935DA', 'Y','Y','Y','Y','N','Y','N','N','N','N','N','Y','Y','N','N','N','Y','N','Y','N','N','Y','Y','N','N','N','','','','',0,0,0,0);
--设置访问权限
insert into mysql.db ( Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_p
riv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Execute_priv) value( '172.16.%.%', 'tlbbdb','tlbb', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
insert into mysql.db ( Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Execute_priv) value( '172.16.%.%', 'tlbbdb','tlbbtools', 'Y', 'Y', 'Y', 'Y', 'N', 'Y', 'N', 'Y', 'Y', 'N', 'Y', 'N', 'Y', 'Y', 'N', 'N', 'Y');
insert into mysql.db ( Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Execute_priv) value( '172.16.%.%', 'tlbbdb_stat','tlbb', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N');
3. 在tlbb-billserver /home 目录建立tlbb文件夹.并将解压到此文件里.
4. 更改/home/tlbb/etc下f f host.lst这三个文件里的IP,及oracle连接信息.需要更改的项如下
f 文件
#散列数量:
HASHING_NUM = 1
#散列表0:
MAXDBCONNS0 = 5
DBUSER_DB0 = tlbb
DBPASS_DB0 = JC4KQO1EJP
DBTNS_DB0 = ora10g ;这里为oracle的TNSname,在tnsnames.Ora文件里查.
MAXDBCONNS_BILL = 20
DBUSER_GAMEBILL = tlbb
DBPASS_GAMEBILL = JC4KQO1EJP
DBTNS_GAMEBILL = ora10g
#
MAXDBCONNS_AUTH = 20
DBUSER_GAMEAUTH = tl_gameuser # for userbasic
DBPASS_GAMEAUTH = S0D
HRFZVZ5
DBTNS_GAMEAUTH = ora10g
host.lst 文件
< --world服务的外网IP
172.16.1.5 --world服务的内网IP 可修改,记住修改配置
4. 设置oracle客户端的a 将oracle服务名改为ora10g host改为172.16.1.1 更改后如下
ORA10G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.1.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora10g)
)
)
5. 启动billing服务 ./tlbb start 如果出现**************draw information end************ 的字样就表示启动成功了
6. 配置world服务器.将到/home 更改/home/tlbb/Server/Config下的ServerInfo.ini ShareMemInfo.ini LoginInfo.ini 这3个文件.
ServerInfo.ini
[System]
Desc0=功能:配置服务器端程序的相关情况;
Desc1=IP0、Port0指外网的地址和端口;
Desc2=IP1、Port1指内网的地址和端口;
Desc3=Type:Game=0;Login=1;
;当前服务器ID,(0,1,3,0根据服务器定)
CurrentServerID=0
;当前游戏世界的服务器端程序数量
ServerNumber=4
[Mother]
;设置为windows服务器的外网IP
Port=1014
[World]
;设置为world的外网IP
Port=777
[Billing]
;配置可以尝试连接的billing数量
Number=1
;默认的连接billing的IP
;设置为billing服务的外网IP
默认的连接billing的连接端口
Port0=15680
IP1=0.0.0.0
Port1=10101
IP2=0.0.0.0
Port2=10101
IP3=0.0.0.0
Port3=10101
IP4=0.0.0.0
Port4=10101
[Proxy]
负责网通用户接入电信的代理服务器内网IP(暴露给游戏服务器的IP)
Proxy0ForCncUser=
;Proxy1ForCncUser=0.0.0.0
;负责电信用户接入网通的代理服务器内网IP(暴露给游戏服务器的IP)
Proxy0ForCtcUser=0.0.0.0
;Proxy1ForCtcUser=0.0.0.0
;从教育网代理服务器过来的连接转发给电信代理出口
Proxy0ForEduUser=
;Proxy1ForEduUser=0.0.0.0
[Server0]
;游戏服务器端程序号
ServerID=0
;此游戏服务器端程序所在的服务器号
MachineID=0
;外网IP地址,用与客户端连接
;tlbb-gameserver 的外网IP
;外网端口
Port0=3731
;内网IP地址,用与服务器端程序间连接
IP1=172.16.1.2
;内网端口
Port1=8880
服务器端程序类型,如:GameServer,LoginServer
Type=0
;网通的代理服务器IP,这个填写代理OUT-IP就是玩家连接的代理IP
IP(CNC)=
;网通的代理服务器端口
Port(CNC)=1000
;电信的代理服务器IP
IP(CTC)=0.0.0.0
;电信的代理服务器端口
Port(CTC)=0
;教育网的代理服务器IP
IP(EDU)=
;教育网的代理服务器端口
Port(EDU)=1000
;ShareMemory共享Key
HumanSMKey=1001
;玩家商店共享Key
PlayShopSMKey=4001
;物品序号
ItemSerialKey=7001
CommisionShopKey=6001
EnableShareMem=1
[Server1]
ServerID=1
MachineID=1
;tlbb-gameserver1 的外网IP
Port0=3732
IP1=172.16.1.3
Port1=8881
Type=0
IP(CNC)=
Port(CNC)=1000
IP(CTC)=0.0.0.0
Port(CT
C)=0
IP(EDU)=
Port(EDU)=1000
HumanSMKey=1002
PlayShopSMKey=4002
ItemSerialKey=7002
CommisionShopKey=6002
EnableShareMem=1
[Server2]
ServerID=2
MachineID=3
;Login服务的外网IP.与world的IP相同
Port0=7377
;同上
Port1=8882
Type=1
IP(CNC)=
Port(CNC)=1000
IP(CTC)=0.0.0.0
Port(CTC)=0
IP(EDU)=
Port(EDU)=1000
HumanSMKey=1003
PlayShopSMKey=4003
ItemSerialKey=7003
CommisionShopKey=6003
EnableShareMem=0
[Server3]
ServerID=3
MachineID=2
;tlbb-gameserver2 的外网IP
Port0=3734
IP1=172.16.1.4
Port1=8883
Type=0
IP(CNC)=
Port(CNC)=1000
IP(CTC)=0.0.0.0
Port(CTC)=0
IP(EDU)=
Port(EDU)=1000
HumanSMKey=1003
PlayShopSMKey=4003
ItemSerialKey=7003
CommisionShopKey=6003
EnableShareMem=1
ShareMemInfo.ini
[System]
DBIP=172.16.1.6 ;数据库ip
DBPort=3306 ;数据库端口
DBName=tlbbdb ;数据库名称
DBUser=tlbb ;用户名
DBPassword=t!lbb ;密码
SMUInterval=1200000 ;world数据存盘时间(毫秒)
DATAInterval=900000 ;Human数据存盘时间(毫秒)
CryptPwd=0 ;密码是否加密,1是加密,0是不加密
[ShareMem]
KeyCount=5 ;ShareObj 个数
Key0=2001 ;第一个key的编号
Type0=2 ;HumanSMU类型 1
Key1=3001
Type1=3
Key2=8001
Type2=8
Key3=9001
Type3=9
Key4=5001
Type4=5
LoginInfo.ini
[System]
LoginID=2 ;当前Login服务器端程序的LoginID
DBIP=172.16.1.6
DBPort=3306
DBName=tlbbdb
DBUser=tlbb
DBPassword=t!lbb
ClientVersion=1005
DBConnectCount=10
TurnPlayerCount=100
CryptPwd=0 ;密码是否加?
EnableProxyConnect=0
7. 配置odbc.ini与odbcinst.ini,这里非常重要.请按照参考如下配置
odbc.ini
[tlbbdb]
Driver = /usr/lib/libmyodbc3.so
Description = MyODBC 3.51 Driver DSN
SERVER = 172.16.1.6
PORT = 3306
USER = tlbb
Password = t!lbb
Database = tlbbdb
OPTION = 3
SOCKET =
odbcinst.ini
# Example driver definitinions
#
#
# Included in the unixODBC package
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/lib/libodbcpsql.so
Setup = /usr/lib/libodbcpsqlS.so
FileUsage = 1
# Driver from the MyODBC package
# Setup from the unixODBC package
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc3.so
Setup = /usr/lib/libodbcmyS.so
FileUsage = 1
保存OK后.设置$LD_LIBRARY_PATH.
export LD_LIBRARY_PATH=/home/tlbb/Server:$LD_LIBRARY_PATH
并编辑/etc/profile 写入以上内容保存.
8. 测试服务启动是否正常,cd /home/tlbb/Server ./shm start 如果出错了服务会自动中止.请查看Log里的日志文件进行调试.
9. shm启动没问题的话就将run.sh和stop.sh 传到root文件夹下.进行启动.启动完成后.ps -ex 看进程是否存在着.5
为了确定服务启动成功,telnet 172.16.1.5 777 7377 如能连上就表示OK了.这时候应该查看billing服务是否接收到Login服务的响应.到bill服务器./tlbb list
如果没显示出Login服务的IP及World服务的编号说明host.lst配置有问题.请查看log
文件夹中gbs-x-x.log进行调试.
10. World服务器配置完成后接下来就是Game服务器的配置.配置基本上跟World的配置差不多.需要更改ServerInfo.ini ShareMemInfo.ini 这两个文件.可直接将World服务器的这两个文件拷贝过来覆盖.然后更改如下几个项
ServerInfo.ini
这个文件不用更改.如果是tlbb-gameserver1就需要更改.
;当前服务器ID,(0,1,3,0根据服务器定)
CurrentServerID=0 ;这里不变.如果是tlbb-gameserver1,就需要设置为1,按ServerID=X 而定.
ShareMemInfo.ini
[ShareMem]
KeyCount=4 ;ShareObj 个数
Key0=1001 ;第一个key的编号
Type0=1 ;HumanSMU类型 1
Key1=4001
Type1=4
Key2=7001
Type2=7
Key3=6001
Type3=6
这里是根据ServerInfo.ini设置的.
odbc.ini和odbcinst.ini 如上面所说的设置,不再赘述.
先启动./shm start 看看是否正常.正常的话就./shm stop 并将run.sh 和stop.sh传到ROOT文件夹运行./run.sh 再ps -ex看下进程情况,8
再telnet游戏服务端口.能连上就证明没什么问题了.另外两台服务器设置和这个差不多.唯一区别就是ServerInfo.ini ShareMemInfo.ini文件的设置.上面已经说过设置方法了.不再赘述.
11. 在WINDOWS上把Sohu这个文件夹解压到C盘.还原数据库.改GTOOL下文件夹的那些配置信息.依次启动就可以了

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。