您的位置: 网站首页 » 征途技术 » 征途服务端的配置和安装
征途服务端的配置和安装
作者:本站  来源:本站原创  发布时间:2007-12-4 0:02:02

、服务端的配置和安装 
1、获得安装包: 
release-version.tar.bz2 
map-version.tar.bz2 
在/home/ztgame下建立以时间为名字的目录(game20050928),压缩包放入此目录,然后用tar –jxvf release-version.tar.bz2 和tar –jxvf map-version.tar.bz2解开压缩包 

进入release目录,cp –rf ../map . 
按照config.xml.example格式创建文件config.xml 
配置文件主要定义了服务器的各种参数: 
[global]这段主要定义了通用参数,如服务器本地网络设备名称,扩展网络设备名称,日志级别,SuperServer的服务器地址,端口等参数。 

其他各个段定义了具体的服务参数,主要是指定该服务对应的数据库,数据库的连接地址,端口,用户名,密码等数据库连接字符串。每个服务可以定义日志文件的存放位置,如果没有指定,缺省放置在/tmp/目录下面。 
如SuperServer服务 


mysql://test:123456@192.168.2.14:3306/SuperServer 
/home/test/tmp/superserver.log 

上面配置指明SuperServer服务,采用连接串用户名test,密码123456,访问192.168.2.14服务器上3306端口下SuperServer数据库,日志文件存放在/home/test目录下。其他服务配置类似。 
例子: 

debug 


eth0 

192.168.104.109 

loginServerList.xml 

218.80.198.252 

218.80.198.252 

mysql://ztgame:yS29wahvCH@192.168.104.109:3306/SuperServer 
lmOf.1kySwS0a09j11xyCdI1ySujl1hnCvT0hDitT0hjzv00gzSv00gDSw91tS9fE1 
--> 
/log/superserver.log 

mysql://ztgame:yS29wahvCH@192.168.104.109:3306/RecordServer 
/log/recordserver.log 

mysql://ztgame:yS29wahvCH@192.168.104.109:3306/Bill 
/log/billserver.log 

/log/clienttrade.log 

mysql://ztgame:yS29wahvCH@192.168.104.109:3306/RecordServer 
/log/sessionserver.log 
3600 
/log/offlineMessages 


scenesinfo.xml 
npctrade.xml 
messageSystem.xml 
initcharinfo.xml 
magicrangefile.xml 
quest/ 
map/ 
map/ 
/log/gm_log.log 

300 
/log/ 
/log/scenesserver.log 


/log/gatewayserver.log 
scenesinfo.xml 

forbidWords 


注意存放日至的目录是否建立,以及建立session服务所要求的日志存放子目录offlineMessages。 

修改loginServerList.xml,填入平台中心的FLServer服务器ip以及端口。 
例子: 


然后将修改好的版本传至其它9台服务器。并启动服务 

六、服务器的启动,停止和更新 
1、将运行脚本传至各个服务器。 

2、开启游戏服务 

通过ssh使用ztgame用户远程连接至第一台网关服务器,再通过网关服务器连接其他9台服务器, 
10个窗口内分别进入最新的服务端存放目录/home/ztgame/game200508**/release/ 

数据库服务器 启动服务./SuperServer -d 和 ./SessionServer -d 和 ./RecordServer -d 和 ./BillServer -d 
场景服务器 启动服务./ScenesServer -d 
网关服务器 启动服务./GatewayServer -d 

以上操作可以通过/home/ztgame/tools/allstart game200508**来启动(由于程序是后台运行,所以如发现程序运行时间过长,可以CTRL+c中断,并不影响程序的正常运行。) 


3、停止游戏服务 

通过ssh使用ztgame用户远程连接至第一台网关服务器,运行/home/ztgame/tools/allstop,中止所有服务 
,此脚本是并不是强行杀进程,所以如果发现进程无法kill的情况,用/home/ztgame/tools/allstop_9来强行杀死进程。 

4、查看游戏服务 

通过ssh使用ztgame用户远程连接至第一台网关服务器,运行/home/ztgame/tools/allview,查看所有服务运行状态。 


5、更新游戏服务 

通过ssh使用ztgame用户远程连接至第一台网关服务器,再通过服务器连接其他9台服务器, 
分别在/home/ztgame目录下面建立最新的服务端存放目录game200508**. 

