三千论坛

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

作者: 异仟年    时间: 2022-9-5 18:43
标题: 服务端参数配置和功能讲解
千年服务端主要分5个程序,本文详细介绍了服务端各类重要参数的含义,方便新手GM提高对服务端参数配置和功能的认知!% D+ K8 e# o' D5 u( B
: u! v1 |  {: L+ e6 Y8 O# M$ L
1Balance 网络均衡服务器。
* D  S( X& M  R; e" `5 \2DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等.9 R4 T- a9 H1 m# }
3: GATE 网关服务器.% \+ |( c% g9 u# r+ L# j
4: login 登陆服务器. 帐号密码等数据在这里.+ \2 [7 \1 @( z7 E. k( ^
5: TGS 游戏主服务器. 游戏大部分设置均在这里.* L( z, [) d" C2 D
% S# E2 d0 |9 D# }) k; F; ]
下面讲下他们的工作原理.2 R9 O: }' ^$ [; X2 W

! u# E  t& f( w, S8 b. F; j# T首先,玩家通过TCP协议3053端口连接到Balance服务器,Balance接到连接命令后,
5 i7 i9 Y; s; r' C将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责+ m+ k* R& [$ _6 h, r& y
中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,TGS端口连接正常,/ s, ?- D' n  ?5 s) N+ s
则返回信息到GATE,GATE再验证DBlogin服务器,若连接正常,则发送信息连接成功到+ ?  d3 V; ^# J% W
客户端.. y4 q# S! ^- A) U

# E4 E8 v1 A* o% S再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)
" V8 m6 H3 X  n3 M$ k3 t: X" c' O3 d! Y! c' q# g. R
Balance服务器 对外TCP协议3053 连接GATE-UDP协议3030.
7 q+ {' k/ d0 sDB服务器 TCP协议3051连接GATE.
3 ?; `7 _3 s& W2 r/ ?. dGATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示.2 k, Y% q2 z$ f
UDP协议连接balance3030.TCP协议连接TGS服务器的3052 TCP协议连接DB3051 TCP协议连接login5 b; j4 z' ]3 Q$ j3 g; N
3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡9 Y) `% u- y( i
验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友
/ [, p: [" b$ [  F" e的误区.& @, Y! D& P  b( D
login服务器 TCP协议连接GATE30508 c5 u( g: m! l" m9 {# b+ k5 @. V
TGS服务器 TCP协议连接DB3051 其中还有一些物品记录服务器等.3 D: Z2 i1 I# f1 g' E& M  _
7 S9 Z$ A0 m3 l  [5 l

( p$ t* x0 w2 h  f* P9 W: }9 X* ~# T  c再讲每个服务器中的配置.
9 W9 ?3 f1 w+ o; \3 n5 t* b' Q& B( l+ F" O, i
Balance服务器 目录中的balance.ini中配置: d0 ]5 c9 R" L
[BALANCE]
4 }! v# o+ z6 Y" y8 ZTCPLOCALPORT=30531 c, h0 f( N9 @  N- ?$ ^
UDPLOCALPORT=3030
/ H5 u; b/ ~! Y5 ~1 ?基本不需要修改,若你想开启一机双线,那就要双开balanceGATE,+ Q7 q2 l/ k: }
若需要一机多区,就要双开balanceGATETGS3 O8 h; Z/ J. L3 A( g& x: N& M
这也就是克星一机多区的工作原理./ C$ _1 Y- h1 k/ b' A& t7 @
但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053/ ~: F8 F5 J7 `. E! G
他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从6 F! e& c  y! u4 M7 I5 {3 x# I
配置文件中读取用户所设置的端口来实现一机多区的.4 F: I( a3 a. v# _% {
如果你想不使用克星工具实现一机多区,应该做以下设置.) D  O0 N: u! w
复制另一份balance出来,打开balance.ini修改
9 ^  b+ E. ?) S1 g[BALANCE]) Z9 a9 \, f4 X4 U, H% x
TCPLOCALPORT=4053
& H% |! d" `! N/ z  D  J' HUDPLOCALPORT=4030
$ \$ @' }7 x7 c% A$ b# R. ^这里修改后注意GATE.iniUDP协议3030端口为4030
* |! r' G1 |. j$ {然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.
, k+ |0 ?) a% d( L, Z4 ~* j" M* b
4 n9 F5 b' T# S题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.5 E' Q5 N  O- f% m" ^
打开windows自带的计算器,选择查看-科学型,然后选择10进制
8 |, g0 i- Z0 M; O+ e7 u按下3053,再选择为16进制,你会发现305316进制中显示为BED, f, j$ \+ \4 A5 _3 b4 {5 i6 }' u
但是为什么要查找ED0B,因为在程序中这些东西都是反写的,2 S0 t1 E% S2 I& p0 p
以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D
' S0 E- |6 a/ [9 H* D若是奇数就要加一个0来补齐.
: c7 F, g, `4 ^$ `4 v( n9 d- ~4 w: O, C! z. `& l
再来看看DB服务器。0 |! Q( h2 _  a7 [1 E9 t: K

: I0 ?8 m. }6 }# V  R' `$ EDB服务器下目录比较多,我们一个个来讲
3 C% Y  q2 C  ?+ jbackup目录本身DB服务器不产生,也不在他的目录下增加任何文件,6 H* W* m: W+ N5 d6 y
根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.' f3 [; Z! a; R& j* _4 o* n! d- [
log目录,web目录,均是记录玩家的情况# i) V  h5 b3 \! Q( b& E
userdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时
, Z3 k+ j- T# s$ m) p他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因
  Q, ~( y' Z) [2 ]还不太明白,只知道会导致玩家元气永远比原来差一些的问题.
0 j3 d1 k  _, {5 W8 m( ^1 [8 K* o7 g2 v# z* M0 c/ g
DB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.
1 I" w$ O5 \  g. wreload,字面意思是重新读取,具体作用未做测试.5 R$ Z! p% C5 {0 X' Y' C* S3 }
addrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,
, l  P. _/ U/ G# x8 m到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.
0 J9 c6 q) u' D  ]7 J! V2 Osave today.sdb,存盘当天玩家上线记录.
  J: O3 h+ ^( D5 }" Y' r5 gback up,备份数据库,备份的数据库会产生在userdata目录下.4 w% j+ L  I3 [, b( q+ y

. e% e) }& R- ^9 a  G# z# n8 M$ v: t' ^- S8 t' [& ^' i8 ]
DB.ini,DB服务器配置文件.; o; J' T! B% E( M3 f2 B
[DB_SERVER] 明确服务器名称.
  [4 ^& Q: z& `! j- uFileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.# e' J7 ~& Z, F  g
BufferSizeS2S=1048576 数据库的规格
8 @, g9 l- c- O' R3 J+ eGateAcceptPort=3051 DBGATE连接的端口.TCP协议.
, @( [& {2 J. z; y; B/ [! eRemotePort=1024 接收端口.应该是玩家下线后TGSDB连接的端口., o9 j2 b7 {3 o
ItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS.
: K. k5 h3 I1 e& _. z( i# E; t' r- [2 Q

7 q+ s$ Y5 w- s: w! y. WIPList.txt文件.5 F0 ^1 C7 T' Q, @! J
记录远程GATE连接的IP.一般设置为127.0.0.1/ ~3 [5 P0 g$ D4 n* F5 L3 |: W
. G7 I; l. E, t1 O3 s. `2 c$ i: _% m
remoteip.txt文件.
; H" L. ~! d+ B7 B" F记录远程TGS连接的IP.一般设置为127.0.0.1
. z" j; C3 K6 V- M
2 f8 E+ e) ~# ~# L" C$ a$ p& \ModifyMagic.txt文件./ f& p6 m; ~1 |# C
感觉目前似乎没有用到.具体作用有待补充.& A" U2 T6 {. u1 }( H6 T
' y0 f6 C* g. P/ w; i( V. ]$ `

. X+ `' w7 C4 C- o4 p/ N; v9 {) ~) v+ d! ^
GATE服务器.% b3 X" k3 w; J/ @0 ^
* {, D" c! a# {. b7 R$ o: S& m7 j
log目录,记录目录.0 V+ D& ]# ~8 S  A) m
8 P( Q: T  C% P( T, Z, Z
CreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量.6 r9 j5 ]/ V/ A3 r) V0 }! \
[CLOTHES]" m- a) ^/ Z  }* P) Q
CLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.
% n2 p) |0 b  u# k$ sCLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.$ S# k: I! E7 Q- e, k% j. N
CLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣., E; n! K9 I/ e% Y1 l: x
CLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子
8 U5 A) Y% G" ^& T+ B2 R0 ?! V" Q' J$ t
[WEAPON]
; z: z4 \6 I! [+ HWEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以9 H( g% r6 {& S- J7 F' ?
WEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以7 u9 ^, h" J& }6 ^% t
WEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以
) {8 \& v% ]2 V2 s8 _WEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以
" P# X9 X6 X. J* x0 O$ l( z1 `( e& q# O0 H
[ETC]
* Q$ f" H6 N0 \7 HETC_01=五色药水 新手出生后拥有的物品1.这里要说一下8 o( ^+ d, n1 j$ m0 G, f3 z

) f# R" e9 q  P% C" [: x即使你定义为没有耐久的物品,他出生后还是会有耐久的.3 V+ _  e  e3 Z8 v7 a: w% S; L
即使你设置了ETC_0203或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.
' q' e  t1 I  d& T. J' ?+ P
: G9 u* W% N+ o' A2 e& w; Y) j8 p, J# b3 R+ D* o9 ]  y
DontChar.txt 定义不允许建立的角色名.
' z3 _& b- C0 q9 B, m
" z9 y. d; j8 G# e. ^
  q+ Q" K# Z  Z& X% z% l2 h% S( Egate.ini文件,GATE服务器配置文件.这里详细说一下.
! y* s- u5 ?$ |" @+ G: X' c, ?) x
2 j/ P' \# m/ w: Z[GATE_SERVER] 定义服务器名称/ H: B$ }. N( V; W
LOCALIP=127.0.0.1 定义对外IP4 |- w0 u1 f5 G: ]5 ~$ w
LOCALPORT=3054 定义与balance连接的端口
1 D$ ~6 |! h" O' Y% ILIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.
0 @* s- ?# D' d- U9 W0 O1 L* p. zCHECKPAIDINFO=FALSE 是否收费服务器.
* l) o6 S+ P  j* {4 @+ o  Z* \BALANCEIP=127.0.0.1 定义balance服务器IP4 V3 ?& E- K/ o. {* R, `: N% d5 S+ o
BALANCEPORT=3030 定义balance服务器端口.UDP协议.
9 L: t$ D+ ~. M' y  @# pSERVERNAME=test 定义服务器名
3 n% G4 g* G3 f, |; K2 z( uBUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激
. g2 a9 g8 S, b. {BUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激
. s) w7 R5 K2 P% n- F
) c. H7 N- g- e) T[GAME_SERVER] 定义服务器名称
: [/ H' E: J: N$ t* g" k; W5 TREMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGSIP地址.经典的3052漏洞就是这个.
' q0 I: R* C  D* z6 Y2 u5 cREMOTEPORT=3052 游戏主服务器端口.一定要封.
5 e+ T: Y* N7 X% y
# u# K: ^% |6 A+ m, b0 y& Q" C[DB_SERVER] 定义服务器名称2 w- W, z* w& g: }
REMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.
7 t$ _) H* _* IREMOTEPORT=3051 人物资料服务器端口,一定要封.
! h( p1 z, T3 \# {9 W" q4 E. N! t
1 ?2 b7 ^. n: ]4 _( ?3 d% s. l/ }[LOGIN_SERVER] 定义服务器名称& T9 E: `( z$ u2 ^
REMOTEIP=127.0.0.1 登陆服务器IP地址.' H2 g$ `- d2 r: l% ^! \1 Q
REMOTEPORT=3050 登陆服务器端口6 ^* I5 W* e3 A* v" D, M

# O( t8 k7 S2 W7 ?[PAID_SERVER] 定义服务器名称 (通常删除)
- E/ B: y, U6 z# r/ y) p' LREMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)
# R/ \0 \. f, n, V5 ZREMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)
' B2 e9 z/ ^+ Y
2 C# ~/ W2 u9 g! z2 \- p$ p( {: y% p  `# l) D& _
tgs1000.acs文件。GATE的语言库。
2 L; ^5 v: X2 S4 a
) a/ X- U# V  hVillage.Ini文件。定义新手出生地图。这里讲一下。* T1 E; I% }; g5 Z
! a" _. @# j5 U9 J# {
[VILLAGE] 定义配置文件名
& T) ^2 F6 c3 T  B
& K  |/ n7 O7 `. sCOUNT=1 定义新手村可选择的数量; g3 V' Q) A" W
4 B7 j& Q. o0 Z: R  j8 C
NAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。2 @) C4 s! c" j2 Z
X0=178 第一个新手村X坐标
9 n. n! R# s9 a" C) H2 BY0=238 第一个新手村Y坐标6 J6 N0 V2 h7 B# G
SERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.
( Q" I+ F7 @' F" _2 ^% [: z& X





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