地方网

搜索

[征途服务端] 征途私服服务端+详细安装教程(附带工具)

[复制链接]
admin 发表于 2008-8-18 17:19:41 | 显示全部楼层 |阅读模式
软件简介:2 \- X5 l1 b9 Z
版本为征途 1.03版服务端测试版本,对应的客户端为官方1.03,应用在LINUX系统上
% f* c/ a9 K. @* F如果是自己无聊研究的话,请先自学LINUX系统知识,【本版本售价为1800 RMB 无实力者勿扰】
' M4 L9 s, _# s4 {4 `4 s$ H浪花网络
0 @+ b4 w& |2 `! e: Y9 g* l; c' S! d客服QQ:516363674( f1 ^% a2 F/ y# }' E# h8 T
电话:13231911761, `+ C$ ~! w& [" T9 ]
网站:www.gm010.com" K2 M5 b1 S7 e& A' `
【本版本售价为1800 RMB (送网站,登陆器300 RMB)无实力者勿扰】
/ y2 f0 Y: @; Q! S) s测试版本不提供技术支持!!!!2 Y& I6 n- E8 f  g
, F) m' C0 j( k- W8 E1 g
征途服务端架设说明:% ]" ~- V6 H& Q, c: k
游戏服务器注意事项   k6 c0 F- X' X1 ]
一、硬件的安装
& M, ^2 U: w: B1、保证服务器风扇正常转动。 ! F. ~8 D6 D, ]2 y- |3 H8 C5 @
2、保证服务器各个提示灯是否正常。
7 J9 v; w+ f8 g4 K3、开机察看服务器有无报警情况。 % y( P8 ^7 ?- b) V
4、开机察看服务器能否正常启动(不插鼠标键盘的情况下)
, d+ H- l3 A% _" ~2 S+ C二、系统的安装
& N% O: M) l: X! [" I; ~1、 安装RHEL 4.1 # I! q8 |; U+ n3 @6 |
2、 选择自动分区。
6 M: [0 O6 b" v) _, j7 J; p0 c; Y3 w3、 分别给2块网卡配置ip,方便以后配置,其中eth0配内网ip,eth1配外网ip。
5 B9 U# |' v0 ^4、 不启用防火墙。
# T/ h3 a) A0 i. r; v- G6 u+ z5、 增加中文语言包。
- m" q% O, [. N8 ]" @. c' @/ [6、 选择软件包时,只选择开发包.
) f1 V4 _# t2 @1 f+ W7 ^5 C/ E  h2 k4 U5 y) F% L: }# m
三、系统的简单设置 9 P  _6 n2 k3 o7 E9 {7 E
1、防火墙的简单设置: . j2 a; U2 c2 x3 a! g1 Z
vi /etc/rc.d/forward ; q- m4 r5 ^3 g1 h$ ^3 p
内容:(例子)
( X; K/ M6 y$ v5 H" J0 C$ H#!/bin/bash : z. e/ S; D2 j& L, U8 q
echo 1 /proc/sys/net/ipv4/ip_forward
) h; E0 H/ ?0 K. F2 L1 C! oif [ -e /proc/sys/net/ipv4/tcp_ecn ]
- S" s; f, N4 ]/ P- Nthen " g2 m: t/ k% b% o; }+ M6 n
echo 0  /proc/sys/net/ipv4/tcp_ecn
+ V- g7 V4 j& n! I* \fi
+ c$ k) ~; y$ V. e3 J1 M1 t/sbin/iptables -F 3 Z1 B" z/ ]9 k2 F% |
/sbin/iptables -F -t nat ' D" A/ F7 h4 |) ^5 e6 b
/sbin/depmod -a
' T/ C% k+ d. N; Z; N/sbin/modprobe ip_tables ) p. \7 {: Q/ g2 _5 j+ s
/sbin/modprobe ip_conntrack
6 m$ [3 b0 b8 x$ K4 x+ f4 o6 {- K/sbin/modprobe ip_nat_ftp * B8 s0 b$ c6 R  f5 g9 ]
/sbin/modprobe ip_conntrack_ftp
4 g4 n% M4 y9 G& H8 g/sbin/iptables -A INPUT -i lo -j ACCEPT * ^& l% ^- o9 I( x0 q4 Y
/sbin/iptables -A INPUT -i eth0 -j ACCEPT 3 ^, ]5 D+ X9 |( q: g
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
4 j2 u+ D" e! g6 G. L#/sbin/iptables -A INPUT -i eth0 -p tcp -j REJECT --reject-with tcp-reset
7 q) W5 {' Z/ a2 U/sbin/iptables -A INPUT -i eth0 -p udp -j REJECT --reject-with icmp-port-unreachable, r& p4 v: o' y% ?; b
#sshd , n' @% I' p, h8 ^; s
/sbin/iptables -A INPUT -s 218.80.198.234 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
! ^; }: e$ m! s1 {0 K/sbin/iptables -A INPUT -s 218.80.198.250 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 0 P( t0 Z! F# b6 Y6 b+ K
/sbin/iptables -A INPUT -s 210.22.188.21 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT! C9 @% m3 o- y6 Y' C
#ftp server
5 J: G" g8 K& J  C#/sbin/iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT- @3 w* O1 k+ K
#game server
* p: E; P- C+ z# v3 X$ i' X/sbin/iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 6020 -j ACCEPT
2 q& \; s& \2 C% p- L- Q#db server 4 l; ]) T: |- {5 v) r0 p
/sbin/iptables -t nat -A PREROUTING -s 218.80.198.234 -d 203.110.165.30 -p tcp --dport 3306 -j DNAT --to 192.168.102.158:3306
9 n0 s$ U& {2 K7 H0 `/sbin/iptables -t nat -A PREROUTING -s 218.80.198.234 -d 203.110.165.30 -p tcp --dport 3307 -j DNAT --to 192.168.102.159:3306+ Q$ ?4 O" l. h5 h( s
/sbin/iptables -P INPUT DROP3 E6 i! q' \0 c" v; B
/sbin/iptables -t nat -A POSTROUTING -o eth1 -s 192.168.102.0/24 -j MASQUERADE & Q. [& ]9 U3 q; @$ {# N2 f
保存后退出。   }/ M2 ~% i- f# x- F/ o
chmod 744 /etc/rc.d/forward
" l' X# f9 R7 R4 B然后运行防火墙脚本,以后根据需求修改脚本。1 v* d2 i* w/ A# q
再vi /etc/rc.d/only_forward
$ R; H% d" [6 _) O" R#!/bin/bash 7 e5 p- W" L+ r0 t5 j% f% X
echo 1 /proc/sys/net/ipv4/ip_forward + @7 j+ X5 |+ t9 [& t
if [ -e /proc/sys/net/ipv4/tcp_ecn ]
2 d# ^' t2 }& H- V; g, s: l: t4 Jthen ' [4 b- L8 ^9 N
echo 0  /proc/sys/net/ipv4/tcp_ecn ' l- N# c" ]8 H. T6 H! g/ Q
fi
4 e; T1 R+ X0 V/ J5 V) ~/sbin/iptables -F ' s: f3 U2 K* p* U6 A8 U4 j' Z6 S
/sbin/iptables -F -t nat
8 \- o. Y- W; L: ?4 I+ J: T0 _1 M/sbin/depmod -a , q+ k# k8 a& L# k- e3 V
/sbin/modprobe ip_tables
/ N6 r0 z9 P) F% {; b/sbin/modprobe ip_conntrack
% n3 n9 D/ L8 {/ E: r/sbin/modprobe ip_nat_ftp
! u0 y/ y! p7 c, Y3 v. h4 s/sbin/modprobe ip_conntrack_ftp 2 _3 t$ T; l. J+ B1 e2 c
/sbin/iptables -A INPUT -i lo -j ACCEPT
7 y+ ]1 t3 N% x( Z/sbin/iptables -A INPUT -i eth0 -j ACCEPT
. e, \( @  Q' v6 H/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
7 i  S% n0 `1 T#/sbin/iptables -A INPUT -i eth0 -p tcp -j REJECT --reject-with tcp-reset
, p0 f2 k$ a) B) y+ a; _/sbin/iptables -A INPUT -i eth0 -p udp -j REJECT --reject-with icmp-port-unreachable( d( K( z0 u# V2 b! Q" V6 z

) h# Q9 z: `$ l4 W#sshd " T! q: h. m; v! r/ V/ `
/sbin/iptables -A INPUT -s 218.80.198.234 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
' P7 z! ~7 A- S* V1 _# O/sbin/iptables -A INPUT -s 218.80.198.250 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT " |; J) B' N4 {" n
/sbin/iptables -A INPUT -s 210.22.188.21 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
- T8 L/ G! h( r. k#ftp server - k% F- R. c  I- `+ U6 `
#/sbin/iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT" G$ L* X1 Z3 n7 S, ~2 B# C
#game server $ q. Z- M  P, u# V8 J1 {
/sbin/iptables -A INPUT -s 218.80.198.234 -p tcp -m state --state NEW -m tcp --dport 6020 -j ACCEPT
! T. D7 x$ ~6 Y#db server 6 o; O* E3 }; J. X) g
/sbin/iptables -t nat -A PREROUTING -s 218.80.198.234 -d 203.110.165.30 -p tcp --dport 3306 -j DNAT --to 192.168.102.158
& B  O- d! f9 d# E2 u' i4 V/sbin/iptables -t nat -A PREROUTING -s 218.80.198.234 -d 203.110.165.30 -p tcp --dport 3307 -j DNAT --to 192.168.102.159:3306
0 h' E' i) C& L. k/sbin/iptables -P INPUT DROP/ y. l) F( H8 R' a  ^
/sbin/iptables -t nat -A POSTROUTING -o eth1 -s 192.168.102.0/24 -j MASQUERADE1 ^, O( }0 L! E7 r
此防火墙只允许公司的电脑可以登录游戏。( f6 U) S& Z! R4 ~+ H
2、设置系统自动启动防火墙
: i9 p/ X3 m" w, y2 R' G7 s: fvi /etc/rc.d/rc.local
& i/ q7 f. H* p' Z; _) {8 c7 x) l增加一行
3 d+ v! U, W$ C) g3 F& S' e1 P/etc/rc.d/forward
6 x% ]; ]% @& i9 y$ Y% I0 B4 z! z4 }保存后退出
" `- o8 o; s, Z* t3、设置文件打开数
; ^. m; J0 S3 g; f5 j' P- |- D4 ?1) 修改/etc/security/limits.conf 增加2行:
' A; K3 x6 D# J3 s7 ^4 ~1 o/ X* soft nofile 4096 & {" T/ L1 x8 `: i
* hard nofile 65535
! `, f- d, \* p1 ]" t' R8 x2) 修改/etc/pam.d/login 增加1行+ m$ ?2 V2 |3 ]2 N9 i$ D
session required pam_limits.so
# e7 T# s5 U- i4 H; y可用: 5 A! B+ N1 t3 y
echo * soft nofile 4096 /etc/security/limits.conf
6 Y1 ~' R/ I$ l9 ?! necho * hard nofile 65535 /etc/security/limits.conf 6 @8 D+ z/ p* a: L! `
echo session required pam_limits.so /etc/pam.d/login
8 W1 j$ Q+ w/ H* {- z, n4、修改默认语言
: M: S2 A- u, v1 i! M; Dvi /etc/sysconfig/i18n 修改1 i. J0 o" H+ ?: |) N7 p# p
LANG=zh_CN.GB2312- d7 |2 Z6 n! a% O# o" e, a. Y) A0 N
7、 新建游戏运行用户ztgame,设置密码 + `! X) \' m/ e4 R' `# Y
useradd ztgame " P+ l/ M. t( K0 P7 H
passwd ztgame" }" M6 i  p- e$ b
8、 用ztgame用户登录服务器,修改vi /home/ztgame/.bash_profile增加一行
0 U  Z2 t7 X. r, f! p$ gulimit c unlimited - U. Q- V; Y6 ~' G( ?, S
保存后退出。' Q6 ?5 b& K0 d

2 e/ x; O8 o1 t8 v/ e四、游戏环境的搭建(按照4台网关服务器,5台场景服务器,1台数据库服务器的构架)
$ G, R" ~, Z3 m: Q% {! y1、服务器IP设置
  Y2 E- \% u* f: e' x3 n4台网关服务器配置外网ip和内网ip,5台场景服务器和数据库服务器只配置内网ip,并且服务器默认网关为第一台网关服务器的内网ip。 ' t5 @# Z$ Z1 j  D
服务器以服务器应用-序号-机房序号命名(例GWServer01-CHJ01)。 ; K! W; E  o& U: g+ P. S( C2 I
修改/etc/hosts。
: ]; ~' {  L; T& |例子: 1 C/ y! {6 \9 W; @: M8 k- |8 @* @8 [
127.0.0.1 GWServer01-CHJ01 localhost.localdomain localhost 9 Q1 |: B/ A1 E! H; T' n
192.168.100.101 GWServer02-CHJ01 ( z* x7 S7 ^6 }6 j* I
% l8 ?/ h. t! u; H* s
192.168.100.104 ScenServer01-CHJ01 - V5 m; u8 c/ T+ F) o

0 s- P* ~6 m  ~! [0 H( v192.168.100.109 DBServer-CHJ01- O+ O+ I9 i) @2 J/ b4 j
2、公钥的生成
8 w; d2 @. o" ~  p3 j. Z9 w# v4 N: ?2 ^在ztgame的用户下登陆第一台网关服务器,输入ssh-keygen -t dsa : M6 B6 T8 w) R& {" c8 D
接受 ~/.ssh/id_dsa 的默认位置。输入一个与你的帐号口令不同的口令句,再输入一次来确认。公钥被写入 ~/.ssh/id_dsa.pub。密钥被写入 ~/.ssh/id_dsa。 % s+ K: u; B* \3 @, A
使用以下命令改变你的 .ssh 目录的许可权限:   _3 i% X, P* W3 ?6 c: y+ k
chmod 755 ~/.ssh , @) F0 }; A" k9 O% B* j( I
把 ~/.ssh/id_dsa.pub用scp命令传到其它剩余9台服务器
4 ]( J; [0 i+ t! \7 S* Nscp~/.ssh/id_dsa.pub ztgame@192.168.102.108:~/.ssh/authorized_keys
5 `+ \+ b. x( i* _在其它9台服务器下使用以下命令改变你的 authorized_keys 文件的许可权限: # u( O) v7 B4 e
chmod 755 ~/.ssh
% D# r; T* b- i+ d8 _, k; x& A0 Q2 ichmod 644 ~/.ssh/authorized_keys) X4 E5 s& Q  n7 N$ X+ Q# S
3、数据库服务器的安装
& H6 Y$ K0 w0 B$ g3 \#首先确定你是root用户 9 W% B1 y5 g7 E3 N
#确定你有以下包
# K; k$ u- O8 c. U/ Hperl-DBD-MySQL-2.9004-3.1 ( h0 r6 j4 A' I3 V% S
perl-DBI-1.40-5 4 T7 ^) \- G4 }! Y
mysql-4.1.7-4.RHEL4.1
# T; J! q  t& ?7 N6 ^, f/ ^" h获得mysql-4.1.*.tar包,用tar zxvf mysql-4.1.*tar解开压缩包,然后进入mysql-4.1.*目录
% {2 ^5 w: l( }2 u! A2 e% M/ D#根据体统类型选择编译方式 9 U+ p( b' Z& o6 b8 ^1 h0 T- X
#i386体系结构的 : J& U) ^7 K' J6 v9 ^4 k$ i
CFLAGS=-O3 -mcpu=pentiumpro CXX=gcc CXXFLAGS=-O3 -mcpu=pentiumpro -felide-constructors -fno-exceptions -fno-rtti ./configure --with-raid --enable-thread-safe-client --enable-assembler --with-server-suffix = for MySQL Database of Zebra by YhcMySQL Database of Zebra by Yhc /etc/profile /usr/local/mysql/bin:$PATH
* s. \$ N0 x5 S) T) r5 o: o#strip可执行文件
: y0 }6 R! [* L- D* |strip /usr/local/mysql/libexec/mysqld
( r$ W* ~3 k, v1 I# u) E% D. E1 k#添加LIB PATH - a0 a& _; D- A  i. g4 Z0 I
echo /usr/local/mysql/lib  /etc/ld.so.conf mysql_install_db
, i% V! d2 h' V- n2 D# _#启动服务器
5 ~8 c. j! D; V4 Hsu - mysql -c mysqld_safe --skip-name-resolve --open-files-limit=4096
% o, \0 l. q! {4 _& S# o#创建数据库和用户
; W$ w7 i+ r; M- t: k; {GRANT ALL PRIVILEGES ON *.* TO ztgame@'192.168.104.%' IDENTIFIED BY '' WITH GRANT OPTION;
; l, T3 Q  W, H- r' aGRANT ALL PRIVILEGES ON *.* TO ztgame@'localhost' IDENTIFIED BY '' WITH GRANT OPTION;
$ F# c( ?8 T: R2 b+ p" ]" O* r! ]" MGRANT ALL PRIVILEGES ON *.* TO ztgame@'218.80.198.234' IDENTIFIED BY '' WITH GRANT OPTION;( G5 X4 O( U- U7 O% T: s& ~
4、数据库配置
9 E: w$ n  l1 h8 l2 k2 a用mysql进入,然后用create database dbname创建数据库。分别创建SuperServer、RecordServer、Bill数据库,然后用安装包目录下的*.sql的文件建立相应的表。(SessionServer.sql也导入到RecordServer库中)。 / V6 [8 u2 g' y2 G0 K4 ?
在SuperServer数据库SERVERLIST表内添加服务器配置信息。
3 }* x7 t' K9 X3 I1 G8 C例子:
+ ~, z3 ^6 y% y0 l. }! J2 rINSERT INTO `SERVERLIST` VALUES (1,1,'SuperServer','192.168.104.109',10000,'192.168.104.109',10000); / J! @9 a* z" ~6 [* t
INSERT INTO `SERVERLIST` VALUES(20,20,'SessionServer','192.168.104.109',6000,'192.168.104.109',6000);
" D( f7 l# U% h. ?; DINSERT INTO `SERVERLIST` VALUES(21,21,'SceneServer','192.168.104.104',6010,'192.168.104.104',6010);
( _  J5 _  b+ d$ N/ u/ b4 `INSERT INTO `SERVERLIST` VALUES(22,21,'SceneServer','192.168.104.105',6011,'192.168.104.105',6011);
7 V4 k* p9 Z/ O' Q+ W: l5 f2 _INSERT INTO `SERVERLIST` VALUES(23,21,'SceneServer','192.168.104.106',6012,'192.168.104.106',6012);
+ c' A+ M9 T8 r6 j* h! Y) hINSERT INTO `SERVERLIST` VALUES(24,21,'SceneServer','192.168.104.107',6013,'192.168.104.107',6013); 7 j+ O% t5 w; Z+ O4 G
INSERT INTO `SERVERLIST` VALUES(25,21,'SceneServer','192.168.104.108',6014,'192.168.104.108',6014); 8 q6 v- u8 I7 I+ }# R- X. N. e
INSERT INTO `SERVERLIST` VALUES(2200,22,'GatewayServer','192.168.104.100',6020,'210.51.23.132',6020); 8 f- v- k0 D/ B. y3 Z" \* e: I
INSERT INTO `SERVERLIST` VALUES(2201,22,'GatewayServer','192.168.104.101',6020,'210.51.23.133',6020);
& X% R1 F# P2 ?3 N1 F$ L9 Z5 ?/ sINSERT INTO `SERVERLIST` VALUES(2202,22,'GatewayServer','192.168.104.102',6020,'210.51.23.134',6020); , I) G+ E  P5 S
INSERT INTO `SERVERLIST` VALUES(2203,22,'GatewayServer','192.168.104.103',6020,'210.51.23.135',6020);
% H6 O. Q5 V0 v3 n: K6 ?3 ]3 }0 ~INSERT INTO `SERVERLIST` VALUES(11,11,'RecordServer','192.168.104.109',7010,'192.168.104.109',7010); ; b# y' V: R1 q6 T
INSERT INTO `SERVERLIST` VALUES(12,12,'BillServer','192.168.104.109',7020,'192.168.104.109',7020); " }. l4 O8 D$ ?7 k5 a
在RecordServer数据库上初始化某些表格,目前有ANSWER,TECH,COUNTRY,NPCDARE,ACCPRIV。 1 j3 j+ I/ {( a; u" w2 N9 u/ B. F
数据库服务器上跑SuperServer、SessionServer、RecordServer、BillServer四个服务,4个网关服务器分别跑4个网关服务,5个场景服务器分别跑5个场景服务。场景服务器对应的ID就是国家配置的ID号,这个ID号决定场景服务器上面跑几个国家9 b* b3 c  L9 v/ b( S
五、服务端的配置和安装 1、获得安装包: release-version.tar.bz2 map-version.tar.bz2 在/home/ztgame下建立以时间为名字的目录(game20050928),压缩包放入此目录,然后用tar jxvf release-version.tar.bz2 和tar jxvf map-version.tar.bz2解开压缩包
, |$ @& ^; z) r" w进入release目录,cp rf ../map . 按照config.xml.example格式创建文件config.xml 配置文件主要定义了服务器的各种参数: [global]这段主要定义了通用参数,如服务器本地网络设备名称,扩展网络设备名称,日志级别,SuperServer的服务器地址,端口等参数。8 O% U; r/ z) Z/ J9 ?( k$ L" f! [/ C
其他各个段定义了具体的服务参数,主要是指定该服务对应的数据库,数据库的连接地址,端口,用户名,密码等数据库连接字符串。每个服务可以定义日志文件的存放位置,如果没有指定,缺省放置在/tmp/目录下面。如SuperServer服务 SuperServer !--MySQL database connection[mysql://user:passwd@host:port/dbName]-- mysqlmysql://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]. -- logdebug/log !--MySQL database connection[mysql://user:passwd@host:port/dbName]-- !-- Use the specified local network device. -- ifnameeth0/ifname !-- Connected to the specified supserserver, property 'port' default value is 10000. -- superserver port=10000192.168.104.109/superserver /global SuperServer !-- 统一用户平台登陆服务器列表文件 -- loginServerListFileloginServerList.xml/loginServerListFile !-- 角色名称唯一性验证服务器的地址 -- RoleregServer port=9901218.80.198.252/RoleregServer !-- 服务器信息采集的服务器地址 -- InfoServer port=9903218.80.198.252/InfoServer !--MySQL database connection[mysql://user:passwd@host:port/dbName]-- mysqlmysql://ztgame:yS29wahvCH@192.168.104.109:3306/SuperServer/mysql !-- 如果要编码mysql连接字符串请使用工具,配置如下面的例子 mysql encode=yeslmOf.1kySwS0a09j11xyCdI1ySujl1hnCvT0hDitT0hjzv00gzSv00gDSw91tS9fE1/mysql -- logfilename/log/superserver.log/logfilename /SuperServer RecordServer !--MySQL database connection[mysql://user:passwd@host:port/dbName]-- mysqlmysql://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]-- mysqlmysql://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]-- mysqlmysql://ztgame:yS29wahvCH@192.168.104.109:3306/RecordServer/mysql logfilename/log/sessionserver.log/logfilename dare_active_time3600/dare_active_time offlineMsgPath/log/offlineMessages/offlineMsgPath /SessionServer ScenesServer sceneinfofilescenesinfo.xml/sceneinfofile npctradefilenpctrade.xml/npctradefile messageSystemFilemessageSystem.xml/messageSystemFile charinitinfoFileinitcharinfo.xml/charinitinfoFile magicrangeFilemagicrangefile.xml/magicrangeFile questdirquest//questdir mapdirmap//mapdir tbldirmap//tbldir gm_logfile/log/gm_log.log/gm_logfile !--回写档案平率(单位是秒) -- writebacktimer300/writebacktimer ossdir/log//ossdir logfilename/log/scenesserver.log/logfilename /ScenesServer GatewayServer !-- 国家排序方式 0:不排序 , 1:在线人数排序 , 2:注册人数排序 -- countryorder2/countryorder logfilename/log/gatewayserver.log/logfilename sceneinfofilescenesinfo.xml/sceneinfofile rolereg_verify1/rolereg_verify forbidWordsFileforbidWords/forbidWordsFile /GatewayServer /Zebra 注意存放日至的目录是否建立,以及建立session服务所要求的日志存放子目录offlineMessages。1 K8 J; m& |2 w' b1 s
修改loginServerList.xml,填入平台中心的FLServer服务器ip以及端口。例子: ?xml version=1.0 encoding=GB2312? LoginServerList server ip=218.80.198.252 port=7001/ server ip=210.22.188.20 port=7001/ /LoginServerList
3 b4 b' H' [. J% b! _, B4 @然后将修改好的版本传至其它9台服务器。并启动服务
7 L; z  {- X! Z0 R; g六、服务器的启动,停止和更新 1、将运行脚本传至各个服务器。+ W  E* i+ U& D$ y6 |
2、开启游戏服务
% r& b* _7 \! x" O+ G通过ssh使用ztgame用户远程连接至第一台网关服务器,再通过网关服务器连接其他9台服务器, 10个窗口内分别进入最新的服务端存放目录/home/ztgame/game200508**/release/( B1 K5 Q/ h! d% P
数据库服务器 启动服务./SuperServer -d 和 ./SessionServer -d 和 ./RecordServer -d 和 ./BillServer -d 场景服务器 启动服务./ScenesServer -d 网关服务器 启动服务./GatewayServer -d4 Z3 S; k+ w5 Y! \! k* N
以上操作可以通过/home/ztgame/tools/allstart game200508**来启动(由于程序是后台运行,所以如发现程序运行时间过长,可以CTRL+c中断,并不影响程序的正常运行。)- O' x- t* ~3 T( m% s1 n
3、停止游戏服务
. i) E3 e' x" |/ h8 F, u$ G/ I通过ssh使用ztgame用户远程连接至第一台网关服务器,运行/home/ztgame/tools/allstop,中止所有服务 ,此脚本是并不是强行杀进程,所以如果发现进程无法kill的情况,用/home/ztgame/tools/allstop_9来强行杀死进程。% }  A. o1 F/ X: f6 w1 _
4、查看游戏服务% {8 K' b: n  R/ C
通过ssh使用ztgame用户远程连接至第一台网关服务器,运行/home/ztgame/tools/allview,查看所有服务运行状态。
" E" W7 ?- w6 A& Z* b/ h+ e( _* K: x5、更新游戏服务) U# u9 N5 U9 B/ c& o
通过ssh使用ztgame用户远程连接至第一台网关服务器,再通过服务器连接其他9台服务器, 分别在/home/ztgame目录下面建立最新的服务端存放目录game200508**.4 N. ?! s  e0 D# C) i
然后将服务器端安装包通过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/( v4 l& \3 c: J+ o
以上工作准备好后就可以将网关服务器上的版本传到其他服务器 scp -r /home/ztgame/game_new/* ztgame@192.168.100.111:/home/ztgame/game_new
  d' \! @& x2 b1 T: E4 @以上操作可以通过shell脚本来实现 /home/ztgame/tools/installPackage game_new game-old
# ]+ J$ T  V! ^! \七、服务器数据的备份 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 gamebak@ztgame 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 log@ztgame 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.gz8 j% A" ]9 q; D. |, @' i( X) K
注:计划任务通过/etc/crontab e来进行设置上传,可以运行网关服务器 4)、即时日志备份 直接运行/home/ztgame/tools/upload 将最新日志上传至192.168.1.9服务器,方便研发部门查看。 运行脚本/home/ztgame/tools/upload,(如果所有服务器的日志都需要上的/home/ztgame/tools/allupload)
6 a$ c' C* O% e' k7 ^. c( T, j1 \& T3 @" q* a! V, |
本版本为征途 1.03版服务端测试版本,对应的客户端为官方1.03,应用在LINUX系统上
+ J9 K, N/ z% h+ o如果是自己无聊研究的话,请先自学LINUX系统知识,【本版本售价为1800 RMB 无实力者勿扰】
+ |% q: I' k2 `- W" ~! H浪花网络 ( ]8 ]% U0 z' J  s1 p; U3 r
客服QQ:516363674+ c3 a7 N% j, h8 }
电话:13231911761; ?* X( q4 m$ t0 `  F' E- H# Q- ?
网站:www.gm010.com" Q6 ]& u. N* }. @2 k
【本版本售价为1800 RMB (送网站,登陆器300 RMB)无实力者勿扰】
, i: \6 E! K* V$ c. B* [8 V* f下载地址:
2008-8-18 17:19 上传
文件大小:
未知
下载次数:
0
下载权限:
版本vip会员
VIP专享 检测资源
有些游戏资源需要vip下载开通请点击开通vip
回复

使用道具 举报

全部回复0 显示全部楼层

发表回复

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

本版积分规则

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