三千论坛

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

作者: 异仟年    时间: 2022-9-5 18:43
标题: 服务端参数配置和功能讲解
千年服务端主要分5个程序,本文详细介绍了服务端各类重要参数的含义,方便新手GM提高对服务端参数配置和功能的认知!
: Z1 I* d4 P6 X
# i. _! ?3 B1 I5 c. P% w1Balance 网络均衡服务器。  z6 @/ e& m# X- m% N3 e; E+ K1 M
2DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等.
1 b9 n% F/ C$ j. p( [3: GATE 网关服务器.
! e" V" ?9 G! ^6 k2 T4: login 登陆服务器. 帐号密码等数据在这里.+ M( ^: b+ ^# k5 R% ]
5: TGS 游戏主服务器. 游戏大部分设置均在这里.
) s. g$ p7 s+ ]2 F+ N& c3 m8 b5 x4 N/ L3 z6 |5 u5 ^
下面讲下他们的工作原理.
. [# D) {3 j1 T# J! G+ l$ \
' R( m7 h! _' i' z8 V首先,玩家通过TCP协议3053端口连接到Balance服务器,Balance接到连接命令后,# [/ Z+ N6 M" o
将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责
* V/ H# {% c' ?* B: ~中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,TGS端口连接正常,
3 U0 u6 a6 Z5 E) x" O+ A6 r则返回信息到GATE,GATE再验证DBlogin服务器,若连接正常,则发送信息连接成功到9 p' v) p. `; }( W2 q* X3 I' [
客户端.
1 J1 h. g' }$ a6 q5 |- Y6 ]1 }0 E/ y4 S
再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)" z% j5 q1 N4 b# Y6 U
2 R8 o! y& k6 ^9 n/ ~
Balance服务器 对外TCP协议3053 连接GATE-UDP协议3030.& x' J6 E8 f, u) I9 I: o
DB服务器 TCP协议3051连接GATE.! @/ Q; ^4 B, e6 [
GATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示.4 H) D# z5 t8 I" E6 F/ x4 P8 j
UDP协议连接balance3030.TCP协议连接TGS服务器的3052 TCP协议连接DB3051 TCP协议连接login
/ D; c* z! ]$ F" v. u& g$ C. A3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡0 D4 Q4 x7 F. a# f6 g# j, E' s
验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友
' P* K  d* ]9 G3 j" X/ `的误区.
1 @, f7 D  i1 G7 U- `" j" o# alogin服务器 TCP协议连接GATE3050. \  U( z4 h. S! A( M7 T5 u5 E8 ~# E
TGS服务器 TCP协议连接DB3051 其中还有一些物品记录服务器等., m3 x5 ?8 r' Q6 `
; e( k$ z3 N. t" q4 k4 u9 |
4 _# z6 o; x/ |: L- S/ G+ `
再讲每个服务器中的配置./ h$ j8 ], L( l4 t' `7 T

: i2 v6 Q1 w' ]) U4 F) w3 TBalance服务器 目录中的balance.ini中配置4 _+ k1 v, k5 T. o
[BALANCE]
( R4 A4 `7 D+ q) CTCPLOCALPORT=3053
2 p* N) i/ \0 L; i3 EUDPLOCALPORT=3030
; U& }9 d$ z6 u, c# l. o5 S1 o基本不需要修改,若你想开启一机双线,那就要双开balanceGATE,
# ^3 _, V1 M$ X% e# W- Q若需要一机多区,就要双开balanceGATETGS
  @+ \. V. G" ^+ e1 d9 D# Q这也就是克星一机多区的工作原理.1 S0 y5 d$ z# O4 ^( ?6 s
但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053
8 t6 [7 N. ~& J5 |他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从5 f8 ]9 w4 j; @% G
配置文件中读取用户所设置的端口来实现一机多区的.3 h% b) K' N) I4 F( s
如果你想不使用克星工具实现一机多区,应该做以下设置.
! o0 G4 w! u  V# D复制另一份balance出来,打开balance.ini修改
9 ~! ~1 J& D! z$ c$ Q+ X9 ][BALANCE]6 q" ~7 d$ t& r$ r
TCPLOCALPORT=4053' `+ G1 b3 X0 c8 J4 S5 j3 J7 c
UDPLOCALPORT=4030
2 s6 e4 l- H8 F1 _" n9 h这里修改后注意GATE.iniUDP协议3030端口为4030
6 W* _: [& W- ^4 s然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.. q5 _. ?# k  ]8 p
, K9 E5 w' D/ u9 ^5 B- R" |
题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.) Y$ T- K0 V4 u, p
打开windows自带的计算器,选择查看-科学型,然后选择10进制6 _8 J) B+ X% @. F9 z# |1 F1 u' j
按下3053,再选择为16进制,你会发现305316进制中显示为BED" y; d2 ^/ }% }7 Y- W8 v
但是为什么要查找ED0B,因为在程序中这些东西都是反写的,* l7 Q" ?* {" o, u- }% g( Q) _  t
以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D
( ]8 C% V3 l( [5 ~7 X8 @若是奇数就要加一个0来补齐.
6 {  q2 i1 l, R; k, Q* m
. @8 L! S& \2 a- e4 D; T1 x再来看看DB服务器。
0 {8 E5 S: q) E; k5 `/ c2 [
; ]  @2 X! {4 J5 k9 U8 V( NDB服务器下目录比较多,我们一个个来讲+ y8 N" }7 y0 a* P" n
backup目录本身DB服务器不产生,也不在他的目录下增加任何文件,% X8 v" r8 c: k- u
根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.
; p. F- G% g/ h# n& Z: elog目录,web目录,均是记录玩家的情况2 i2 t) M* g# \- a
userdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时$ ~+ E" M9 Q& |6 Q7 {
他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因' }3 z, }2 L$ Y# X3 G( I0 {
还不太明白,只知道会导致玩家元气永远比原来差一些的问题.
( |- P. X; j! [; G# M+ d# N# E& r0 K2 H# Q
DB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.4 V6 ~1 D) g- D) b) U; Y
reload,字面意思是重新读取,具体作用未做测试.. f2 z7 t" l- F* D
addrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,
9 J! o" `0 T0 {1 {/ V" ^, G9 h到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.: i9 g9 }: Y0 y/ w  R) v. O
save today.sdb,存盘当天玩家上线记录.
! W) o; R$ M: p$ s/ K" ?back up,备份数据库,备份的数据库会产生在userdata目录下./ Y; Y6 Z! K9 M( i( T  I
# E6 V  U, R: {! T

) o5 a9 Q( n2 t0 C  [/ lDB.ini,DB服务器配置文件./ R% i0 E$ c3 g( @: K# D# E, z
[DB_SERVER] 明确服务器名称.
/ K6 S9 q9 g0 n$ V0 _/ {FileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.
9 b9 p* ]$ U! ~6 _; d) wBufferSizeS2S=1048576 数据库的规格
( b6 U( |3 V$ ?GateAcceptPort=3051 DBGATE连接的端口.TCP协议.1 _: n% [. z; M- N/ V% N6 J
RemotePort=1024 接收端口.应该是玩家下线后TGSDB连接的端口.
1 e. i6 A" ?) w% Y* E2 ~ItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS.. R7 s+ o) b2 M: |) p  X

+ J/ p& I4 e4 V5 @) x( ^9 n1 K; E# x( n% c
IPList.txt文件.
4 B& i+ y# w9 f. d: c6 ?# n2 ~记录远程GATE连接的IP.一般设置为127.0.0.15 P  o( v$ y* _2 g
0 ~# O, O  K4 O7 p; Y3 |4 \
remoteip.txt文件.. k* i  Q3 J' j" d0 Z2 w
记录远程TGS连接的IP.一般设置为127.0.0.15 @, n/ C2 i4 E8 L
0 t1 @* w" ?: G; Z
ModifyMagic.txt文件.
1 b/ Y2 L: T2 l6 M% g7 ~  ]9 S感觉目前似乎没有用到.具体作用有待补充.+ L3 |8 w, B( y1 g' {

5 R2 [0 j5 ^" M6 w# d$ [" n. J' E2 b0 p' |) g

1 Q7 H# C8 _" V/ T1 I3 H; v% GGATE服务器.
% p) i% Q3 F; X  p* G4 Y- b0 ]# H9 c! |& F  u2 V1 u
log目录,记录目录.
2 {0 h4 A2 H2 c4 x) S) Q- e. k. N0 Q) G/ V+ C
CreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量.
# d2 }8 g( y/ I# U6 `[CLOTHES]
% X; t3 A" p8 e, ]" `# D6 iCLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.
3 w2 h* A7 V) u; ~7 l7 BCLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.
1 y" m; c. N. t* ?; }CLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣.4 [7 S$ n& l% m* ^; J% X
CLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子/ B9 D, [0 U& w* L

* ~0 B0 W; R1 M4 n[WEAPON]: |5 R) q: x* L8 |
WEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以% z; {- m& s* U/ s3 L. S* e# q
WEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以
+ ], H, E/ R9 B! J- jWEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以
, ~4 P. V8 D' J3 g/ fWEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以# [1 \  V7 o! f! p3 A: g& L

* t9 S, L6 A0 f7 O. z[ETC]
+ O2 j& q  u) Z0 M. X+ s; TETC_01=五色药水 新手出生后拥有的物品1.这里要说一下
# S) l) k8 L  y! L2 t! j
, \% O* m0 d) l4 j即使你定义为没有耐久的物品,他出生后还是会有耐久的.1 t/ V! ^7 D1 O5 ^$ g* ~
即使你设置了ETC_0203或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.+ d& J+ V) ?% s& z- s5 l

; I7 Z/ z, V2 O, U% N! W1 F. L( c, _) l$ h( P5 S6 R' v
DontChar.txt 定义不允许建立的角色名.
8 D0 N8 q( g( i9 z- t  j* r4 `9 W+ d7 ~3 r/ ~

3 r' H2 h) w* X( W5 r) Xgate.ini文件,GATE服务器配置文件.这里详细说一下.! L: s9 x4 K! F) O! D& c* I8 v
8 }( H  H5 H% P, L% `% f. H: s
[GATE_SERVER] 定义服务器名称: |+ V- D; d) r$ ?, a
LOCALIP=127.0.0.1 定义对外IP
6 Q9 I& y) \8 ^LOCALPORT=3054 定义与balance连接的端口  G, v+ i0 b2 W4 ]8 s6 Y
LIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.
$ r, G/ T& _" H5 y& N$ v' [9 k& ^; yCHECKPAIDINFO=FALSE 是否收费服务器., D, ?' z  L* u) ~& c" I9 g
BALANCEIP=127.0.0.1 定义balance服务器IP9 b7 n- X6 v+ c% E; v
BALANCEPORT=3030 定义balance服务器端口.UDP协议.
* C3 a+ m0 X5 L" h, |: FSERVERNAME=test 定义服务器名
: N+ ]; a, i! J; q0 KBUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激
! n- p8 _0 e7 dBUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激
' L4 B1 P8 x1 r! z0 L" Y. }3 {/ {/ G& ?2 b: _
[GAME_SERVER] 定义服务器名称
6 y. I0 d# E% p9 m6 v" P8 r- oREMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGSIP地址.经典的3052漏洞就是这个.2 l; E# v& v/ j1 {
REMOTEPORT=3052 游戏主服务器端口.一定要封.& w, ~' }0 t. a: L5 J* G, O

4 U! t$ [( @: ]8 x7 ~) ~8 z! A" w[DB_SERVER] 定义服务器名称
* T+ Y# b2 M0 Y/ q9 z  fREMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.
4 n: o) J" B* J  v+ w! v- p4 IREMOTEPORT=3051 人物资料服务器端口,一定要封.. l+ O9 K, `8 B* n7 w5 }
0 p# m' V+ P; f; |* [
[LOGIN_SERVER] 定义服务器名称
) D% w* t) b$ _7 L* x; v6 iREMOTEIP=127.0.0.1 登陆服务器IP地址.
6 g# S, c3 O% ?# x# CREMOTEPORT=3050 登陆服务器端口
( C5 q0 ?# S6 b; g" Y( _8 l% \
! c( ~4 }0 k/ z% F/ h: {[PAID_SERVER] 定义服务器名称 (通常删除)# K0 ~, l1 t0 D2 v8 ~/ L  l  y
REMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)
  J4 f  e3 p. ]# P; @  [REMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)
; Q, [) u5 v8 b; S% ]
& o. n7 i3 H* r7 r' J/ y( q' F& [6 U1 C  q( f
tgs1000.acs文件。GATE的语言库。  z; Y" z7 ]. i; [7 H

6 [, e" B8 Z# |" ]3 S( DVillage.Ini文件。定义新手出生地图。这里讲一下。
% F/ o  ?# Y' ?2 x$ u3 w9 H$ [  A1 Z  @0 J. k# g8 K7 M& I. C
[VILLAGE] 定义配置文件名$ t* m* F4 C% w  h$ ^2 \% v8 ?
: M* G% T( H4 N3 i
COUNT=1 定义新手村可选择的数量8 I6 \2 F7 ?5 q# S7 Z$ T
* |) b  ~' S, Q4 o2 }! v
NAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。
% M4 G" d+ U( Z6 F  z- P  A# u0 N& TX0=178 第一个新手村X坐标
$ @6 s) x1 o; d0 M0 F, N) D( h8 MY0=238 第一个新手村Y坐标$ U' V" @( g8 d
SERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.

5 g6 ]4 r; Q: t( i; ^) p, W* K/ ]




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