三千论坛
标题: 服务端参数配置和功能讲解 [打印本页]
作者: 异仟年 时间: 2022-9-5 18:43
标题: 服务端参数配置和功能讲解
千年的服务端主要分5个程序,本文详细介绍了服务端各类重要参数的含义,方便新手GM提高对服务端参数配置和功能的认知!7 _1 H5 o6 B$ ` J1 _4 M
) M" E0 s7 h. Q0 n* Q W1:Balance 网络均衡服务器。8 q0 d9 W3 t8 P* {6 w' u+ i7 g
2:DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等.
$ E5 @8 @4 h. ?4 E' l3: GATE 网关服务器.
# e1 ?6 r% Y2 b3 R7 @% c* ]0 G4: login 登陆服务器. 帐号密码等数据在这里.
) V9 Q+ R' C6 J$ ~5: TGS 游戏主服务器. 游戏大部分设置均在这里.4 M9 N/ C1 o: G$ A+ k9 L
( }6 ~( q X, O* B0 Z! R下面讲下他们的工作原理.
* T% u& `- [% R- }) s; Q! q/ O8 F ^" D! m& I/ z, [! h- t' o" X
首先,玩家通过TCP协议3053端口连接到Balance服务器,当Balance接到连接命令后,
% a! a: R1 L3 Q将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责3 F* q: z& Q( }9 ?
中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,若TGS端口连接正常,
( k7 X2 o1 _! C则返回信息到GATE,GATE再验证DB与login服务器,若连接正常,则发送信息连接成功到( U' m. A% m$ S+ u+ k, j
客户端.6 ]# I( g$ c V
# [% U5 K# O; J0 O4 ^( c) b- A
再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)" I- I) v" t- p0 L$ A
+ C' @& Y8 a X" K/ l( s3 SBalance服务器 对外TCP协议3053 连接GATE-UDP协议3030.
1 I% }. |# k% j3 V3 TDB服务器 TCP协议3051连接GATE.9 m' Z4 }9 u" q; E# `
GATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示.
; b5 }( K) @! J l& mUDP协议连接balance的3030.TCP协议连接TGS服务器的3052 TCP协议连接DB的3051 TCP协议连接login
) I6 m4 f* M8 ? G9 f! A的3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡
$ I6 b7 Q3 H* }$ t- Y6 R; b验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友1 i! }2 v7 Q% M0 w( J* H8 B
的误区. O- v# @* g+ N3 [
login服务器 TCP协议连接GATE的3050
( i: z' G( C6 c) h5 ]) D3 I1 W: bTGS服务器 TCP协议连接DB的3051 其中还有一些物品记录服务器等.
& Y# M! k% d2 L3 I# ~4 z, a7 G, ]' |% `" E# X! K1 m
$ G7 h6 u/ D1 j* G1 g3 d再讲每个服务器中的配置.0 d4 R. S4 \ M$ b2 G+ ~; b
/ c; c- v% D; a& V
Balance服务器 目录中的balance.ini中配置- Y6 o) @, w* X% V
[BALANCE]5 P% C1 g& s! c/ \8 r$ d. z
TCPLOCALPORT=3053% H9 _& s/ V3 I: t8 _- @
UDPLOCALPORT=30308 y& l' ~; J. ?8 i, i# ^9 l
基本不需要修改,若你想开启一机双线,那就要双开balance和GATE,
- N. n$ P* G( B' U: |* W: x若需要一机多区,就要双开balance,GATE,TGS。
) g" l$ K8 M( h8 d* S/ `7 U这也就是克星一机多区的工作原理., O0 E0 L& P6 H! F" y
但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053/ L1 o( o+ y( U9 g
他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从
, d1 j5 G) s! s9 `( `* q- u配置文件中读取用户所设置的端口来实现一机多区的.
8 B9 v+ ~5 |) ^$ S) u! ^, j4 X如果你想不使用克星工具实现一机多区,应该做以下设置.( ?0 L3 D2 f6 c2 R& v
复制另一份balance出来,打开balance.ini修改
# f8 Z; z& _) M5 `( b[BALANCE]
6 t4 R. P3 c1 L, F3 l" A9 }TCPLOCALPORT=40533 ~- y7 _3 O7 g6 U7 H, y+ X
UDPLOCALPORT=4030
4 \; `5 J% T& h) P e这里修改后注意GATE.ini中UDP协议3030端口为4030; P% D, m, H8 Y8 N. O
然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.
# R) F7 N4 j5 x" b. F9 q v- u$ \0 W0 j! K. u
题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.
j6 w5 y1 h1 a+ k& s- k打开windows自带的计算器,选择查看-科学型,然后选择10进制
" \+ T b- D) g0 J/ N按下3053,再选择为16进制,你会发现3053在16进制中显示为BED
3 Q* F# [1 \2 g5 X) L8 y' q但是为什么要查找ED0B呢,因为在程序中这些东西都是反写的,
6 H* E9 o% D; D+ Z6 z7 P [3 y% J& Z以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D) f( \" E/ B! d }6 x: q
若是奇数就要加一个0来补齐.
2 h7 r( n2 b) a3 ^7 J( u8 m% e+ n& i0 M: @4 J" ^0 d" V( V2 F
再来看看DB服务器。1 e. m. y1 w6 |. ~$ S+ N# i8 s
8 }. A; l, I7 w. f8 q0 `1 VDB服务器下目录比较多,我们一个个来讲' l- f: ?/ x b8 d9 M0 P- n" d$ v
backup目录本身DB服务器不产生,也不在他的目录下增加任何文件,6 ^$ u- E X4 @; Z
根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.' o# [/ r% ^0 I' T5 B
log目录,web目录,均是记录玩家的情况
4 j2 ]* T( v Auserdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时
( v r" N4 z% X" O9 S# Z, B9 U他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因
6 d% e5 I1 ~ R) \还不太明白,只知道会导致玩家元气永远比原来差一些的问题.( W, }/ p3 b1 A$ X0 p
$ ?4 N0 n: }0 _* |7 s3 I! J( r# P
DB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.! Z `3 \% T/ t+ ^( }
reload,字面意思是重新读取,具体作用未做测试.) Q; Q# y1 o6 I/ C* C
addrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,
/ N! l( J# y3 ]' A0 O到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.
( S- D8 d9 [' p- E: k$ u( P+ |save today.sdb,存盘当天玩家上线记录.( ^: Z/ @! ~9 w
back up,备份数据库,备份的数据库会产生在userdata目录下.7 x5 `3 U; K# i! O# J* B6 S
5 r- f: U) I& l" G
# f) X' Y, `/ ~0 @" N) T5 E8 EDB.ini,DB服务器配置文件.$ k! L4 H* l0 I- w$ w5 @- o' v; f
[DB_SERVER] 明确服务器名称.
" `! i l: F( q+ U& VFileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.& `! F! Y1 o8 |# V O7 d
BufferSizeS2S=1048576 数据库的规格5 j# d/ B" c0 [9 ?' @% e' Z* b
GateAcceptPort=3051 DB与GATE连接的端口.TCP协议.
7 |! d' `. V0 X2 X' CRemotePort=1024 接收端口.应该是玩家下线后TGS与DB连接的端口.) ?7 k8 ~/ A- G3 V1 M
ItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS下.5 I0 J+ w. X( x: T1 s) U1 \
' ~) W- @5 L4 ^( Q, u+ j7 U2 Z! X
: m7 [/ v7 d. R
IPList.txt文件.8 M' M. A3 x( n, M5 ]. m6 y8 b: y
记录远程GATE连接的IP.一般设置为127.0.0.1
4 }8 r! y A" b& t; C3 s8 W6 w6 m1 S
remoteip.txt文件.
7 C. {+ B2 R* Z' B记录远程TGS连接的IP.一般设置为127.0.0.1
; F) g) s; V! v
% i( ]0 I( j2 _* D5 ^ModifyMagic.txt文件.
+ `8 a3 l, K; {( e' w感觉目前似乎没有用到.具体作用有待补充.! v1 ]- Q! N) p7 \3 ? d
' w' V+ R: K4 w" b+ ~
# J9 C3 j! n9 k! U3 z$ C: w
& E8 c. t' i2 r! \# W& z5 hGATE服务器.3 K5 U% k9 o o6 f8 `
3 O& n0 O/ Y( H: jlog目录,记录目录.( F0 P: l7 z& p" J
$ I+ @2 z# m- n! VCreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量.
& a! l# p K F+ v0 L7 d: B[CLOTHES]
) e6 R8 Y7 K! B3 l* `" Y" P% \7 hCLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.
+ ^. o, A' ~7 }% @CLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.+ p$ t/ i( [$ W1 M
CLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣.
. U+ C3 y* M+ U+ S4 }$ N. `CLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子' i2 ?9 u* i4 ]4 v
) p1 B8 Z: [' l% x% |9 B[WEAPON]
0 S2 t, M1 H- T) Z3 l+ pWEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以- ?+ Y$ c8 b, y, s+ k
WEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以
4 K! i+ L. u( u) H" v2 gWEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以6 z+ u: T6 D h* @( S
WEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以
) x6 h3 ?2 ^! [' h- b
7 w4 u3 P# P$ d! g[ETC]
1 d k, ]% f$ b) w" t' g! F/ b# aETC_01=五色药水 新手出生后拥有的物品1.这里要说一下
( F; e: K% `4 l8 j. F8 ~! o7 N/ ]" G1 t$ M$ c1 o7 Q$ U; O/ R( @
即使你定义为没有耐久的物品,他出生后还是会有耐久的.
3 A" ^$ X5 I9 G; O6 g即使你设置了ETC_02或03或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.
! H6 O& l! d2 `) R- V- x1 b: D' t. y! y
. N. R; w: n3 f s. O* Z \DontChar.txt 定义不允许建立的角色名.' E: U1 ~) |6 J5 T' j/ w, n( v
( X+ S. C1 _8 M
. l, `5 J% l: |( {gate.ini文件,GATE服务器配置文件.这里详细说一下.
5 k- b- H2 r% Q% }' ^7 J
7 R/ [' B6 S8 d/ e R[GATE_SERVER] 定义服务器名称
' ]$ o4 R2 L) n. v/ p3 oLOCALIP=127.0.0.1 定义对外IP
4 P5 S0 O2 C4 X. ?LOCALPORT=3054 定义与balance连接的端口
1 r- F' ]' |: y2 T8 O; |% U. b4 JLIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.
$ z' ?. u/ i" \' _. X R$ T2 |+ @& DCHECKPAIDINFO=FALSE 是否收费服务器.
: ]) Q8 J* ?( |/ oBALANCEIP=127.0.0.1 定义balance服务器IP
! Q- M9 J1 C* N5 n" D D5 rBALANCEPORT=3030 定义balance服务器端口.UDP协议.
- |+ ^* Q! N( K6 W% aSERVERNAME=test 定义服务器名
9 [ F0 }1 z7 |# }7 |" t6 ~BUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激* s9 {- M9 q$ i& s: o
BUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激
% b4 o0 U( P; w+ p `$ ~6 u
. ^ N4 U& k5 d; c. r+ Y[GAME_SERVER] 定义服务器名称
: ]+ D: E7 j$ a0 b3 e# FREMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGS的IP地址.经典的3052漏洞就是这个.
. n! I4 M: a/ W8 ^; Y. fREMOTEPORT=3052 游戏主服务器端口.一定要封.' [' B$ B8 ^+ u" _' s2 F5 x5 m
4 q) t) e. I) A" H9 P2 U% y2 [- z[DB_SERVER] 定义服务器名称
- Q8 q/ v3 y% |$ n2 G4 FREMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.
; K* i; ^% M; C1 f1 Y2 z2 {- P6 JREMOTEPORT=3051 人物资料服务器端口,一定要封.* B: r- H( O9 Y, P( m
) k1 B6 d3 W6 r7 M; k( H. @[LOGIN_SERVER] 定义服务器名称* u$ i. ~2 k0 ?% Q
REMOTEIP=127.0.0.1 登陆服务器IP地址.
0 m: @9 d' g( V# r. S- bREMOTEPORT=3050 登陆服务器端口' I) P9 ^4 n1 O
- q- r$ I+ q# }5 h) d: y
[PAID_SERVER] 定义服务器名称 (通常删除)
5 K( T W7 W! |. }6 S! CREMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)* }% H" C' m# N: X7 M
REMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)
! a/ |8 _5 L! n% l( X- v* p g
7 s" f z y$ }+ c' l
! K2 F! H2 E2 @% Atgs1000.acs文件。GATE的语言库。0 b7 I" C6 t- d; G" o
7 O6 t: N% L! N& ?- tVillage.Ini文件。定义新手出生地图。这里讲一下。
8 n+ O4 ~% |3 k5 u1 ^2 W
/ K/ I3 p- r5 U$ \1 p' o# S, n[VILLAGE] 定义配置文件名
. s" y$ H! k1 o( Z' e' A+ k* \3 _) e) w9 ]8 L3 H
COUNT=1 定义新手村可选择的数量% _0 ^, n: T& C* k6 o
' D( D0 e) d# a" QNAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。
7 \% ]* q0 X1 Q# ]X0=178 第一个新手村X坐标/ `4 j/ I5 R6 N) H8 g
Y0=238 第一个新手村Y坐标! C% K! P K6 k1 ^
SERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.
! t: c, y: x2 J* e5 @
欢迎光临 三千论坛 (http://www.3000y.vip/) |
Powered by Discuz! X3.4 |