三千论坛
标题: 服务端参数配置和功能讲解 [打印本页]
作者: 异仟年 时间: 2022-9-5 18:43
标题: 服务端参数配置和功能讲解
千年的服务端主要分5个程序,本文详细介绍了服务端各类重要参数的含义,方便新手GM提高对服务端参数配置和功能的认知!
. J; d0 m' R+ t6 {5 k) L' m; w7 B# @ [! v( S1 ~$ x
1:Balance 网络均衡服务器。
" i- o! B: |3 [: b1 F; a |/ g$ R2:DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等.9 Y# k, ?4 A K% f; d! p0 s
3: GATE 网关服务器.
1 P1 @% N5 n5 Q4: login 登陆服务器. 帐号密码等数据在这里.% x( k4 {: l k: j$ O' s
5: TGS 游戏主服务器. 游戏大部分设置均在这里.1 r, g4 H. |9 F" @5 \
% z7 u, }, C2 a0 u7 V! d
下面讲下他们的工作原理.
2 P' v) i) Q! W6 M+ y. f2 t& ^
( [* W& s8 L; ?/ b首先,玩家通过TCP协议3053端口连接到Balance服务器,当Balance接到连接命令后,
( l* V+ j' t8 @: X, n6 i5 T0 M将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责# ^) w, f8 A8 _5 k x! z1 K4 V6 a
中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,若TGS端口连接正常,
% U. e! V. [6 _则返回信息到GATE,GATE再验证DB与login服务器,若连接正常,则发送信息连接成功到: X( J: i5 k7 X& s. e6 d7 o
客户端.. v: S) Y9 I0 _
}6 ?) Q( W N0 o! G2 N再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)
1 G3 d# H3 V) x& a* C
* {/ x1 G- c0 v5 s TBalance服务器 对外TCP协议3053 连接GATE-UDP协议3030.
5 o- w0 c/ H& m* {# z3 aDB服务器 TCP协议3051连接GATE." o, C+ z& C: d. y; `: k, a& B
GATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示.1 D' E* s$ c& M. c
UDP协议连接balance的3030.TCP协议连接TGS服务器的3052 TCP协议连接DB的3051 TCP协议连接login
% Q3 G1 E+ p1 ~2 e% Q+ ]3 g* w的3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡
" {( r* _3 H+ X7 k& C, _$ l! A+ K验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友
0 o% N9 Y% B" \ r. a, W% l w( R的误区.) B3 z. {0 K- f) B' R
login服务器 TCP协议连接GATE的3050
$ p$ r4 D5 ]+ H! S8 GTGS服务器 TCP协议连接DB的3051 其中还有一些物品记录服务器等.' j! S% h H1 y
) n" h3 T4 L, c9 M7 s0 j9 g& I/ _6 i; A; |: c" k# R5 ]6 [8 t' a6 _
再讲每个服务器中的配置.4 F. P! {- Y# U# a# \
" ?' N# P$ {- nBalance服务器 目录中的balance.ini中配置
8 Q0 B( l9 C! V[BALANCE]
f- I# d# Z3 v: s0 ^! }2 ITCPLOCALPORT=3053
6 l# k: G* e+ @/ K0 xUDPLOCALPORT=30304 ]: B- {6 ^, D3 t; H
基本不需要修改,若你想开启一机双线,那就要双开balance和GATE,# {1 Q; i; X4 W5 u Z ^, k
若需要一机多区,就要双开balance,GATE,TGS。
2 t0 \, s% c8 ]% w3 l6 {这也就是克星一机多区的工作原理.# _! X' t! L- V5 m% A( y
但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053
* `% t: W9 Z" T: E& d- f% t) Q3 P他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从
7 g2 T l) D! e+ o9 l) N. j配置文件中读取用户所设置的端口来实现一机多区的.
9 Q0 M2 v* k0 [/ J' @ w+ Q如果你想不使用克星工具实现一机多区,应该做以下设置., j' q; ]6 C. d. F4 f& [1 W0 Q
复制另一份balance出来,打开balance.ini修改
- i) L6 H5 P; P& A[BALANCE]0 F9 I+ r1 V9 d& A
TCPLOCALPORT=4053% m3 W& a9 @! N* g' M1 k* f
UDPLOCALPORT=40302 m1 \9 c; k, |2 J" M- ~
这里修改后注意GATE.ini中UDP协议3030端口为40307 i" C! E; m _# ] h
然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了. K% r( T6 y8 Q- E
$ e2 e' E* l5 ]8 _1 `2 O) Q( |题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.
( r5 }$ r- d1 `9 ~打开windows自带的计算器,选择查看-科学型,然后选择10进制; r4 B6 @* H. l Y1 Z7 b& Z
按下3053,再选择为16进制,你会发现3053在16进制中显示为BED+ y7 E5 Z# H3 v! s* R9 d: @
但是为什么要查找ED0B呢,因为在程序中这些东西都是反写的,; X+ S* L: w) v7 w. v+ O
以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D/ p7 c2 M. q2 E. _9 L. |
若是奇数就要加一个0来补齐.
( C4 H; H$ K7 S% I* |' o
) O5 e5 Y% p& k3 U$ c. i再来看看DB服务器。/ ^, p+ ?% z6 D" a8 l2 X% Y& F
% n ^: x6 l) }$ NDB服务器下目录比较多,我们一个个来讲
2 K# t7 B( |8 q0 u5 nbackup目录本身DB服务器不产生,也不在他的目录下增加任何文件,
/ ^2 J# ^: x0 l1 a G根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.4 g+ j3 a7 J6 C. W. N) @' e; Z
log目录,web目录,均是记录玩家的情况
7 w) w5 K2 l( }5 }; Q' q5 nuserdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时
% E& l I- K7 b( f1 u他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因. J! O0 J9 V5 E' A ^) {* Y3 h
还不太明白,只知道会导致玩家元气永远比原来差一些的问题., }6 F% B) a5 v9 A* i% O/ Y
0 ^1 R- L; n! N- ~% @8 [$ ~* T! gDB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.7 T: D9 [* B9 |* L6 n
reload,字面意思是重新读取,具体作用未做测试.8 S, D4 \# y5 n2 _+ B; c
addrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,
: n4 F+ O8 q7 O到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.. ?0 o" P% u6 q% N6 H/ r$ Z
save today.sdb,存盘当天玩家上线记录.( u" k+ y4 j3 n# O
back up,备份数据库,备份的数据库会产生在userdata目录下. ]' ^8 o' E' f9 u
% J+ F8 m+ ^# ^# ^* K
0 Z, G4 s( k! F
DB.ini,DB服务器配置文件.
S* c* {% Y5 c1 Y: a4 V[DB_SERVER] 明确服务器名称.7 s9 g% ]; `1 k. C6 ^
FileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.
6 M8 {, Y- F9 Z# M, V6 QBufferSizeS2S=1048576 数据库的规格8 Z+ Z1 w. L# C l
GateAcceptPort=3051 DB与GATE连接的端口.TCP协议.
* |) P @& g- j; _3 E1 fRemotePort=1024 接收端口.应该是玩家下线后TGS与DB连接的端口.
o8 K$ j. f9 l, [ItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS下.
$ r+ q4 u0 \7 ]5 z! J8 I* H; J9 a
. C- A( k# Q! z6 L* E: ~% N6 ~IPList.txt文件.
1 k4 ]% a+ ]9 q6 i; P) O$ O0 l记录远程GATE连接的IP.一般设置为127.0.0.1" K3 C3 G& j) @! \8 a4 C
8 a/ s' a! b2 S* Y* D4 w
remoteip.txt文件.4 l& Z# {9 L" ^
记录远程TGS连接的IP.一般设置为127.0.0.10 l+ x6 D4 d6 H+ m
$ U6 D4 U" A# W, \; NModifyMagic.txt文件.
- l- k" `7 E; S, l! r x* H感觉目前似乎没有用到.具体作用有待补充.# D8 W8 v; v6 d/ q' g+ T" Y8 U+ h
, J2 |& ~/ U. z( F s( |( h" o3 p! [$ r7 w" ~% h+ J
1 }' |" \' ~ CGATE服务器.
/ r, G1 o' ?* ]/ x8 t
% i% T( M& E3 g6 R8 J: Vlog目录,记录目录.2 A' k0 j8 d7 [
8 n2 `: _( K T' m
CreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量.2 L2 S- q$ p$ g
[CLOTHES]( U1 A+ @, K9 ~7 V% r; v
CLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.
7 |" Y6 _, j5 B6 k/ qCLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.
$ p% U% _4 F5 q9 u1 B( v7 V7 UCLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣.+ K E1 L. F/ h
CLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子/ ^8 e0 }& t% `5 Q3 O, ^
$ }. A2 a% M) c, Z+ r! B* }[WEAPON]+ c Z3 W; y4 u" N
WEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以
0 e$ e$ p% z4 QWEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以" j. y& ~( q& g9 o4 {2 o& q8 Y/ l
WEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以
; k( t; D; } e, M! B( JWEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以
9 h+ d, V* ~) k- w% z, T" c5 d1 V9 N$ _: n, }$ @7 f
[ETC], Q, E. G; ^6 z% `3 j
ETC_01=五色药水 新手出生后拥有的物品1.这里要说一下; A" b- A7 ^' d: ?+ P1 F0 o
* C! [. D3 ~6 ?1 W V$ Z) X) Z即使你定义为没有耐久的物品,他出生后还是会有耐久的.
( \/ K5 ?/ b, }1 u+ ~& H即使你设置了ETC_02或03或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.
; w- h9 i! X* g1 c8 C4 j1 O4 ~+ d, y) y& r( V6 T8 k
2 e: |* B2 x* N% |4 NDontChar.txt 定义不允许建立的角色名.
, _% f# K: _3 m' I. A8 b0 n+ Z5 i8 E/ L/ h
. N: O" L' M9 N3 w& ogate.ini文件,GATE服务器配置文件.这里详细说一下.
2 D/ F* F: f _% y( W2 b7 n' j3 _8 b; @) ^9 J( e. |2 T
[GATE_SERVER] 定义服务器名称) }. }+ C7 _6 a, e( |, S/ v: L
LOCALIP=127.0.0.1 定义对外IP
$ o! O. c$ l: O. t# j% ^2 a. ~/ zLOCALPORT=3054 定义与balance连接的端口3 I; m' B- j8 Y4 s! c( |: N+ @
LIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.. X! A/ ?# k! P7 f
CHECKPAIDINFO=FALSE 是否收费服务器.
4 @6 B6 f/ g0 f. UBALANCEIP=127.0.0.1 定义balance服务器IP9 b! {2 v" M3 Y4 d
BALANCEPORT=3030 定义balance服务器端口.UDP协议.
/ K/ Q# {8 m6 ^* PSERVERNAME=test 定义服务器名
& v5 n' l4 {* s) CBUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激
: K2 C( s4 q2 }$ H1 gBUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激0 p" c5 V, I, X( k) r
+ F7 B* L( e, p* V1 A[GAME_SERVER] 定义服务器名称8 n8 w, b G9 t* ^4 k
REMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGS的IP地址.经典的3052漏洞就是这个.7 C: X& ^% c5 x8 t
REMOTEPORT=3052 游戏主服务器端口.一定要封.
3 _) f9 ?# B. u0 l$ ^; i. @8 x: O2 ?! S* p, m! O
[DB_SERVER] 定义服务器名称: _$ m9 p' F Q+ l$ g7 q- l
REMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.
6 z V& I! h1 v6 fREMOTEPORT=3051 人物资料服务器端口,一定要封." p5 ^) }3 Y. F1 }: N* |7 |1 V" v- c% {
' C4 l; F& }* h; l) w* j! ^# p% C[LOGIN_SERVER] 定义服务器名称( y8 u- ]. m% w7 \
REMOTEIP=127.0.0.1 登陆服务器IP地址.7 X/ p. g% u% ?. X( J% i2 a
REMOTEPORT=3050 登陆服务器端口
' e8 a+ n6 I" R3 R* N
0 K& V6 g2 ]+ r' g( F/ D/ u[PAID_SERVER] 定义服务器名称 (通常删除)0 ]# t8 ]9 K/ s( g/ |9 {
REMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)
$ s3 _5 W* ?- wREMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)
! Z7 w& h9 \. |
: q- O8 `# Q2 x1 C' |9 n) }+ h( g6 t4 ~ P1 F" D+ @
tgs1000.acs文件。GATE的语言库。
7 E: ~% b4 Q1 ?7 N) A, F) ^5 d2 ]2 \9 M$ ?/ a" V
Village.Ini文件。定义新手出生地图。这里讲一下。; Q0 O9 [5 f- a ]6 n: {& v) v6 t
/ ]2 E* C% P% d; W: p8 Q
[VILLAGE] 定义配置文件名3 m# b- `3 L- `; I- A. ]$ g
1 d% H! O9 H) \COUNT=1 定义新手村可选择的数量
( Z4 w' V( Q7 p$ f$ f& g
4 _& n; i; X4 |3 @: [7 y/ ^NAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。8 Y1 I( T0 y; w9 I% M" q
X0=178 第一个新手村X坐标) `( N9 \( i5 O# s7 i
Y0=238 第一个新手村Y坐标7 F! y7 |- Q6 u$ i; K8 k5 W" i
SERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.
7 I0 D8 W% X+ w( ~& l& L: {
欢迎光临 三千论坛 (http://www.3000y.com.cn/) |
Powered by Discuz! X3.4 |