三千论坛

标题: 服务端参数配置和功能讲解 [打印本页]

作者: 异仟年    时间: 2022-9-5 18:43
标题: 服务端参数配置和功能讲解
千年服务端主要分5个程序,本文详细介绍了服务端各类重要参数的含义,方便新手GM提高对服务端参数配置和功能的认知!" ^& `* _) }2 u% f4 ~( W5 @

/ @( p' n# L7 \+ Y1Balance 网络均衡服务器。
/ w( w3 n/ W' b9 B1 i2DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等.
7 h! I4 d( E2 Q0 r! r' V& D3: GATE 网关服务器.
1 Y+ X. y& z* E+ V5 B8 }& @3 x4: login 登陆服务器. 帐号密码等数据在这里.! ^6 v0 ^* [6 B
5: TGS 游戏主服务器. 游戏大部分设置均在这里.
" t& L: V" ~  j
2 O( K; y+ n6 `下面讲下他们的工作原理.
5 \; p0 [5 Q7 a+ P; ?# \/ ^% T# R& H! x! e: s7 _
首先,玩家通过TCP协议3053端口连接到Balance服务器,Balance接到连接命令后,: J& A* x) n) j: C
将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责
/ ~5 ^0 x# `5 H5 g中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,TGS端口连接正常,
$ Y5 ~4 i- w1 X则返回信息到GATE,GATE再验证DBlogin服务器,若连接正常,则发送信息连接成功到
: F  s& B1 [9 O6 C; k客户端.
8 [& R( _) m, e- {0 B/ \; D3 W0 g. L: e) |) I: k8 J. q
再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)# `6 Z* O0 \% X* K; d8 l

8 M0 t% u7 \2 e. I( ~Balance服务器 对外TCP协议3053 连接GATE-UDP协议3030.
. x6 M7 E0 F8 ^6 s3 O% DDB服务器 TCP协议3051连接GATE./ e: N: f' s0 p/ _: b1 B) F, w
GATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示.$ g" F7 C, q6 U$ Q7 [% k" ]' Q, \
UDP协议连接balance3030.TCP协议连接TGS服务器的3052 TCP协议连接DB3051 TCP协议连接login
9 w/ C5 ~6 d. A" l" s' }3 }" ]3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡0 v/ T0 E$ a) j8 B/ U5 W
验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友' {+ N' `8 h# b  y% q9 x
的误区.% H5 y: a! N7 l+ W
login服务器 TCP协议连接GATE3050
- Y  _' i' p# j( w1 X, |, X7 sTGS服务器 TCP协议连接DB3051 其中还有一些物品记录服务器等.- Q3 `8 r1 G; ^5 R2 m
! h6 @3 i# s9 u. x* C% K3 Q- C

% `, M2 k  d  `2 A0 E& a3 o再讲每个服务器中的配置.7 C! ]4 U5 t) l; [# ^" X3 _
+ t2 q! V# P, O# I
Balance服务器 目录中的balance.ini中配置
3 H& `2 Q/ k8 Z2 ?/ U" a; B5 ~- J[BALANCE]
* h9 ]7 }, H6 b( R! U, {TCPLOCALPORT=3053
& ^8 a* Y! P( y( CUDPLOCALPORT=3030
5 \; f' `7 ]: h$ M! b# b. |1 [基本不需要修改,若你想开启一机双线,那就要双开balanceGATE,( N8 X) V7 M4 [: ]
若需要一机多区,就要双开balanceGATETGS% `* O: r: \. k5 l: {1 p$ y
这也就是克星一机多区的工作原理.; Q  g0 H( C2 O0 G) u4 B
但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053& n5 x) g; s8 U" |8 o, T
他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从
4 V9 ~" x- o( a配置文件中读取用户所设置的端口来实现一机多区的.+ e$ Y* p0 O1 q0 r# r: L, C
如果你想不使用克星工具实现一机多区,应该做以下设置.
) }  W3 R1 K8 \8 S% N4 t复制另一份balance出来,打开balance.ini修改$ \1 H9 x" S% J# U; p
[BALANCE]. k! l+ R- {; H! Z% X; ?* X
TCPLOCALPORT=40538 u" G( X! D1 H, o) v: H5 r# T( x
UDPLOCALPORT=4030% j* w" @# ^7 T+ H  X8 B( ?! }
这里修改后注意GATE.iniUDP协议3030端口为4030
0 c4 T. z# l, @- z- ?+ f2 G然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.
- O  L8 ?; i3 o2 h4 e& o& N  _: i4 {
; h6 _! I; g  Z8 j; R! s  j题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.
% M+ c4 d$ t  }7 b打开windows自带的计算器,选择查看-科学型,然后选择10进制
- U- M" t# d7 l! [; e+ R* e按下3053,再选择为16进制,你会发现305316进制中显示为BED
: o9 C# c7 a6 N/ V" P但是为什么要查找ED0B,因为在程序中这些东西都是反写的,+ {4 ?: c5 e- I! \) a% e
以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D
. x0 L8 p5 f% _2 A& t若是奇数就要加一个0来补齐.
+ a& I. F/ f( i9 V" I" O  Q' ~' t' k: E. z% q$ @" _& D# s8 T
再来看看DB服务器。
; `7 i2 f7 d/ [9 q* ~7 P& Z1 f: e$ Z7 c  k8 |
DB服务器下目录比较多,我们一个个来讲. D0 Q9 T7 i3 x( ]; k
backup目录本身DB服务器不产生,也不在他的目录下增加任何文件,0 s( h& G. o1 J$ W% e! {
根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.
, _8 ^1 ?6 H4 _% a3 ]log目录,web目录,均是记录玩家的情况
# m' s0 T3 C+ a$ c6 n6 `- Suserdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时: z% d; t' [/ W9 c
他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因+ Z9 k4 S1 M: x" l5 U5 `: ]
还不太明白,只知道会导致玩家元气永远比原来差一些的问题.
9 {% B. D2 R. a
& O9 ]+ ?5 d" M7 I, g# V" }8 b$ BDB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.
2 i* c+ F) E3 h$ h* X5 D/ Freload,字面意思是重新读取,具体作用未做测试.. O  {3 V/ j3 q8 ^- k
addrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,
! `2 R" U" k3 H! q; [. W& c+ s到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了./ n+ Q2 W+ d* `: x
save today.sdb,存盘当天玩家上线记录.
' j) E: U) n) o1 Nback up,备份数据库,备份的数据库会产生在userdata目录下.; F6 T: y  |5 ]" g) l7 B- |) F
. Z! s; o6 N; a" S) R
0 u# {' x; [. h5 P- k
DB.ini,DB服务器配置文件.
' v8 `! b8 |+ t[DB_SERVER] 明确服务器名称.9 X6 b6 w' X7 W) m! ?+ R. f
FileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.
; |6 e' z, w4 n  EBufferSizeS2S=1048576 数据库的规格% W1 D4 w- }- i/ g
GateAcceptPort=3051 DBGATE连接的端口.TCP协议.' |7 [8 b/ V% R5 _& }* x
RemotePort=1024 接收端口.应该是玩家下线后TGSDB连接的端口.& ~+ B1 m9 V- J0 p' ?# [0 b- Y
ItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS.
( r2 G' L% M" ^6 o7 @! J
) x& {: g3 {( x5 C! h0 @2 v, J; v: t/ t- ^$ f4 c$ h+ K  V
IPList.txt文件.8 l' d5 q4 p0 F0 u7 z
记录远程GATE连接的IP.一般设置为127.0.0.1
, X) Z$ {& c% \0 k7 b6 {1 r2 U
! I9 o) n* G+ `/ C' [remoteip.txt文件.
% i7 d3 k1 L$ q$ o* f记录远程TGS连接的IP.一般设置为127.0.0.1
+ }2 U3 v/ ]) N: y% e* c* R$ U9 u* z/ t1 E9 J
ModifyMagic.txt文件.3 E& G7 l% ~( K7 y- w
感觉目前似乎没有用到.具体作用有待补充.7 |1 b: q; x+ b; Q5 T4 b! Q+ X
9 C* g* o% W6 ~0 _8 c

3 g$ V7 \* e0 N* Z3 C
) w6 W& t+ [; ^3 o7 I7 s* A' NGATE服务器., d6 G) w1 k6 ~" I

. I: v% O0 w$ n6 ~log目录,记录目录.* Y2 S4 U- W4 w4 ?

. H* l% M$ p2 D" ]& N- ^6 w" a7 ?CreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量., O0 [8 o9 J9 w6 _: V0 h: Q
[CLOTHES]  q% d/ [) \8 K
CLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.+ n: i( D1 Q; ~  ]7 K1 [
CLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.; @  ]$ q, `2 Z
CLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣.
. Z8 v7 E& N7 ?" Y2 m6 _4 y7 FCLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子, z; |8 n5 |/ R% ^/ E' b$ \9 T
) W. [* h& o5 \/ K9 x
[WEAPON]3 Y1 r- ]. ]  k" K8 |" l  t
WEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以0 _- j* b) c* b( O
WEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以
- d! f- Z0 k0 {/ \WEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以
/ O  m; G; S( vWEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以
; U* x# D) w7 n' F2 Q: c
# w! G& \, R+ v/ n1 j2 D[ETC]/ Z: l/ P, R$ I4 K  k# U
ETC_01=五色药水 新手出生后拥有的物品1.这里要说一下
2 P* x7 [9 I, X9 `: P0 J+ \8 ?: h# J5 [) B
即使你定义为没有耐久的物品,他出生后还是会有耐久的.
# b' q% {/ V! w8 s0 j* r3 g即使你设置了ETC_0203或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.( L$ [8 w* C% Z! x$ y$ o* }8 g  r
- m5 w! |1 x+ g' c, u( F7 ~
. g5 u" a( q6 l. r
DontChar.txt 定义不允许建立的角色名.
7 g* @! z% x; A" o: U
0 A' B) d* H0 K) L2 E
% x! j# J- c3 R/ Dgate.ini文件,GATE服务器配置文件.这里详细说一下.
6 {9 ~: \; b; A+ E  W# |& R" s/ y
[GATE_SERVER] 定义服务器名称6 ?7 W3 g: g2 h2 f/ u' V7 H4 ~
LOCALIP=127.0.0.1 定义对外IP# ]6 w5 j$ P) X- a+ l
LOCALPORT=3054 定义与balance连接的端口
& A7 ?  q' x9 MLIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.
0 t3 w( d$ o  NCHECKPAIDINFO=FALSE 是否收费服务器.
: H5 g) p- p" p0 x/ p, fBALANCEIP=127.0.0.1 定义balance服务器IP7 u" x/ [3 S# B8 i+ U# {$ a9 M
BALANCEPORT=3030 定义balance服务器端口.UDP协议./ Q; p: n7 ~8 M; w: ~% O: Y  Y
SERVERNAME=test 定义服务器名
# n3 Z7 i+ V+ X! o. b3 f$ SBUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激
0 r0 r8 _% t" b; i% v9 @BUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激
% i8 n+ \4 H# U8 t4 r' g
. Y+ J  |' f8 W9 ?# }# q$ f[GAME_SERVER] 定义服务器名称& U7 ^6 W' F: r& o- z
REMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGSIP地址.经典的3052漏洞就是这个.0 J& a& A) P- F. s1 l3 a
REMOTEPORT=3052 游戏主服务器端口.一定要封.
# a, `! b! Q: V% j+ q0 \; u& p3 ]0 i5 j: W" c5 m
[DB_SERVER] 定义服务器名称
7 S! t# M" @8 `2 I  _+ BREMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.
4 ^. p5 C+ [# H* ?! u' uREMOTEPORT=3051 人物资料服务器端口,一定要封.% [- d8 r( r( H- a5 R. q

4 s( G1 N/ Z/ k8 x& z[LOGIN_SERVER] 定义服务器名称
' G3 S0 f) c5 |6 @REMOTEIP=127.0.0.1 登陆服务器IP地址.
5 O) c" D+ l  p# D( e' OREMOTEPORT=3050 登陆服务器端口
6 |+ J6 N9 @# z  l, t% ~
: y  ~+ T" p. @  Z[PAID_SERVER] 定义服务器名称 (通常删除)
) F7 F% {9 B3 R  ?% [) eREMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)
+ `4 s! y& ^% CREMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)
: T9 ?7 r/ ~& ^" ?/ k( W: K* v

. {$ ?6 R9 m  t* ^1 x  i. Htgs1000.acs文件。GATE的语言库。4 b, r3 y+ T4 `( w
! e' T% \' V, \* f- v! c: }
Village.Ini文件。定义新手出生地图。这里讲一下。; v& Z7 P- H# S+ M( ^) |
% Q4 ?; t: x; b- \. N/ G
[VILLAGE] 定义配置文件名
7 l: _2 Y! J3 p7 K- G' t+ c
) Q8 j! C: x0 d4 T6 ACOUNT=1 定义新手村可选择的数量! [' [* \5 n9 ~' [

3 r* l) q: A: C2 p' NNAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。
$ B" s6 q3 [! C7 \X0=178 第一个新手村X坐标
8 A; z7 m) r$ Z: n. jY0=238 第一个新手村Y坐标  _# V$ \0 X$ _7 f
SERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.
- B6 i% C4 D4 g- R





欢迎光临 三千论坛 (http://bbs.3000y.com.cn/) Powered by Discuz! X3.4