当前位置 :| 主页>天龙>技术文章>

天龙八部服务器架设详细说明下篇

来源: 作者: 点击:
6. 配置world服务器.将tlbbfiles.tar.gz到/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]
IP=x.x.x.x ;设置为windows服务器的外网IP
Port=1014

[World]
IP=x.x.x.x ;设置为world的外网IP
Port=777

[Billing]
;配置可以尝试连接的billing数量
Number=1
;默认的连接billing的IP
IP0=x.x.x.x ;设置为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= x.x.x.x
;Proxy1ForCncUser=0.0.0.0
;负责电信用户接入网通的代理服务器内网IP(暴露给游戏服务器的IP)
Proxy0ForCtcUser=0.0.0.0
;Proxy1ForCtcUser=0.0.0.0
;从教育网代理服务器过来的连接转发给电信代理出口
Proxy0ForEduUser= x.x.x.x
;Proxy1ForEduUser=0.0.0.0

[Server0]
;游戏服务器端程序号
ServerID=0
;此游戏服务器端程序所在的服务器号
MachineID=0
;外网IP地址,用与客户端连接
IP0=x.x.x.x ;tlbb-gameserver 的外网IP
;外网端口
Port0=3731
;内网IP地址,用与服务器端程序间连接
IP1=172.16.1.2
;内网端口
Port1=8880
;服务器端程序类型,如:GameServer,LoginServer
Type=0
;网通的代理服务器IP,这个填写代理OUT-IP就是玩家连接的代理IP
IP(CNC)= x.x.x.x
;网通的代理服务器端口
Port(CNC)=1000
;电信的代理服务器IP
IP(CTC)=0.0.0.0
;电信的代理服务器端口
Port(CTC)=0
;教育网的代理服务器IP
IP(EDU)= x.x.x.x
;教育网的代理服务器端口
Port(EDU)=1000
;ShareMemory共享Key
HumanSMKey=1001
;玩家商店共享Key
PlayShopSMKey=4001
;物品序号
ItemSerialKey=7001
CommisionShopKey=6001
EnableShareMem=1

[Server1]
ServerID=1
MachineID=1
IP0=x.x.x.x ;tlbb-gameserver1 的外网IP
Port0=3732
IP1=172.16.1.3
Port1=8881
Type=0
IP(CNC)= x.x.x.x
Port(CNC)=1000
IP(CTC)=0.0.0.0
Port(CTC)=0
IP(EDU)= x.x.x.x
Port(EDU)=1000
HumanSMKey=1002
PlayShopSMKey=4002
ItemSerialKey=7002
CommisionShopKey=6002
EnableShareMem=1

[Server2]
ServerID=2
MachineID=3
IP0=x.x.x.x ;Login服务的外网IP.与world的IP相同
Port0=7377
IP1=x.x.x.x ;同上
Port1=8882
Type=1
IP(CNC)= x.x.x.x
Port(CNC)=1000
IP(CTC)=0.0.0.0
Port(CTC)=0
IP(EDU)= x.x.x.x
Port(EDU)=1000
HumanSMKey=1003
PlayShopSMKey=4003
ItemSerialKey=7003
CommisionShopKey=6003
EnableShareMem=0

[Server3]
ServerID=3
MachineID=2
IP0=x.x.x.x ;tlbb-gameserver2 的外网IP
Port0=3734
IP1=172.16.1.4
Port1=8883
Type=0
IP(CNC)= www.yaozz.com
Port(CNC)=1000
IP(CTC)=0.0.0.0
Port(CTC)=0
IP(EDU)= x.x.x.x
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下文件夹的那些配置信息.依次启动就可以了.