然后将服务器端安装包通过scp传到第一台网关服务器,在game200508**下解压。 
tar jxvf zebra-release-***** 
tar jxvf zebra-release-***** 
cp map release/ -rf 
然后从上一个版本里拷贝出一些配置文件覆盖源文件 
cp /home/ztgame/game_old/release/config.xml /home/ztgame/game_new/release/ 
cp /home/ztgame/game_old/release/loginServerList.xml /home/ztgame/game_new/release/ 
cp /home/ztgame/game_old/release/messageSystem.xml /home/ztgame/game_new/release/ 

以上工作准备好后就可以将网关服务器上的版本传到其他服务器 
scp -r /home/ztgame/game_new/* ztgame@192.168.100.111:/home/ztgame/game_new 

以上操作可以通过shell脚本来实现 
/home/ztgame/tools/installPackage game_new game-old 

七、服务器数据的备份 
1、数据备份 
为了防止意外情况的发生造成数据的丢失,关键数据或整个系统或对有选择的系统部分,在本地和异地进行定时备份,以保证系统全部或部分在灾害出现时也能持续运行。 
2、具体方案 
1)、数据库每日备份 
每天4:00,将RecordServer数据库拷贝至/root/back后进行压缩,然后上传至192.168.1.9服务器上,/root/back留有压缩版本。 
运行脚本/root/scripts/back.sh 
例子: 
#!/bin/bash 
rm /root/back/RecordServer/* -rf 
/usr/local/mysql/bin/mysqlhotcopy RecordServer /root/back/RecordServer -u ztgame -p yS29wahvCH 
sleep 5 
cd /root/back 
tar zcf `hostname`-RecordServer`date +%Y%m%d`.tar.gz RecordServer 
sleep 5 
echo "tar ok!" 
/usr/local/bin/ncftpput -u gamebak -p gamebak@ztgame 218.80.198.234 / /root/back/`hostname`-RecordServer`date +%Y%m%d`.tar.gz 
sleep 20 
echo "upload RecordServer ok!" 
2)、数据库即时备份 
每隔1小时,将RecordServer数据库拷贝至/root/back/hour目录进行备份,然后将压缩文件传给特定服务器。 
例子: 
#!/bin/bash 
hottime=`date +%Y%m%d%H%M` 
mkdir /root/back/hour/RecordServer"$hottime" 
/usr/local/mysql/bin/mysqlhotcopy RecordServer /root/back/hour/RecordServer"$hottime" -u ztgame -p yS29wahvCH 
sleep 5 
cd /root/back/hour 
tar zcf `hostname`-RecordServer"$hottime".tar.gz RecordServer"$hottime" 
sleep 5 
echo "tar ok!" 
/usr/local/bin/ncftpput -u backupdb -p backupdb 19

2.168.102.119 / /root/back/hour/`hostname`-RecordServer"$hottime".tar.gz 
sleep 20 
echo "upload RecordServer ok!" 
rm `hostname`-RecordServer"$hottime".tar.gz -f 
3)、日志备份 
每天02:00,将/log/下前一天的日志,进行压缩,然后上传至192.168.1.9服务器。 
运行脚本/root/scripts//upload_daily 
例子: 
#!/bin/bash 
cd /log/ 
mkdir log`date --date '1 days ago' +%Y%m%d` 
mv *.log.`date --date '1 days ago' +%y%m%d`-* log`date --date '1 days ago' +%Y%m%d` 
sleep 10 
tar zcvf `hostname`-log`date --date '1 days ago' +%Y%m%d`.tar.gz log`date --date '1 days ago' +%Y%m%d` 
/usr/local/bin/ncftpput -u log -p log@ztgame 218.80.198.234 / /log/`hostname`-log`date --date '1 days ago' +%Y%m%d`.tar.gz 
rm `hostname`-log`date --date '1 days ago' +%Y%m%d`.tar.gz 

注:计划任务通过/etc/crontab –e来进行设置 

4)、即时日志备份 
直接运行/home/ztgame/tools/upload 将最新日志上传至192.168.1.9服务器,方便研发部门查看。 
运行脚本/home/ztgame/tools/upload,(如果所有服务器的日志都需要上传,可以运行网关服务器上的/home/ztgame/tools/allupload)


[] [返回上一页] [打 印