三千论坛
标题: 服务端参数配置和功能讲解 [打印本页]
作者: 异仟年 时间: 2022-9-5 18:43
标题: 服务端参数配置和功能讲解
千年的服务端主要分5个程序,本文详细介绍了服务端各类重要参数的含义,方便新手GM提高对服务端参数配置和功能的认知!
0 }! A' [, [$ X$ P0 w/ F5 P' K0 q3 }
1:Balance 网络均衡服务器。
2 r% @ ~, L/ Y0 Z; Q) `8 i) v' I2:DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等. ?$ E, e7 F u7 }1 c
3: GATE 网关服务器.
* u& w9 w5 P4 n# i, }2 M; i }4: login 登陆服务器. 帐号密码等数据在这里.
1 z% Q! p+ L" \4 X5 Z7 G# b5: TGS 游戏主服务器. 游戏大部分设置均在这里.+ V ]2 @; r# {) X: M$ i) B
" w3 Z6 s7 A; A ~9 O6 Q2 @
下面讲下他们的工作原理.
+ k8 ~6 _* e8 l; v. u8 B0 r
) B. v" w# [& v# \1 l+ Z4 m首先,玩家通过TCP协议3053端口连接到Balance服务器,当Balance接到连接命令后,& S* g; t8 H) p. K% J6 K
将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责
9 p% @! Q+ r3 l6 g, o6 q* X中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,若TGS端口连接正常,3 z0 z, G& _+ E; c2 ?4 s4 ]/ \' f
则返回信息到GATE,GATE再验证DB与login服务器,若连接正常,则发送信息连接成功到" A" D( T3 ~! w. j: `$ T
客户端.
! { _8 j; S- v" J
6 ?; S; `4 { l- V0 |) y再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)
- }( h# x! [3 {* ]! A( j/ R! I3 Q- k6 [( P: v4 W
Balance服务器 对外TCP协议3053 连接GATE-UDP协议3030.' p3 k" T% ?6 X& k6 Y) F
DB服务器 TCP协议3051连接GATE.! t- P( l; x7 j: K# S
GATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示.
5 e1 @$ D! \) Q! d/ WUDP协议连接balance的3030.TCP协议连接TGS服务器的3052 TCP协议连接DB的3051 TCP协议连接login
/ }# u- q( n9 m# A& V的3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡
4 } r$ ?& e# W% g( q, ?% V1 f验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友4 u8 W9 h, {4 G9 B4 a, j
的误区.7 H/ ~* K0 M% ]2 l8 T% X
login服务器 TCP协议连接GATE的3050
: O1 h( I* w5 S; ITGS服务器 TCP协议连接DB的3051 其中还有一些物品记录服务器等.; j9 `9 D; Q1 x
3 h. t$ `& Z1 U% e9 {& B( A, E3 J
再讲每个服务器中的配置.: e0 ~* u5 ^7 F
% x& t7 r. |3 p+ BBalance服务器 目录中的balance.ini中配置2 C2 R7 d8 ]# L8 h; F9 l
[BALANCE]
9 F* E2 L _( \( sTCPLOCALPORT=3053
4 X" V4 ?0 f, V$ C2 Z iUDPLOCALPORT=3030$ |2 _, r4 s2 J- L) X0 Q- g
基本不需要修改,若你想开启一机双线,那就要双开balance和GATE,
9 F- t& o5 A0 e, B' a& b+ ]+ Q5 |若需要一机多区,就要双开balance,GATE,TGS。
: P; O6 s: j- [0 j4 E& Z5 R- ?这也就是克星一机多区的工作原理.2 t/ V+ \! N7 B i3 p
但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053* R3 f9 @9 J% F
他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从& w; }$ Q0 O) \ P$ N
配置文件中读取用户所设置的端口来实现一机多区的.% ?* M& L; ~1 e. M! `- n
如果你想不使用克星工具实现一机多区,应该做以下设置.
/ M" \) g; u }复制另一份balance出来,打开balance.ini修改
( x- c7 o7 J4 o8 \* W7 l# T[BALANCE]
) `5 T# s! A! L/ {7 HTCPLOCALPORT=4053
- C9 K# i; x7 K4 I( Y6 ~5 Z1 y2 t( FUDPLOCALPORT=4030. [' X" o0 ^5 w( u3 {- O$ E9 S4 C
这里修改后注意GATE.ini中UDP协议3030端口为4030
9 c, T5 V% ]3 R8 g( Y5 O: h然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.
. N5 Z; I# P# [" R6 C
4 Q* y p Z3 h3 N, [) E7 I0 j题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.
* w/ ^1 k" E# v9 _, n打开windows自带的计算器,选择查看-科学型,然后选择10进制
: ?- r$ P* U% K% M! N" ~- Q# P/ S按下3053,再选择为16进制,你会发现3053在16进制中显示为BED5 {$ t0 { g! u4 X* p2 E. o6 U2 Y
但是为什么要查找ED0B呢,因为在程序中这些东西都是反写的,* L3 E2 g& d( N! w- }
以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D
3 A8 \; J D' g& r2 [( @ n若是奇数就要加一个0来补齐.+ ?4 i- w1 @8 b. C% ~
+ t" P8 y1 p& `) C: Y
再来看看DB服务器。+ w$ x' A. F: T. T# h; F, Y
! A$ V! x! M3 P6 N4 [' oDB服务器下目录比较多,我们一个个来讲" _3 Y8 ^: k7 z) E/ ~
backup目录本身DB服务器不产生,也不在他的目录下增加任何文件,
9 y. |2 P c7 a% s" N根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.! D" J: p+ h/ e: d
log目录,web目录,均是记录玩家的情况9 [3 l* V2 p) j6 Y. @& N4 Y Z& R
userdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时6 j& V T2 _' S* ~* w. c
他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因
& K* R4 a$ F! }/ I1 P还不太明白,只知道会导致玩家元气永远比原来差一些的问题.5 ^1 ^) d# K; S. @( F
1 n! _" [6 X4 k# M% }DB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.
. H' l2 r5 R b( `reload,字面意思是重新读取,具体作用未做测试.
A1 d. C' f- u/ O9 naddrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,
3 i; P7 n5 \0 |6 T( z# \到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.+ v$ r; \0 p+ m3 B( ]
save today.sdb,存盘当天玩家上线记录.
1 r: @- a1 U! A! F* Bback up,备份数据库,备份的数据库会产生在userdata目录下.- o" I$ X/ j4 J3 |# r- ^/ ~- R
# R5 W* M. ], [3 K' D8 g
/ a' x3 M Y+ z* c8 h
DB.ini,DB服务器配置文件.4 |/ O9 P. E, ~& Q, I# M
[DB_SERVER] 明确服务器名称.
- |( P6 P& R) O6 RFileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.2 j( p+ B) ~2 [1 J; P$ D, y1 i
BufferSizeS2S=1048576 数据库的规格8 X7 X* t" x! F! a& c& T
GateAcceptPort=3051 DB与GATE连接的端口.TCP协议.7 ^ t/ ^1 H3 S
RemotePort=1024 接收端口.应该是玩家下线后TGS与DB连接的端口.8 t/ m1 e: a4 Q( z
ItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS下.$ H: J- `/ Z0 T8 D+ W
/ V) P- \0 x6 D0 H, I: V8 E8 ]( P+ }
. `, k$ B& b; T8 B8 N4 i# bIPList.txt文件.
6 b( `& i9 r6 }记录远程GATE连接的IP.一般设置为127.0.0.1
* L& @. H: z/ v: G' L
l) C; q- T1 S8 P' t- r5 g8 yremoteip.txt文件.
; H: l; Q8 e0 @# u! i+ L8 Q K记录远程TGS连接的IP.一般设置为127.0.0.1
3 u! U$ `) ?$ P9 [( n+ T3 A& r. I& v' y1 J2 B4 X
ModifyMagic.txt文件.
& W. A% C3 D- q! j+ [感觉目前似乎没有用到.具体作用有待补充.
. K* R5 \( a M! G, q
" [# _+ V; K w: ?: @0 A
& o, m+ I& ~9 |1 e- \0 b3 K8 ~. |' U) P" j0 d4 j
GATE服务器.8 ^3 w; R5 X: Y% A% w7 g. t
1 F1 i1 s$ d; z2 \* P6 Z' t# z8 z# S: Alog目录,记录目录./ d o' A2 m& q
% [8 \: C- e, ZCreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量.
3 w3 q7 \% v, _# n[CLOTHES]8 l8 n" F% G$ v- Y1 N8 @4 ~
CLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.
0 O* ?( g/ ]7 S6 C; |CLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.1 n8 F" r- P) N" A9 m& O4 P" t o
CLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣., v0 N' A& }. p9 p! s9 ?# z
CLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子
7 ], X7 d& G9 k- X1 L, ?
. n$ e8 n9 P1 R6 p[WEAPON]
8 b3 Q1 J+ ~( r K6 cWEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以& S8 x6 V3 n+ k; B4 C5 M
WEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以
! V9 Y4 e$ a! p6 SWEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以
9 i4 `( u0 R! m! qWEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以! V# u5 R! ?- M" p6 W5 F5 K
# G8 E. C: J6 o; N+ i t: u( C
[ETC]
' c* O* f% ]2 o: r4 e) |1 h" FETC_01=五色药水 新手出生后拥有的物品1.这里要说一下3 j" d4 q" q% l6 D5 \! q
) r: X# O: U( K- U6 Y
即使你定义为没有耐久的物品,他出生后还是会有耐久的.
7 s& ~+ R E( M5 o* J5 k+ C9 T即使你设置了ETC_02或03或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.
5 A: L& O/ h3 s$ b
$ U6 }8 f. v/ \8 g4 G! S
2 c9 T/ t) O- ~% u& xDontChar.txt 定义不允许建立的角色名.# |- c$ E9 B! E3 S+ y) h
7 Z3 g7 q6 A" z3 g- @% ~7 x e' z6 d% ]3 j1 S1 Z* G3 H$ x
gate.ini文件,GATE服务器配置文件.这里详细说一下.
9 C' n( L7 K" A! E2 O
: z6 ~& p1 `; L/ N[GATE_SERVER] 定义服务器名称
; |" p# X: p" \- F: `* ~, qLOCALIP=127.0.0.1 定义对外IP- |- U8 u- y$ ~3 W
LOCALPORT=3054 定义与balance连接的端口# H9 `8 ^2 N+ i! w
LIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.
1 t1 N; A. G; E. ~! U. uCHECKPAIDINFO=FALSE 是否收费服务器.
* ]5 l9 O1 Z; I N' gBALANCEIP=127.0.0.1 定义balance服务器IP
% `: O- F u8 o# ^! m$ [8 \BALANCEPORT=3030 定义balance服务器端口.UDP协议.
& L, [' s2 \% I/ U3 @SERVERNAME=test 定义服务器名
; F4 x% A% d/ ]BUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激
6 X/ f+ x P0 e% U; ]# o( wBUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激
7 R+ q1 [5 I: t* t5 U/ i
0 Z Y1 `. S' K$ N0 x[GAME_SERVER] 定义服务器名称) O/ |, ~8 J& p( E1 S; b
REMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGS的IP地址.经典的3052漏洞就是这个.5 B2 n" P2 \: E: k- s/ J9 c- y: \
REMOTEPORT=3052 游戏主服务器端口.一定要封./ u, ~. n% _/ t
& o. t2 v l6 f/ G2 Y- H! Q
[DB_SERVER] 定义服务器名称7 r- u1 r# h/ O2 P8 o% H9 ^) K' l
REMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.
1 f1 h4 ?# p, f! w4 W* NREMOTEPORT=3051 人物资料服务器端口,一定要封.
6 F) z% ~: f/ f" h& U
p: i/ V$ H# R& i+ x5 h[LOGIN_SERVER] 定义服务器名称
/ L- G' d# N0 k- IREMOTEIP=127.0.0.1 登陆服务器IP地址.3 M E. ?0 a% d5 q) _% O. m6 _# i
REMOTEPORT=3050 登陆服务器端口" l! a% G- @/ J ]5 _6 |
& L) q3 R$ D" }0 @2 Y g u ]# O
[PAID_SERVER] 定义服务器名称 (通常删除)8 L6 V! ?: B* E4 O
REMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)
- p6 ] @0 c% A% c8 R7 M, l+ f6 rREMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)1 S- y; {/ R& E) ^9 P9 y% p# m
' L/ v1 x+ d: \4 z# a3 g5 h8 ]
0 _& I6 v6 W- K9 a8 w+ |$ T
tgs1000.acs文件。GATE的语言库。
8 ^7 S% l% i- E: o, I7 Q2 N2 m" f1 m+ q4 ?& x
Village.Ini文件。定义新手出生地图。这里讲一下。
8 l& Z- @2 p& t. e: Z1 I; Y1 ?5 }, ]( \' z) a* N- ]7 a% {
[VILLAGE] 定义配置文件名
r* J' e- N8 {& T* [, w
, N- E \# w$ e3 bCOUNT=1 定义新手村可选择的数量% {" ^0 K$ d+ _7 o! z) m
% {* J+ O0 j1 C* n4 _NAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。
( U. M6 }6 e" d$ G! L, lX0=178 第一个新手村X坐标
6 n) H0 E5 y+ t; x4 \* Q" i' ]Y0=238 第一个新手村Y坐标
2 F5 h: Z0 \1 J9 O0 ]" D# ySERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.
( T6 w4 j' S+ b& k% s2 y8 f* M1 \
欢迎光临 三千论坛 (http://3000y.com.cn/) |
Powered by Discuz! X3.4 |