- 中查找“征途服务端架设详细教程”更多相关内容
- 中查找“征途服务端架设详细教程”更多相关内容
- ·上一篇文章:征途服务端部分普通设置
- ·下一篇文章:所有征途最新BUG刷级
征途服务端架设详细教程
拿到了征途服务端不会安装怎么办?
看本文章就可以了,本文超级详细的讲解了征途服务端的安装过程
按教程一步一步安装.你一定能成功
|LINUX版 五、服务端的配置和安装
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服务
<SuperServer>
<!--MySQL database connection[mysql://user:passwd@host:port/dbName]-->
<mysql>mysql://test:123456@192.168.2.14:3306/SuperServer</mysql>
<logfilename>/home/test/tmp/superserver.log</logfilename>
</SuperServer>
上面配置指明SuperServer服务,采用连接串用户名test,密码123456,访问192.168.2.14上3306端口下SuperServer数据库,我爱丫丫志文件存放在/home/test目录下。其他服务配置类似。
例子:
<?xml version="1.0" encoding="GB2312"?>
<!--所有各种参数-->
<Zebra>
<global>
<!-- Specify the log level[debug,info,warning,error,fatal,always]. -->
<log>debug</log>
<!--MySQL database connection[mysql://user:passwd@host:port/dbName]-->
<!-- Use the specified local network device. -->
<ifname>eth0</ifname>
<!-- Connected to the specified supserserver, property 'port' default value is 10000. -->
<superserver port="10000">192.168.104.109</superserver>
</global>
<SuperServer>
<!-- 统一用户平台登陆列表文件 -->
<loginServerListFile>loginServerList.xml</loginServerListFile>
<!-- 角色名称唯一性验证的地址 -->
<RoleregServer port="9901">218.80.198.252</RoleregServer>
<!-- 服务器信息采集的地址 -->
<InfoServer port="9903">218.80.198.252</InfoServer>
<!--MySQL database connection[mysql://user:passwd@host:port/dbName]-->
<mysql>mysql://ztgame:yS29wahvCH@192.168.104.109:3306/SuperServer</mysql>
<!-- 如果要编码mysql连接字符串请使用工具,配置如下面的例子
<mysql encode="yes">lmOf.1kySwS0a09j11xyCdI1ySujl1hnCvT0hDitT0hjzv00gzSv00gDSw91tS9fE1</mysql>
-->
<logfilename>/log/superserver.log</logfilename>
</SuperServer>
<RecordServer>
<!--MySQL database connection[mysql://user:passwd@host:port/dbName]-->
<mysql>mysql://ztgame:yS29wahvCH@192.168.104.109:3306/RecordServer</mysql>
<logfilename>/log/recordserver.log</logfilename>
</RecordServer>
<BillServer>
<!--MySQL database connection[mysql://user:passwd@host:port/dbName]-->
<mysql>mysql://ztgame:yS29wahvCH@192.168.104.109:3306/Bill</mysql>
<logfilename>/log/billserver.log</logfilename>
</BillServer>
<BillClient>
<!-- 交易记录log文件路径 -->
<tradelogfilename>/log/clienttrade.log</tradelogfilename>
</BillClient>
<SessionServer>
<!--MySQL database connection[mysql://user:passwd@host:port/dbName]-->
<mysql>mysql://ztgame:yS29wahvCH@192.168.104.109:3306/RecordServer</mysql>
<logfilename>/log/sessionserver.log</logfilename>
<dare_active_time>3600</dare_active_time>
<offlineMsgPath>/log/offlineMessages</offlineMsgPath>
</SessionServer>
<ScenesServer>
<sceneinfofile>scenesinfo.xml</sceneinfofile>
<npctradefile>npctrade.xml</npctradefile>
<messageSystemFile>messageSystem.xml</messageSystemFile>
<charinitinfoFile>initcharinfo.xml</charinitinfoFile>
<magicrangeFile>magicrangefile.xml</magicrangeFile>
<questdir>quest/</questdir>
<mapdir>map/</mapdir>
<tbldir>map/</tbldir>
<gm_logfile>/log/gm_log.log</gm_logfile>
<!--回写档案平率(单位是秒) -->
<writebacktimer>300</writebacktimer>
<ossdir>/log/</ossdir>
<logfilename>/log/scenesserver.log</logfilename>
</ScenesServer>
<GatewayServer>
<!-- 国家排序方式 0:不排序 , 1:在线人数排序 , 2:注册人数排序 -->
<countryorder>2</countryorder>
<logfilename>/log/gatewayserver.log</logfilename>
<sceneinfofile>scenesinfo.xml</sceneinfofile>
<rolereg_verify>1</rolereg_verify>
<forbidWordsFile>forbidWords</forbidWordsFile>
</GatewayServer>
</Zebra>
注意存放我爱丫丫至的目录是否建立,以及建立session服务所要求的我爱丫丫志存放子目录offlineMessages。
修改loginServerList.xml,填入平台中心的FLServerip以及端口。
例子:
<?xml version="1.0" encoding="GB2312"?>
<LoginServerList>
<server ip="218.80.198.252" port="7001"/>
<server ip="210.22.188.20" port="7001"/>
</LoginServerList>
然后将修改好的传至其它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/*
以上我爱丫丫作可以通过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 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 192.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 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)
整个征途架设的过程就是这样了.
实在不会的.多看几次,慢慢体会.