1.https://aumanager-ipaddress/monitor页面。
查看tomcat的输出文件/usr/local/jakarta-tomcat-5.5.9/logs/catalina.out,看是否正常工作。
7.检测Au是否正常工作
在auth机器上启动authd,在manager机器上启动tomcat。然后检测以下项目是否正常工作。
1)在auth机器上执行netstat –antp命令,查看java进程是否在LISTEN 29200端口,该端口会接收来自各游戏服务器delivery的连接。查看java进程是否有到数据库机器的连接,示例中对于MSSQL Server的缺省配置,应该有1433端口的连接。
2)在manager机器上查看/export/logs/world2.syslog该文件为auth机器上的authd的日志输出。正常工作时,如果该文件没有变动,说明日志没有传输过来,需要检查cauthd/build/log4j.properties配置文件,auth机器能否解析manager的ip,auth和manager的syslog是否工作正常。
3)查看tomcat的输出文件/usr/local/jakarta-tomcat-5.5.9/logs/catalina.out,看是否正常工作,tomcat中工程重要的日志信息会被同时输出到/export/logs/world2.java文件中。查看该日志文件是否工作正常。
4)访问https://gamemanager/iweb/manage 页面和 https://gamemanager/iweb/role 页面,可以修改角色信息等。也可以访问GMServer提供的 webservice接口说明
接口类UserServiceInterface(url是http://aumanager/GMServer/gmservice),提供的接口详细说明参见文件cGMServer/src/common/interface.xml。
(高级功能:如果要增加或者修改接口,可以修改cGMServer/src/common/interface.xml文件,然后运行cGMServer/src/common目录下的gen脚本,生成相应接口类,并完成在cGMServer/src/service目录下的实现类代码。)
(高级功能:协议描述文件cGMServer/src/config.xml定义了GMServer和Authd之间通信的协议,主要包括踢用户下线,修改密码,划拨金元宝几个接口。接口实现文件在cGMServer/src/protocal目录下。)
数据库描述文件/etc/table.xml定义了数据库表,查询,存储过程,以及数据库服务器连接配置。
权限和服务器列表/etc/gmopgen.xml配置文件也是GMServer.war来读取的。
GMServer项目文件修改后,需在cGMServer/目录下执行ant命令,编译发布到cGMServer/dist目录下,生成GMServer.war文件。
2.划拨金元宝接口方案一
玩家充值时,直接调用web service接口useCash。注意,每次调用该接口都会直接怎增加玩家的金元宝,不管返回值是多少。如果某笔充值调用后没有返回或者返回-1,-2,需要中止全部充值服务,进行检查。返回-1和-2是不应该出现的,如果出现,很可能是数据库连接已断开,充值服务需要中止。
接口如下所示:
/**
* method useCash
* 划拨金元宝,调用该接口即为帐号划拨金元宝,返回0表示已经划拨完毕,返回其他值表示正在划拨队列中,其中返回-1或-2表示可能有错误,需要人工检查原因。每笔划拨该接口不管返回何值,都不需要重复调用,否则会重复划拨。
*
* @param username : 用户名
* @param zoneid : 服务器ID
* @param aid : 计费区ID
* @param cash : 划拨的金元宝个数乘以100
* @param loginfo : 调用者信息
*/
public int useCash( String username, Integer zoneid, Integer aid, Integer cash,
LogInfo loginfo);
3.划拨金元宝接口方案二
使用webservice 接口useCashInform。该方案过程是,充值时,先调用存储过程将每笔金元宝划拨放入队列中,然后调用useCashInform接口将该笔充值迅速划拨(如果不调用useCashInform,该笔划拨会在5分钟后自动处理)。
步骤一:存储过程调用
// 调用存储过程adduserpoint,成功调用后继续执行,否则,中止,划拨失败。
adduserpoint userid, aid, cash*90
//调用存储过程 usecash,调用被执行后(不管参数中返回的error代码是多少)则金元宝已在划拨队列中。
//该队列每5分钟会被自动处理。
//usecash存储过程被执行后,如果参数中返回的error为0时,则调用web service接口useCashInform,参数必须一致。
usecash userid, zoneid, 0, aid, cash*90, cash, 1
步骤二:useCashInfrom调用
useCashInform接口如下所示:
/**
* method useCashInform
* 划拨金元宝通知。返回结果含义同useCash。该接口为useCash接口的备选方案。使用useCashInform会使系统更健壮,降低出错概率。调用该接口前,需要调用adduserpoint存储过程和usecash存储过程。调用完adduserpoint和usecash存储过程之后,金元宝划拨已经放入队列,调用useCashInform只是为了更快的将队列中的该笔信息划拨,每笔划拨useCashInform只能调用一次,调用多次会出现错误。
*
* @param userid : 用户ID
* @param zoneid : 服务器ID
* @param aid : 计费区ID
* @param cash : 划拨的金元宝个数乘以100
* @param loginfo : 调用者信息
*/
public int useCashInform( Integer userid, Integer zoneid, Integer aid, Integer cash,
LogInfo loginfo);
4.Iweb webservice接口
iweb webservice接口是游戏服务器对外提供的控制游戏和设定参数的编程接口,接口在类ciweb/src/com/goldhuman/service/interfaces/GMService.java中定义。提供的接口详细说明参见文件ciweb/src/com/goldhuman/service/interfaces/interface.xml。
(高级功能:如果需要增加新接口或者修改现有接口参数和返回值,可以修改接口定义文件ciweb/src/com/goldhuman/service/interfaces/interface.xml,然后运行同一目录下的gen脚本,生成相应接口类,并完成在ciweb/src/com/goldhuman/service/GMServiceImpl.java文件中的实现类代码。)
Iweb项目文件修改后,需在ciweb/目录下执行ant命令,编译发布到ciweb/dist目录下,生成iweb.war文件。 |