地方网

搜索

[完美世界服务端] 好私服完美网发布的完美国际完整无限制版[含架设教程]

[复制链接]
admin 发表于 2008-8-22 13:36:40 | 显示全部楼层 |阅读模式
软件简介:
: b. w6 j' T8 m【完美世界】 架设教程
7 m7 n4 r  [" _( h* T7 NAU服务器的安装配置8 P6 \; Y- |! p5 [* B5 F( V
http://www.haosfwm.com- U& q& I6 R/ u3 e- h
1.Java环境安装配置7 h8 l" f" K& U. N# H- Z5 W
AU的 manager和auth机器需要安装java环境。
( ~$ Q1 w  @( Y: g  d5 v 将java.tar.gz解压至/usr/目录下,编辑/root/.bash_profile,(参见bash_profile)加入以下几行:
/ a  L( [7 P& H( p  c1 n" s PATH=$PATH:/usr/java/jdk1.5.0_05/bin
1 b& x& h) U# P! U export CLASSPATH=.:/usr/java/jdk1.5.0_05/lib/dt.jar:/usr/java/jdk1.5.0_05/lib/tools.jar
# F  t! j3 X1 D2 V" Q export JAVA_HOME=/usr/java/jdk1.5.0_059 l: Y9 V# L  J) ]# N5 R% A6 G

9 d' d& S7 w% s- n 安装au database需要的JDBC库,并将库文件加入到/root/.bash_profile中的CLASSPATH配置项中。! `* ~+ M- V! r  v! b4 M9 G
2.CA认证配置和hostname-ip配置9 \8 Q9 `9 A. B; Q- S
将ssl.tar.gz 解压至manager:/etc/目录下。
* g/ \' o( |8 R
6 x7 e( j2 U1 B! a5 j! o 在/etc/hosts文件加入一行:
2 v1 S' `$ W) {- x, C4 N4 O) @# n aumanager_ipaddress aumanager" y$ X" _* ?( q, W% }$ `* \( }
其中aumanager_ipaddress为aumanager的内部IP地址。
) v/ T0 U$ A4 R$ B$ E ; x/ U/ q, M6 w! Z2 _4 q& n* q/ w
修改manager:/export/auth/etc/hosts,和auth:/etc/hosts,加入一行:& R; d6 t. G7 _4 C
aumanager_ipaddress manager# G1 F, W/ _% {
其中aumanager_ipaddress为aumanager的内部IP地址。
5 t( N; s: p8 d1 A+ q/ u3.帐号数据库的创建
1 L) t" C4 c9 G& S$ b 创建帐号数据库,根据mssql_table.sql和mssql_storeprocedure.sql示例文件创建数据库表和存储过程。# T  K! y8 e# T. i/ d4 Z
4.配置文件修改" z9 s/ k5 I. ?6 }5 g* `
修改好table.xml文件中关于帐号数据库连接的部分。将修改好的table.xml复制到manager:/etc/目录,/export/auth/etc/目录和auth:/etc/目录下。
0 ?0 h' N: z3 @) c 修改gmopgen.xml文件中关于各游戏服务器的属性。将修改好的gmopgen.xml复制到manager:/etc/目录下。 (/etc/gmopgen.xml是服务器列表配置文件,该文件需要根据游戏服务器的增添来添加和修改XML中的zone项,必须准确填写id(服务器ID,唯一标识该服务器,与游戏服务器中gdeliveryd的相应设置要一样),aid(计费区ID,与游戏服务器中gdeliveryd的相应设置要一样,一般情况下,免费版所有服务器都使用同一个计费区ID),name(服务器名称),url(访问游戏服务器对外接口的webservice url)四个属性。)& _, M) z, ~0 @
将authd.conf文件复制到/export/auth/etc/目录和auth:/etc/目录下。
  u9 W" K( @: c: r 将GMServer.conf文件修改相应IP配置信息和密钥配置信息后,复制到manager:/etc/目录下。  S" T) t: F2 v5 j0 |8 J5 b# W
5.Authd服务安装启动
8 a% T8 _( ]$ G0 j: `1 y 解压cauthd.tar.gz至auth:/root/目录,进入cauthd/build目录,确认java环境配置正常,后台运行! j3 H& p4 M; U9 F1 f. g
#./authd antp命令,查看java进程是否在LISTEN 29200端口,该端口会接收来自各游戏服务器delivery的连接。查看java进程是否有到数据库机器的连接,示例中对于MSSQL Server的缺省配置,应该有1433端口的连接。1 Z6 z( g. ~9 p3 M
2)在manager机器上查看/export/logs/world2.syslog该文件为auth机器上的authd的日志输出。正常工作时,如果该文件没有变动,说明日志没有传输过来,需要检查cauthd/build/log4j.properties配置文件,auth机器能否解析manager的ip,auth和manager的syslog是否工作正常。* o: y. t  S0 K" C
3)查看tomcat的输出文件/usr/local/jakarta-tomcat-5.5.9/logs/catalina.out,看是否正常工作,tomcat中工程重要的日志信息会被同时输出到/export/logs/world2.java文件中。查看该日志文件是否工作正常。
7 f: m4 o; N- N, {  o 4)访问https://aumanager-ipaddress/monitor页面,测试各项功能是否正常。8 F8 L  @; I; ~  r* J; M0 A5 e" R4 X
5)配置logrotate。编辑manager:/etc/logrotate.d/syslog文件,可以配置/export/logs/world2.java和/export/logs/world2.syslog文件的滚动。建议world2.syslog每日滚动一次,保存1周;world2.java每周滚动一次,保存一年。Tomcat的日志文件catalina.out也会变大,建议每周滚动一次。保存3周。
  c. y& I. i! t, u 6)定期检查manager的硬盘空间使用情况。& L* `! a6 b: h" h5 @5 s, y- k$ k
二.游戏服务器配置和管理
1 c8 A0 k: C: p; C! f3 F$ F  d7 y% ?1.服务结构图
* j2 T/ S/ R) D* A7 I2.游戏配置,发布和管理
: o- c0 t' Q! P/ O% f! C 1)游戏配置,在/home/super/update/config目录下配置好相应的xml文件(xml配置文件在c.xml基础上修改即可)后,修改link1机器IP和使用的xml配置文件对应表/home/super/update/config/ip_xml.conf,在发布时,发布程序package可以根据link1机器IP,自动找到本组服务器对应的xml文件。
1 c4 N2 Q' s* ^1 H* ` 2)游戏发布:* g/ i* {8 z+ g4 r& H2 R/ P4 ]! o
#/home/super/update/cpackage/package -gameinstall% \- ?" T( u3 \- w! Y
或者指定xml配置文件:! ~) G+ q, d4 R* @7 _
#/home/super/update/cpackage/package ../config/c.xml gameinstall6 m6 F) l8 O  q5 f! Z  e. F
游戏发布完后,已经启动好。
: g- L5 W8 z* s& ]5 B: t3 K" ~ 3)游戏启动(同iweb管理页面中的修复启动):$ o) J7 J( t* C
#servicerun start( W0 f. Q2 _0 H  @9 A; e/ I" I
过一会后,即可将servicerun进程杀掉,#killall -9 servicerun
' y+ Q+ a( P( |: |( X 4)游戏关闭:2 m: p/ t/ O- O
#servicerun stop3 y$ G9 p* A8 e- q1 g+ s
过一会后,即可将servicerun进程杀掉,#killall -9 servicerun+ f5 Y. G8 B% ?8 u
3.检测游戏服务器是否正常工作
" X) I) O$ s' M( I: m 1)database机器:ps aux命令检查gamedbd进程是否存在;netstat antp命令检查gamedbd是否在监听29400端口;检查/dbf/目录下是否有dbhome目录或者dbhomewdb目录。
6 U8 ]( r0 L; o8 i$ A4 k/ \ 2)link机器:ps aux命令检查glinkd进程是否存在;netstat antp命令检查glinkd是否在监听29000端口,检查glinkd与delivery机器和各台game机器是否有连接。3 Y1 U) G9 K, x) C
3)delivery机器:ps aux命令检查gdeliveryd和gacd进程是否存在;netstat antp命令检查与au是否正常连接(29200)端口,与角色数据库是否正常连接(29400端口),与唯一名服务器是否正常连接(29401端口)。如果与au和唯一名服务器未连接(SYN_SENT状态),检查delivery的防火墙(iptables L -nv)以及au,唯一名服务器是否正常启动。
( w0 E! Z) `6 p1 D, W/ m* \" Y 4)game机器:ps aux命令检查gs进程是否存在。
: c$ R) ?' B+ f( y+ E; X+ ^4 I 5)backup机器:如果在该服启动了唯一名服务,则ps aux命令检查uniquenamed进程是否存在,查看/export/目录下是否有uname目录。检查数据备份是否正常,backup:/export/backup目录和backup:/export/unamebackup目录,正常情况下,每小时一个备份。* t! E+ @* Y! V9 W" E4 M( V
6)定期检查manager,database,backup的硬盘空间使用情况。. {+ K# s, X$ x5 v* Y8 G" `! L/ ?
4.数据备份
- j; S3 k7 h! w% z& Y: p0 k 角色数据库备份在backup:/export/backup目录下,每个备份一个目录,目录名即是备份时间,每小时一个,该备份为全备份,可以定期复制到其他机器做容灾备份。唯一名服务的数据备份在backup:/export/unamebackup/目录下,每个备份一个目录,目录名即是备份时间,每小时一个,也是全备份。! R) R' n- k$ M0 h, d
三.管理页面. Y- I, I1 Q+ P, x' ^
1.访问管理页面的人员需要安装个人证书安装,在windows机器上,双击world2_ca.cer安装, 安装时选择安装到 受信任的根证书颁发机构里。(这个证书可以不安装,如果不安装,每次访问页面会弹出信任确认的对话框)。0 M( X! h! L' O; F
双击world2_iwebmanage.p12 安装密码: wanmeishikong 。安装该证书可以访问" K; f2 V: z4 ^4 z& m) ?/ r1 c
https://gamemanager/iweb/manage 页面和 https://gamemanager/cricket 页面,执行管理和监控。
, b+ t1 G/ T. Y! \ 双击world2_iwebrole.p12 安装密码: wanmeishikong 。安装该证书可以访问
+ ^  m2 r" R$ T  t/ C1 Fhttps://gamemanager/iweb/role 页面,可以修改角色信息等。也可以访问https://aumanager/monitor页面,可以简易创建帐号,充值。9 ?5 \7 E" W8 L1 j' M' g3 m
四.编程接口
( e7 @& I1 d; B% H1 M6 ]. `1.GMServer提供的 webservice接口说明2 ]2 M" c. B2 Y; F! r; v' D& V
接口类UserServiceInterface(url是http://aumanager/GMServer/userservice)和接口类ServiceInterface(url是http://aumanager/GMServer/gmservice),提供的接口详细说明参见文件cGMServer/src/common/interface.xml。
8 ^* a5 b3 Z* @1 r& k* r' \, { (高级功能:如果要增加或者修改接口,可以修改cGMServer/src/common/interface.xml文件,然后运行cGMServer/src/common目录下的gen脚本,生成相应接口类,并完成在cGMServer/src/service目录下的实现类代码。)1 X% N/ e1 u9 F# Z4 S* n
(高级功能:协议描述文件cGMServer/src/config.xml定义了GMServer和Authd之间通信的协议,主要包括踢用户下线,修改密码,划拨金元宝几个接口。接口实现文件在cGMServer/src/protocal目录下。)2 @% U7 Q  k6 h! `/ [
数据库描述文件/etc/table.xml定义了数据库表,查询,存储过程,以及数据库服务器连接配置。
9 d- c. h2 }* W: `- K 权限和服务器列表/etc/gmopgen.xml配置文件也是GMServer.war来读取的。$ e' d' _' Y9 [
GMServer项目文件修改后,需在cGMServer/目录下执行ant命令,编译发布到cGMServer/dist目录下,生成GMServer.war文件。
4 k1 `  w; X4 `) d( b2.划拨金元宝接口方案一. J9 y1 E5 z& T( q
玩家充值时,直接调用web service接口useCash。注意,每次调用该接口都会直接怎增加玩家的金元宝,不管返回值是多少。如果某笔充值调用后没有返回或者返回-1,-2,需要中止全部充值服务,进行检查。返回-1和-2是不应该出现的,如果出现,很可能是数据库连接已断开,充值服务需要中止。
  k* o0 G# s5 D5 B  f 接口如下所示:
5 I/ c7 y0 l7 p4 C' Z  j /**' _0 y5 {* Q; i3 k& D4 B- v
* method useCash
1 c3 [8 U  X  O6 S6 | * 划拨金元宝,调用该接口即为帐号划拨金元宝,返回0表示已经划拨完毕,返回其他值表示正在划拨队列中,其中返回-1或-2表示可能有错误,需要人工检查原因。每笔划拨该接口不管返回何值,都不需要重复调用,否则会重复划拨。
* U7 h" u' `6 V6 C *! v4 V& }4 o! F  d
* @param username : 用户名
% `' u8 d7 J. v: L2 Q( c* Q * @param zoneid : 服务器ID* X, ]* [3 {: J" l0 g2 u$ @; }0 R
* @param aid : 计费区ID
) J* [' y/ i' I, H1 J4 @5 I( y# V * @param cash : 划拨的金元宝个数乘以100
. S& T$ |' q! l! W9 i4 p3 w- [/ C * @param loginfo : 调用者信息9 v: u1 y5 U# x3 w! D! A* l
*/
3 Y7 _  a$ Y! V* b public int useCash( String username, Integer zoneid, Integer aid, Integer cash,8 a+ l: Z( q# E2 h  Y$ G
LogInfo loginfo);
/ c; K2 h8 P" _' z3.划拨金元宝接口方案二
: A- V/ ]# ]* n" b% D& h1 z0 l/ b 8 u2 A; s: t4 M5 I
使用webservice 接口useCashInform。该方案过程是,充值时,先调用存储过程将每笔金元宝划拨放入队列中,然后调用useCashInform接口将该笔充值迅速划拨(如果不调用useCashInform,该笔划拨会在5分钟后自动处理)。' h; K+ s$ C* k- C2 m5 |
步骤一:存储过程调用! |9 o8 D: I# z# f: D# d
// 调用存储过程adduserpoint,成功调用后继续执行,否则,中止,划拨失败。9 V$ H3 l& j8 K, F
adduserpoint userid, aid, cash*90( [: H0 _$ I$ n2 g
//调用存储过程 usecash,调用被执行后(不管参数中返回的error代码是多少)则金元宝已在划拨队列中。
/ c3 h& Z6 O' P0 Q //该队列每5分钟会被自动处理。
; A+ f( U6 U* }* W$ x6 U //usecash存储过程被执行后,如果参数中返回的error为0时,则调用web service接口useCashInform,参数必须一致。
  Y, \5 h7 ~  a" |$ K. n7 ]2 [- W usecash userid, zoneid, 0, aid, cash*90, cash, 1
5 e3 [6 L3 X' E7 J 步骤二:useCashInfrom调用
7 @3 A6 ?  \5 W useCashInform接口如下所示:
& ^$ Z: l4 E& x/ K3 r- ]7 b/ J /**' L7 `* P) U* [) M6 w, x( E5 Q
* method useCashInform
6 e$ z, a4 Q3 c4 X * 划拨金元宝通知。返回结果含义同useCash。该接口为useCash接口的备选方案。使用useCashInform会使系统更健壮,降低出错概率。调用该接口前,需要调用adduserpoint存储过程和usecash存储过程。调用完adduserpoint和usecash存储过程之后,金元宝划拨已经放入队列,调用useCashInform只是为了更快的将队列中的该笔信息划拨,每笔划拨useCashInform只能调用一次,调用多次会出现错误。
- Y: T- D" b5 [/ f* J! _3 j. Y *
. I( \: t8 f+ a  l" G: l0 m * @param userid : 用户ID
) k. g% B0 p- Z( K" e$ x * @param zoneid : 服务器ID+ p2 @$ b, j  X" A
* @param aid : 计费区ID) W) O( f% F& ~
* @param cash : 划拨的金元宝个数乘以100
9 J; A& e: ?0 n; v) F * @param loginfo : 调用者信息
9 v' n: l3 w1 I* _ */
  }0 w7 |5 j, y public int useCashInform( Integer userid, Integer zoneid, Integer aid, Integer cash,% B6 E# r  A  g& c
LogInfo loginfo);/ [1 @; j/ Y$ q" y( B7 d
4.Iweb webservice接口
1 J4 z" G' b6 D4 M) x/ A iweb webservice接口是游戏服务器对外提供的控制游戏和设定参数的编程接口,接口在类ciweb/src/com/goldhuman/service/interfaces/GMService.java中定义。提供的接口详细说明参见文件ciweb/src/com/goldhuman/service/interfaces/interface.xml。% H6 l2 d' \, v2 S- C( a8 H

) i( d+ `: b" | (高级功能:如果需要增加新接口或者修改现有接口参数和返回值,可以修改接口定义文件ciweb/src/com/goldhuman/service/interfaces/interface.xml,然后运行同一目录下的gen脚本,生成相应接口类,并完成在ciweb/src/com/goldhuman/service/GMServiceImpl.java文件中的实现类代码。). K3 o+ G( I# R0 s
Iweb项目文件修改后,需在ciweb/目录下执行ant命令,编译发布到ciweb/dist目录下,生成iweb.war文件
! B6 ?9 O" }' [: `( m! g  H--------------------------------------------------------------7 `* g5 _, F* P
欢迎过来下载,更多的,新版本和完美私服技术
' b1 e) p8 |* |- u4 Jhttp://www.haosfwm.com/
0 I4 B. k4 H, ^3 A- L取系QQ:395005000
) `1 Q; `( e( _# L6 B* m% e1 O/ M下载地址:
2008-8-22 13:36 上传
下载权限:
版本vip会员
本地下载 检测资源   提取码: 需要终身vip或更高权限
有些游戏资源需要vip下载开通请点击开通vip
回复

使用道具 举报

全部回复0 显示全部楼层

发表回复

您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表