北美奇迹的客户端 https://ngames03-a.akamaihd.net/na_mu/v1.1.72.0/
巴西奇迹的客户端 https://ngames03-a.akamaihd.net/sa_mu/v1.0.82.0/
【架服。部署新服】
查看服务器区服,服务器IP,登录服务器查看负载
top 查看cpu和负载。
free -m free -g
iostat -x 10
%idle 小于 70 服务器压力很大了
%util 越接近100% ,服务器压力越大。
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
idle小于70% IO压力就较大了,一般读取速度有较多的wait.
到home/db 目录 (bs是部署脚本,bak是备份脚本)
修改部署脚本,之前区服内容注释掉。复制新增区服。修改sid和端口号,以及线路。
执行部署脚本 bs.sh (在后台执行 screen -x )
登录备份服务器
cd /home/coovanftp/rsync/
编辑文件
vim conf_whservers
新增 $host123_141 1800131 (所合区服)
编辑bak.sh
编辑sid 和时间
执行备份脚本。
执行备份脚本报错,不能改变目录(can not change directory )
cd /var/whdb_bak/LUMI/ mkdir创建目录 mkdir s180014{0,1,2,3,4,5,6,7,8,9}
chown -R mysqlupload:mysqlupload *
在后台的服务器信息管理中,复制新增,注意端口,数据库名称等信息。
进入各服相应目录,开启进程。注意查看命名规则。
/direct/login.php
北美备份脚本bak.sh 在 db服务器上。119.81.177.130
/direct/login.php
后台管理 《服务器平台信息》 充值地址 服务器域名。
【 更新 】
查看邮件 日期 时间 w 服务端 v 客户端
********登录 测试服 后台**********
版本信息比较--查看客户端版本--定位客户端
服务器信息管理--定位服务器和目录(cd /home/coovanftp/ftp/twtest/whserver/)
将服务端whserver.zip 迁移至rsync/whserver 目录(如果有scp脚本,查看,是否同步到别的(比如备份)服务器上)
scp的内容 : scp $1 root@ip
:/home/coovanftp/rsync/whserver/
(./scp bmmu_whserver1.1.53.0_nobin.zip )
cp -r twmu_whserver1.2.41.0_nobin.zip /home/coovanftp/rsync/whserver
cd /home/coovanftp/rsync/whserver
解压 zip 版本 A
vim version.ver.ver
查看串码 与 版本信息比较中的 服务器端比较 服务器版本号,
mv bmmu_whserver1.1.53.0_nobin.zip ../whserver_version/
cd ..
sh tb_whserver 同步
同步完成,去正式服--服务器版本比较 查看版本号是否对应。
等待更新时间,关服重启等操作
*******************************************************
客户端的更新(tw)
将原先的bakgame.zip删除。
将原先的game.zip重命名为 bakgame.zip
添加最新版本的game.zip
res_v? 的修改按照v1 v2 v3 来进行循环。
将文件通过ftp拖到服务器上
先拖 game.zip ,再 拖game.txt。
通知运营 推送资源,待资源推送完毕后 ,在后台修改版本号。
******************************************************
关闭入口
关闭服务器 定时 (60s)。 勾选 《关闭守护进程》是关闭,不勾选是重启。根据实际情况的需要来。
守护开关 勾选相应服务器,点击开启 是开启服务器。
查看服务器状态,等待服务器信息,重启状态正常。
进行版本比较。 《版本信息比较》 运行版本为当前文件版本
在《路径及资源URL》 中更新 客户端的版本号。
更改 游戏资源URL地址 https://ngames03-a.akamaihd.net/sa_mu/v1.0.63.1/ //v1.0.63.1
《版本信息比较 》,查看服务端和客户端,查看是否更新完成。
确认上述信息后,开启入口。
通知运营。更新完毕,测试无误可开放入口。
【跨服】需要重启跨服服务器来更新文件版本。
更新完成之后。登录服务器,使用玩家账号登录游戏。(无帮派玩家)
查看版本号是否是更新后的版本号。
《登录服务器》《游戏信息查询》《排行信息》《查询》(选择无帮派的排名靠后的玩家姓名)
《GM工具》 《玩家账号登录》 《粘贴玩家姓名》登录游戏。查看版本号是否更新。
*****************************【合服】********************************
统计合服信息,game服务器,db服务器。
《服务器》 >> 《合服操作》 >> 《更新剩余元宝》
更新剩余元宝**更新剩余元宝**更新剩余元宝**更新剩余元宝**
***********************************************************************
《请选择需要操作的服务器》勾选要合的服, 181-184.
先查看是否有遗留的库,如果有,要删掉。
登录服务器导出数据库。
ll -x -1 /usr/bin/mysqldump*
这时可以编写 dc.sh 脚本,也可以手动一条一条执行命令。
/usr/bin/mysqldumpbak_s203181 1 空格加1
将刚才导出的文件全部放置在自己的目录下打包。 (备份服务器)。
cp -r /var/whdb_bak/ngames/s203181/201607071431.tar.gz 181.tar.gz
cp -r /var/whdb_bak/ngames/s203182/201607071431.tar.gz 182.tar.gz
..
..
zip -q -r yq.zip *gz
zip -q -r 809.zip *gz
zip -q -r xinl.zip *gz
zip -q -r 37g.zip *gz
zip -q -r 360uu.zip *gz
将打包好的数据库包 放置在下载目录下。
【将历史服解压导入】 /home/lm/123 【 jy.py】
【screen -x lm】 执行 【 dr.sh】
-A RH-Firewall-1-INPUT -s 202.60.225.51 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
登录合服服务器
2016-11-24 14:00:00,119.81.165.53,400203193
删除之前旧的没有用的遗留下来的 解压包。
执行 cleardb.sh 清理数据库。(一定要清理)
【清理完在 get, 不然就被清理get完就被清理掉了】
mytget -n 20 http://119.81.165.53/lm/bm.zip
解压传输过来的数据库并导入
******************************************
./jy.py 解压脚本
******************************************
【或者手动(不常用)
ls *zip |xargs -n1 unzip
ls *gz|xargs -n1 tar zxf
;2016-12-01 14:00:00,121.201.61.137,3973700001
然后执行导入脚本
两种导入脚本 (1)dr.sh dr
sh dr.sh 导入脚本
****************************************************************************
(2)【/thread_dr.py】 多线程导入 dr脚本 导好删除已导入的库
******************************************************************************
第一种稍微慢些。第二种为多线程。执行速度快。
2016-12-01 10:00:00,121.201.61.137,400200221
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
导入完成后进入合服目录。cd /home/coovanftp/combine (cd ..)
执行清理脚本,清理数据库彻底。。
sh ql_bmmu.sh (非常重要!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)
【执行清理脚本 ql_bmmu.sh 北美的清理
rj_ql.sh 热江的清理
ql_bxmu.sh 巴西的清理
twrj_ql.sh 台湾热江的清理
vnay_ql.sh 暗夜越南的清理 】
vim clearchas_bmmu.sql 改清理配置(一般不需修改)
切换合服脚本 ./comqiehuan.sh mu (北美)
./comqiehuan.sh ty (暗夜合服)
./comqiehuan.sh rj_19 (热江)
cqlog_2_s191_h2
cqlog_2_s191_h2
【合服后台】
combine_cquser2
combine_cqlog2
combine_cqpay2
combine_cqkf2
去合服的后台
执行 ./start.sh 开始合服
./start.sh (显示奇迹合服脚本)
+++++++++++++++++++++【登录合服服务器后台】++++++++++++++++++++++++++++++
《服务器》>>《登录服务器》 点击 相应的合服服务器 登录
《服务器》>>《游戏服务器合服》>>《数据库合并》
合并之前修改合服服务器数据库为初始名。
slave 服务器中 storaged 的IP 地址 127.0.0.1
slave 服务器中 storaged的监听端口 8101
新生成的库名命名 去掉s改为主服和从服的sid,最后一合用—h表示。
数据库(user)合并完成之后,执行 /stop.sh
重新开启 ./start.sh 继续合并数据库。 如果中间有卡住,可以暂停,然后重新开始。
【每合一个服,stop一次,然后start,最后合完服,stop。 】
【注意合的服的命名 不要加 s 】【adc过渡的库的名都不要加 s】
将所有需要合的服的数据库
./createdb 服务器所属平台ID 服务端sid 合服次数hum
./createdb 18 18118 1 【cquser_18_s118】
./createdb_rj
****************************************************************
*************热江的合服使用 createdb_rj 这个脚本****************
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
./createdb 18 18123 1
./createdb 18 18114 2
./createdb 18 18095 3
./createdb_rj 2 2201 1
./createdb_rj 2 2161 1
./createdb 203 203185 1
./createdb 4 4470 1
./created 2 156 1
5400026
./dc 203 203185 bm 1
+++++++++++++++++++++++++++++++++++++++++++++++
2016-11-03 14:00:00,121.201.61.137,4002300066
./createdb 203 203001 6
./dc 203 203001 bm 6
wget http://139.129.98.112/lm/
./whprtsvr.x86_64 bm_s1_h6
更改对应合服服务器信息,将数据库库名更改为初始库名
合服服务器后台管理,修改库名】!!!!!!!!!!!!!!!!!!!!!
登录对应合服服务器 后台。
《服务器》 >> 《游戏服务器合服》 >> 《重建日志user表 》,勾选 “快速重建 ”,提交>>操作成功。填错的话会报错。
《服务器》 >> 《游戏服务器合服》 >> 【《合并剩余充值元宝》】 log 合几个服,就合并几个log服.118.119..112
【《合并充值记录》】 pay 合几个服,就合并几个pay服 118.119..112
在后台修改合服服务器的信息
./dc 服务器所属平台ID 服务端sid 平台名称 合服次数hum
./dc 203 203181 bm 1
./dc 18 18118 bm 1 【cquser_18_s118】
mv bm_s181_h1.zip ../apps/lm/ 导出之后放到网站目录下供下载
+++++++++++++++++++++++在游戏服务器上+++++++++++++++++++++++++++++++++++
下载至主服db服务器上 (181)解压导入 (执行 导入脚本 dr.sh)
mysql -uroot -p6543211qaz9ol. cquser_2_s221_h1 < itmcards_2.sql
删除没有用的备份脚本。
修改主服备份脚本,将其中的数据库名称改为 新生成的库名。
/usr/bin/mysqldumpbak_s203181
去game服务器 kill掉合服范围内的进程 181-184
ps -ef|grep whp
kill 进程
killall -9 whdatasvr.x86_64 kill守护进程
开启进程
修改配置文件
主服/whserver 修改配置文件cqserver_conf.xml
<world_service /world_service> 中间表示的线路的数目
修改数据库名(user和log)
mv 从服游戏目录至 ./history 历史目录
删除没有用的计划任务。
vim /etc/crontab
vim /etc/crontab 注释从服计划任务(取消182-184.留着181)
如果要增加线数,则复制线路即可。
开启服务 ./whprtsvr.x86_64 bm_s181_h1
【所合服移至历史服】 118-122 【不移动 118】
cd /home/coovanftp/ftp/
mv 1800119 1800120 1800121 1800122 ./history/
删除备份脚本。【118-112】【不删除118】
ll -x -1 /usr/bin/mysqldump*
rm -rf /usr/bin/mysqldumpbak_s1800119
rm -rf /usr/bin/mysqldumpbak_s1800120
rm -rf /usr/bin/mysqldumpbak_s1800121
rm -rf /usr/bin/mysqldumpbak_s1800122
【vim /etc/crontab】
注释掉119-112 【118 不注释】
登录主服服务器后台,删除从服(一定要先加历史服)
------------------******
历史服
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
充值统计!!!!!!!!!!!!!!!!!!!!!!!!!!
排行信息!!!!!!!!!!!!!!!!!!!!!!!!!!!
合服完毕不要忘了开放入口
-------------------------*****
修改主服
接口信息
2016-11-01 10:00:00,119.81.165.53,999203185
2016-07-07 14:00:00,119.81.165.53,999203181
2016-11-02 14:00:00,119.145.254.201,3963600001
2016-11-02 14:00:00,121.201.61.137,4003600049
充值统计
排行信息
【检查】
登录服务器,《游戏信息查询》 《排行信息》 《财富》 查看所有信息里面的区服是否包括所有所合服。
是否包括【118-122】 118 119 120 121 122
合服完毕,更改登陆和充值接口,测试无误可开放入口。
/usr/bin/mysqldumpbak_s400473 1
https://ngames03-a.akamaihd.net/sa_mu/v1.0.82.0/
153.101.212.98 联通
导入礼包卡
mysql -uroot -p6543211qaz9ol. cquser_4_s470_h1 < itmcards_4.sql
mysql -uroot -p123456 cquser_5_s91_h5 < it.sql
mysql -uroot -p123456 cquser_5_s134_h2 < it.sql
mysql -uroot -p123456 cquser_5_s156_h1 < it.sql
集结号
2016-12-14 14:00:00,121.201.61.137,4003500123
2016-11-08 14:00:00,121.201.61.137,3995900041
优趣
2016-10-10 14:00:00,121.201.61.137,3987400001
游戏的迁移 导出数据库,下载至要迁移的服务器
将游戏资源打包,下载至要迁移的服务器
更新游戏端口,不能冲突,
使用ppport查看各区端口是否冲突。
使用changeport.sh 来更新端口
更新线路使用showlines.sh
运行set_rsync_crontab.sh设置同步脚本
修改配置文件cqserver_conf.xml,修改服务器ip,数据库ip。
修改后台服务器IP,DB的IP。 通知运营解析IP。
关于礼包卡,礼包卡类型,礼包领取条件。(在user库中)
itmcards 礼包卡
itmcardtp 礼包卡配置
itmdpctrl 礼包卡
paycardtp 礼包卡领取条件。
在 navicat中导出相应的表,转储SQL文件,结构和数据。
存储在本地,用文本编辑器打开sql文件进行编辑。
删除文本中的注释部分,如果文本当中有中文,在文本的第一行加上set names utf8;
双线合2【37-38&49&56】
合服三合服
comebine_cfg
dbout_cfg 要导出的数据库后缀: 例如cquser_39_s58 - cquser_39_s67
合成的user库名为cquser_39_s58_h1。此处应填写 39_s58_h1
合服合并的原始区服信息(一行一服)。填写
配置文件one.key
例如:./onekey.py 项目名称 是否解压压缩文件 是否导入数据库 是否清理角色 是否需要再次合服 是否需要合并数据 是否需要导出数据
./onekey.py ro 1 1 1 1 1 1
[root@iZ28bf0qja6Z combine]# ./onekey.py rj 0 0 1 1 1 1
VIM 的块操作
Ctrl + V 或者直接 V 通过方向键选择区域,如果要进行删除,执行dd
注意新增平台
新增平台的id不可以合别的重复(c1c2c3都要看)
记住最后一个pid 如果新平台需要增加 就pid+1
在后台填写数据库IP时应该填写 内网IP。
执行备份bak。要为新增平台新增目录
进入备份服务器。(热江121.201.61.137)cd /var/whdb_bak/
以为新增平台258pk为例
执行 ll 命令查看目录的用户及用户组
mkdir -p ./258pk/s9100001
chown mysqlupload:mysqlupload ./258pk/s9100001
sed -i "s/10.104.228.207/192.168.254.197/g" /home/coovanftp/ftp/8100001/whserver/cqserver_conf.xml
【数据库红了之后的重启】
关闭入口,关闭守护进程,关闭服务器。 等何立操作。开进程,开入口。
【更新后服务器起不来】
killall -9 whserver (在服务器其它服都关闭的情况下)
ll /proc/port
IPv4 地址: 10.0.1.34
【导入数据库失败】
充值统计查询报错“没有库”,后台数据库信息填写正确,原因可能是数据库导入失败!!!
sql导入数据库失败 是因为sql没有数据,查看合服配置信息是否填写正确。
【登录游戏转圈】
登录游戏后一直转圈,原因是服务端端口问题。
netstat -anp |grep port 查看各个端口是否正常。
killall -9 whdatasvr.x86_64 kill进程,重启。
【删除角色信息】
以角色名删除失败时
删除玩家角色信息时删除 cid 为最准。
在数据库中删除的时候,出现Query OK, 1 row affected。
删除失败的时候是 0 row affected。(注意查看)
delete * from chas where cid="";
delete * from chas where uid="";
delete * from chas where name="";
【游戏加载到100无法进入】
查看其他玩家可否正常登录,如果其他玩家可以,
查看跨服日志是否有报错。
看是否是跨服关闭卡在跨服里面。
5599合3(1-8)
【游戏部署】
./whprtsvr.x86_64: error while loading shared libraries: libcurl.so.3: cannot open shared object file: No such file or directory
cd /usr/lib64
ln -s libcurl.so.4 libcurl.so.3
【关于关服】
平台信息管理,修改关服时间
关闭游戏 /STOP/KILL
center数据库密码在cmd配置文件中查看。
/最新服务端/最新客户端/cmd/gmd/game_sql/center_sql/
打包总备份 地址交给管理人员。
清理服务器(删除/home下的文件)
关闭服务器并归还给。
原文:http://www.cnblogs.com/jkklearn/p/6386796.html