马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
客户端篇 一、完整客户端放置 1、将项目组提供的完整客户端下载到本地,然后经过测试安装过程和登陆过程。安装完运行并登陆游戏之前,先将安装目录下的client.dat 备份一份,然后改后缀名为“.exe”后运行(说明:改成“.exe”后该客户端就不会再去自动下载了,这样可以保证运行的客户端就是项目组提供的)。如果这两个过程都没有问题的话,就可以将项目组提供的完整客户端直接上传到CDN(221.238.255.21)了。 2、再用 X:服务器文档魔神 目录下的 WinMD5 工具算出当前客户端的MD5码后发送给项目组同事。
二、更新问题 1、客户端 手动 更新包操作 手动更新文件是产品研发部程序组提供的更新包里的带版本号的“.exe”文件,如Ms_Test_Server_1.15-1.16_patch.exe。只需要把“.exe”文件上传到帝联加速CDN(地址221.238.255.21)就可以了。
2、客户端 自动 更新包操作 2.1、先提取产品研发部程序组提供的更新包文件里的autopatch_test_1.15-1.16文件夹,删除Autopatch_Test_1.15-1.16UIpatchupdate.xml文件(该文件为版本记号,手动更新包需要该文件,但是自动更新包程序会自动生成,所以不需要更新) ,再用压缩工具UpdateMaker.exe将此文件夹的所有内容进行压缩:打开压缩工具UpdateMaker.exe,把文件夹拖进去(压缩工具和文件夹保持在同一目录下),然后回车,输入版本号(更新后的最新的版本),如这次为1.16,然后回车,第一个压缩选“Y”第二个扫描选“N”,等待压缩完成就可以了。压缩完后,会生成一个1.16的文件夹,这个就是我们做好的更新文件。然后将1.16上传到60.191.88.28(ftp:qwf:30020),然后远程上60.191.88.28,传输上去的更新文件所在目录为E:TianjiUpdate,而魔神外网公测更新所在目录为E:updupdatems_patch,测试服目录为E:updupdatems_patchceshi 。然后把上传的版本更新到相应的目录下就可以了。 注意:验证文件是否存在,可以在几分钟后在IE里输入http://cupd.tj.ferrygame.com/ms_patch/ceshi/1.16/versioninfo_1.16.xml(注意路径和地址上的版本信息),查看这个文件,如果可以打开,则可以继续下面的操作。否则,等待到可以打开后再继续。 2.2、修改配置文件,在关闭服务器之后(根据项目组要求,如果没有版本更新的话可以不用关服),Remote到60.191.88.11,进入目录D:ms.ferrygame.com,该文件夹内只有几个“.zip”文件是我们用的,其他的不要乱动。 这里做下简要说明:serverip2.zip和serverip3.zip是加大区的时候用的,2是对外的,3是对上海程序的。Slist_1.zip-slist_5.zip分别对应游戏客户端上面的服务器列表,slist_6.zip对应测试服务器,也可以通过以上更新包里面的server_list.ini(服务器列表)知道所在大区。合服,开新区以及开新服就是在server_list.ini里面进行的。 自动更新包是跟该压缩包里面的version.xml有关的。首先,先把该文件拖到桌面,编辑,添加相同格式的一条参数,修改为最新版本号,然后保存,再压缩回去就可以了。
但是,如果在10分钟内该文件还没有更新,那就该联系CDN了,有两种方式:发送邮件或者打电话: 电话:400-880-5508 邮箱:cdnsupport@dnion.com
服务端篇
一、开新大区和(或)开新服务器
1、核对、检查并测试好如下:硬件环境,系统状态,安全策略,远程端口,默认账号更改。 2、将准备好的外网服务端放进新的服务器(删除所有日志文件和“.xml”,如果有的话),再修改如下几个配置文件(红色部分是需要更改的):
2.1 Account配置文件 [Main] Name 渡口网络 Port 20006 //端口 [ACCDBSrv] AccountCache=0 AccountCache 1 testserver 0 ip 60.191.34.89,1210 //数据库地址 uid sa //数据库帐号 pwd china~209 //数据库密码 db GameAccountDB //帐号数据库名称
2.2、DBgate配置文件 [Main] Name moting Port 20007 //端口 [ACCDBSrv] ip 60.191.34.89,1210 uid sa //与accountgate.Ini对应 pwd china~209 //与accountgate.Ini对应 db GameAccountDB //与accountgate.Ini对应
[ROLEDBSrv] testserver 0 canceldel 1 ip 60.191.34.89,1210 uid sa pwd china~209 db Role_DL //角色库名称(DL大陆)
2.3、Gate配置文件 [Default] //对应的serverui 游戏世界的ip GWorldIP=60.191.34.89 (所开服务器本机的IP) GWorldPort=20005 //需要和对应的Game server的名字一样 GameWorldName=磐石网络 OnlineMax=1000 //但前机器的对外IP,不能写名字 LocalIP=60.191.34.89 //对应的dcserver的ip DCServerIP=60.191.34.89 GatePort=30004 (端口)
2.4、SERVER配置文件:端口、ip地址、版本号、魔神历等。包括:
1、Game_server.ini [Default] //Ver Version=1654041 (根据版本实际情况修改,说明, 天机版本时需要手动修改,现在魔神不需要再手动修改了) //目标数据库服务器的,ip DBServerIP=10.1.1.217 (DB服务器地址) //DBServerPort=20010 DBServerPort=20017 (DB服务器端口) //------------------------------------------------------------------ //文件DB存储路径 FileDBPath=d:filedb (如果D盘没有这个目录,则需要新建) //------------------------------------------------------------------ //游戏世界的名字,需要和对应的Gateserver.ini一样 //系统会自动根据不同的名字生成不同的ID....一组游戏世界中名字不能一样 GameWorldName=磐石网络 LoginServerPort=20010 AccountServerIP=61.164.62.201 (Account的IP) AccountServerPort=20026 (不同的Account不同的端口) //------------------------------------------------------------------ //游戏中新Player所在的出生点的位置
BornPointMap1=0 BornPointX1=494 BornPointY1=508
BornPointMap2=0 BornPointX2=494 BornPointY2=507
BornPointMap3=0 BornPointX3=495 BornPointY3=507
BornPointMap4=0 BornPointX4=495 BornPointY4=508
BornPointMap5=0 BornPointX5=493 BornPointY5=507
BornPointMap6=0 BornPointX6=493 BornPointY6=506
//------------------------------------------------------------------ AllAIOpen=1 //游戏中能有的最多PLAYER数目 OnlineMax=700 //是否启用多线程刷怪 MTRefMonster=1 //是否启用多线程处理地图逻辑 MTStageProc=1 //------------------------------------------------------------------ m_AutoMonsterBornPoint1X=7887 m_AutoMonsterBornPoint1Y=60 m_AutoMonsterBornPoint2X=60 m_AutoMonsterBornPoint2Y=60 serverid=0 m_iEquipAttrDrop1000Rate=800 m_iEquipValueDrop1000Rate=800 fGlobalDropRate=1.00
m_nDropEquip1Hole1000Rate=500 m_nDropEquip2Hole1000Rate=100 m_nDropEquip3Hole1000Rate=20 m_nMakeEquip1Hole1000Rate=750 m_nMakeEquip2Hole1000Rate=150 m_nMakeEquip3Hole1000Rate=30
//等级上限 LevelLimt=60 FriendMax=100 DBIP=10.1.1.217,1210 (DB库信息) szDBName=ServerInfo_DX2 (库名) szDBPWD=Role&DianXin (库密码) szDBUser=DX@Role (库账号) m_nYear=1 魔神历,开新服时设置为:1,1,1,0,0 m_nMonth=10 m_nDay=14 m_nHour=12 m_nMinute=0 m_szYearName=魔神 m_nGameWorldTimerRate=4
//是否开启计费 (TestServer=1时为不开启) TestServer=1 //计费服务器地址 BillingServerIP=127.0.0.1 BillingServerPort=20008
SkillExpLimt =705032704 //PK开关 PKOpen=1 GMPassword=12345!@#$% m_nGameYear=1 (开新服时要改为1) SaveDelay=300000 (基本上下面的都不要改动了) //金钱最大值 MenoyMax=50000000 GoldCovSilver=500 MonsterNumber=1000 loginserverip=localhost OnlySaveToDBOnExit=1
CreatCharBagSize=24 KickPlayerByCredit=1
//是否启用图形验证反外挂 AntiPluginOpen=0 //反脱机外挂图片生成程序路径 CreateImgExe=CreateImgCode/CreateCodeImage.exe //服务器上用于存放临时生成的验证码图片路径 TmpImageFolder=d: mpimgfolder //在经过多长战斗状态时间后进行检测(单位:毫秒) CheckWhenFightingTime=3600000 //留给玩家的验证时间,在此时间内玩家即使不验证也不会受到影响(单位:毫秒) CheckTime=600000
//每点积分增加的时间(秒) perIntegralTime =3600
//是否打开防沉迷 DefWallowOpen =0
//防沉迷每阶段的时间(秒)& 经验减少的比例 FirstPhase =28800 FirstPhaseExpSub =20 FirstPhaseSkillExpSub =20
SecondPhase =43200 SecondPhaseExpSub =40 SecondPhaseSkillExpSub =40
ThirdPhase =57600 ThirdPhaseExpSub =80 ThirdPhaseSkillExpSub =80
//刷新时间 Refresh_hour =17 Refresh_min =30 //复活的RMB //原地复活 ReliveOriginNon =20 //原地复活HPMP全满 ReliveOriginAllHpMp =2000
//每隔多久告诉在线时间的(毫秒) TellPlayerInfoPerTime =1800000 //远程修理价格RMB RePairCost=0
MapThreadSleep=10 DisableChatofWorld=0 //加锁物品的数量上限 LockItemLimt=5 //坐下回复加快% SitdownRestorePer=400
LogServerIP=127.0.0.1 LogServerPort=20011 //锁定强化的银票 LockIntensifyRMB=500 //回血速度 CharDataRestoreCheck =3000
//检测到非指定客户端登陆是否KICK掉这个PLAYER(1是踢,0是不踢) IsKickCheater =0
//物品增加的积分上限 IntegralMaxByItem =550 ShopCenterOffSet=100 AfkTime=120 //杀死同一个人的刷新时间(秒) refreshtime=3600 //第一次杀死% firstkill=100 //第而次杀死% secondkill=80 //第三次杀死% thirdkill=40 //更多次杀死% morekill=0
HighShoutCountPerDay=999 highshottime =180 IsHighShoutTimeLimit=1
//每天获得最大PK值(不能大于PK值上限不能小于0) pkvaluemax =1000 areaid=0 dulendrethpper=15
Login_Server.ini [Default] LocalIP = 127.0.0.1 ListenPort = 20003 (端口号) GameWorldIP = 127.0.0.1 (游戏世界IP) GameWorldPort = 20010 (登陆游戏世界的端口号) GameWorldName = 磐石网络 MaxClient = 1000 LoginDBIP = 127.0.0.1 (Account地址) LoginDBPort = 20006 (需要跟Accountgate的端口对应) AntiPluginOpen=0 CreateImgExe=CreateImgCode/CreateCodeImage.exe TmpImageFolder=d: mpimgfolder
二、合区合服——很简单
不管是合大区还是合服,我们要做的仅仅只有Remote到60.191.88.11上修改相对应的“.zip”里面的配置文件即可! 目前88.11目录下的serverip3.zip文件只是针对上海研发部使用的,基本上不会动到这个。外网信息都在serverip2.zip 合大区的时候修改serverip2.zip里对应的信息,合服的时候修改对应的slist_x.zip 里的信息。
三、服务端更新——最简单
根据项目组或者程序部门提供的更新包文件直接拷贝server 目录下的所有文件覆盖到服务端目录下即可(根据需要修改相应文件名)!
四、魔神架构原理拓扑图
玩家登陆游戏的原理 当玩家选择游戏服务器时首先是通过Login server相连接进行登陆,然后Login server会与account交换数据进行身份验证,验证通过后自动分流到Game server对应的某台gate server中,并且和DB gate交换数据,读取玩家角色,最后进入游戏(Game server)
各个服务器的作用 Account :数据库主服务器,记录玩家帐号,消费信息 DB gate :角色数据库服务器,记录玩家帐号所对应的角色 Gate server :登陆分流服务器,保证玩家可以顺畅登陆游戏的负载均衡式服务器 Login server :游戏登陆器,此服务器的开关直接影响到玩家能否登陆 Game server :游戏世界服务器,负责游戏正常的运行
|