三千论坛
标题: 服务端参数配置和功能讲解 [打印本页]
作者: 异仟年 时间: 2022-9-5 18:43
标题: 服务端参数配置和功能讲解
千年的服务端主要分5个程序,本文详细介绍了服务端各类重要参数的含义,方便新手GM提高对服务端参数配置和功能的认知!3 n$ m, {0 v* X, k6 D* r
* O+ E9 P" R* Y# Y. t: b ]1:Balance 网络均衡服务器。7 F4 K- u! ?( T X! @8 S) N
2:DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等.$ _7 d+ c0 d8 T; Z1 D- `; g n" w# k
3: GATE 网关服务器.
. T1 B, l# U C4: login 登陆服务器. 帐号密码等数据在这里.
, g% }- c) a4 \3 L0 N2 K7 o5: TGS 游戏主服务器. 游戏大部分设置均在这里.
% b1 q: D y; }7 c1 @: p6 i6 G$ n2 _& e; V" h
下面讲下他们的工作原理.9 L# u A8 a* H4 \5 c4 Q. w
0 ?8 Y" D( t$ b
首先,玩家通过TCP协议3053端口连接到Balance服务器,当Balance接到连接命令后,
. T% s7 g0 T$ A0 M& f将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责; W- _/ m: A4 {) }
中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,若TGS端口连接正常,8 r& H/ P! @$ \# x A- |4 m
则返回信息到GATE,GATE再验证DB与login服务器,若连接正常,则发送信息连接成功到
' O4 Y+ P2 O. Y客户端.% ?4 z' t4 X; H* |7 U# W: t
" d9 n5 Q6 ^% v0 u- O再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)
2 Q7 \# d9 v* H3 ?. Y% \' {- t, v" l2 j7 d i8 G
Balance服务器 对外TCP协议3053 连接GATE-UDP协议3030.5 c0 i; ~8 h1 ~3 f* t. H: u+ R5 h
DB服务器 TCP协议3051连接GATE.: v& w3 [4 I+ p0 W5 {
GATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示.
' {0 ^! i$ y- q) UUDP协议连接balance的3030.TCP协议连接TGS服务器的3052 TCP协议连接DB的3051 TCP协议连接login4 O" J" q" b* t3 @7 T7 {
的3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡
& v( @; z1 t' L z验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友) g4 i1 {4 d* L) D
的误区.
, w, @0 ~9 v0 D; `) Mlogin服务器 TCP协议连接GATE的3050
% k1 f; @! {; {TGS服务器 TCP协议连接DB的3051 其中还有一些物品记录服务器等.6 B: K9 k: J( O# s$ m
' \% s6 ?# a! W# \7 X) I1 q
+ C! C7 Y2 F% w! s0 n" W再讲每个服务器中的配置.
9 G$ x3 I1 o3 n2 f6 u
* j4 _1 \) u8 e* T6 g& H* CBalance服务器 目录中的balance.ini中配置5 @5 l9 {" g* P; G' O J2 ]8 B
[BALANCE]( e5 N$ t+ ^4 A& ^
TCPLOCALPORT=3053, t N2 B& P4 W7 f" a
UDPLOCALPORT=3030
0 H, F+ \1 A& \; L: U' d基本不需要修改,若你想开启一机双线,那就要双开balance和GATE,$ O/ p( t$ h L$ i4 Y8 f- O6 T. R
若需要一机多区,就要双开balance,GATE,TGS。
$ v" R0 z6 I( R+ f( [1 I3 z这也就是克星一机多区的工作原理.
0 V1 J7 C" P5 M# H& Y3 L/ f# w但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053
, B, K) O0 D' ?他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从
$ u7 U" @% m; P5 y$ P配置文件中读取用户所设置的端口来实现一机多区的.
& |5 j' J+ _/ W0 F5 T; r9 O如果你想不使用克星工具实现一机多区,应该做以下设置.
5 U( V" B. N3 j- ], R1 i" m9 |0 j复制另一份balance出来,打开balance.ini修改
$ ]% o3 a; |. E[BALANCE]
* c# H/ V$ S4 B1 |TCPLOCALPORT=4053
. ^1 v1 f" [0 x0 t0 GUDPLOCALPORT=4030
# b+ A* V7 \0 E这里修改后注意GATE.ini中UDP协议3030端口为4030$ f( t/ I9 Y/ t7 @; P( w
然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.
6 ?, p3 n% n1 v# |0 Z$ `0 C ]: I$ @& @: J& U
题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.9 R* R$ P. N3 p. v. r& d- h( e I+ ?7 k
打开windows自带的计算器,选择查看-科学型,然后选择10进制
! ?: @3 S% w: U7 M4 w r按下3053,再选择为16进制,你会发现3053在16进制中显示为BED
# n# L0 z9 ]! ^ Z3 H, `但是为什么要查找ED0B呢,因为在程序中这些东西都是反写的,
1 x+ ?! X0 V0 e" [$ `以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D
9 k- Y. j- Q3 m7 l9 a' b0 Y& q' [# j若是奇数就要加一个0来补齐.4 E5 U5 h1 Q4 J0 j9 L$ S
, [ a& J; c4 }再来看看DB服务器。: G" [" c5 P" g# C& X& x
1 n8 T3 S& R9 `) w+ \1 PDB服务器下目录比较多,我们一个个来讲, g6 z8 ~' e1 t2 U* {
backup目录本身DB服务器不产生,也不在他的目录下增加任何文件,
1 {' a/ l) C% G6 i# B根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.
& M0 C) k) r8 ]7 w1 E. t n) Llog目录,web目录,均是记录玩家的情况
; e) C) C. n5 l+ |userdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时
; R" H% Q. w6 q他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因
4 I6 O1 s/ p( H0 x s还不太明白,只知道会导致玩家元气永远比原来差一些的问题.
" F+ q3 O7 N( f1 ?/ V4 }
6 i; ^2 R% A! N# IDB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.# y) R5 T5 G; O4 N$ a5 N: Q# y
reload,字面意思是重新读取,具体作用未做测试.
3 x A" X3 Y: {$ Raddrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,
. r/ s$ D5 {5 E. q+ o$ e到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.; Z" b- S( z# G# D% M* `$ i9 g1 N
save today.sdb,存盘当天玩家上线记录.
; l& `4 B1 p% L5 G; J5 gback up,备份数据库,备份的数据库会产生在userdata目录下.
: q _* n @8 \- |" M' z) g, J* Q6 T" H- y$ z' W' H" P
6 `/ l4 M# z g' oDB.ini,DB服务器配置文件.
- I; ?6 b! l/ v5 @, |. J) O) j* h- Q[DB_SERVER] 明确服务器名称.
7 c, S& u' |! |% a$ F& t6 b, k6 qFileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.
: y8 J* u: Y5 ?3 TBufferSizeS2S=1048576 数据库的规格
/ X( m8 v9 ^$ I2 Y- `/ J6 ~GateAcceptPort=3051 DB与GATE连接的端口.TCP协议.
; V+ N5 k4 i5 f( X- x8 FRemotePort=1024 接收端口.应该是玩家下线后TGS与DB连接的端口.' u: @6 g+ r- F j- M7 ~: o
ItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS下.* h& S" c% ]+ Q
7 d" Q- J$ V) H
) P% ~4 d: [* s8 h7 y0 ]* \' yIPList.txt文件.
: Y% C1 e4 L& A% J. v0 Y记录远程GATE连接的IP.一般设置为127.0.0.1
7 D* i$ p( W. L! T8 Z
$ G& N/ o: n' |+ u9 N( bremoteip.txt文件.
- r) H2 c4 l) P) ^5 B记录远程TGS连接的IP.一般设置为127.0.0.1
2 f* b( b6 W% X2 R; V7 g; ?' g. P5 ?) A7 U3 G( H4 V
ModifyMagic.txt文件.4 c0 _- i+ a. R9 V$ r f
感觉目前似乎没有用到.具体作用有待补充.
+ W; O! i6 o1 t, M
1 L/ o( K( p# x- a+ E. c+ C0 {2 p' x+ r4 E2 y! ]( p9 [7 o
2 ]2 F( Z9 { r5 C G; z. a8 IGATE服务器.
: K; I: V' n/ T3 y F3 B1 b( i0 X" W& h: Y8 T6 v9 h, d
log目录,记录目录.
$ S4 w I8 }, K( I7 t$ X# b7 ~0 j) M' x2 q
CreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量.
' k" O j5 T; Q( ?: B[CLOTHES]
e4 s n. u# @CLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.) j0 ]! F% ^1 O* i, b
CLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子." i% Q! |9 a1 _/ L
CLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣.
% Y9 R, M$ {- y2 C- t7 L1 L N4 jCLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子0 R7 T; c+ Y) i2 k
$ o! c+ _8 s+ P+ a
[WEAPON]
- \+ m; b# `7 m; Y9 v n1 p; [3 aWEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以
: n# a9 ^$ _1 F9 \& v' NWEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以
& S" r/ B+ R) k- w1 jWEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以1 G5 d. f* J( x5 p2 H
WEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以8 o, C5 x }, I" u
2 ]; c7 e6 s9 N J4 ~+ D* s" d
[ETC]
% N9 y D2 a8 A5 \7 R) `, `ETC_01=五色药水 新手出生后拥有的物品1.这里要说一下6 M9 P6 b+ y) Q5 ?' S) P
# P0 `; k3 p' i" Z$ y7 B4 t8 x ^
即使你定义为没有耐久的物品,他出生后还是会有耐久的.
0 j# N3 u3 ^0 ` f8 Y8 i即使你设置了ETC_02或03或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.- u/ {# d# V7 t4 K
1 D: F& [+ n# E. H) e S# l! [5 o4 C `
. L- b; {2 {; k( L! c' } NDontChar.txt 定义不允许建立的角色名.6 c/ n! ]: Z. f8 z0 p2 {
( v- S4 C/ U3 x T1 ]1 \# Y5 w
# {* a6 ^. v& u& z) {" e
gate.ini文件,GATE服务器配置文件.这里详细说一下.
6 D# w+ `7 x; D6 H! r) J6 [
+ S+ E( N! f, g( m2 R[GATE_SERVER] 定义服务器名称5 {( ]9 Z9 ]' l6 ~4 A
LOCALIP=127.0.0.1 定义对外IP, q R" Y2 |2 k0 [( h! E) b% b
LOCALPORT=3054 定义与balance连接的端口
0 N2 Z* E7 I# wLIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.3 E& [* f4 w# \
CHECKPAIDINFO=FALSE 是否收费服务器.5 t8 Q4 n$ N# [+ N
BALANCEIP=127.0.0.1 定义balance服务器IP- x' r3 u6 n: ]
BALANCEPORT=3030 定义balance服务器端口.UDP协议.3 J3 S& A: W& y d3 _
SERVERNAME=test 定义服务器名: l8 Q' g3 k q# P' O7 u$ o* B
BUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激
$ I! u9 R' d, b$ Z2 t6 OBUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激
( L% O. F/ w) j: C/ p! G8 t( H/ d& f' _8 z0 o% \6 u
[GAME_SERVER] 定义服务器名称
3 U8 f! m# H: e; V" X# {9 MREMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGS的IP地址.经典的3052漏洞就是这个.
5 x ^4 v( g6 ?! WREMOTEPORT=3052 游戏主服务器端口.一定要封.
% u- A. k0 [$ p( n" r
1 o2 I9 D2 e- V4 h, |+ J9 x[DB_SERVER] 定义服务器名称
0 h% P# ~- W6 a) e9 k" h5 lREMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.
9 W( G+ y0 A: j3 E% f) vREMOTEPORT=3051 人物资料服务器端口,一定要封.
9 J- L$ G8 ?2 l# k' F) _; |* K7 F4 Y3 d: m
[LOGIN_SERVER] 定义服务器名称' y! b+ L$ t/ Q4 V
REMOTEIP=127.0.0.1 登陆服务器IP地址.
, r' S0 s' I/ ~- C# f. i" UREMOTEPORT=3050 登陆服务器端口5 l( u$ A/ ]; J Q0 s
* a1 P& ~. X9 T" L2 g, P
[PAID_SERVER] 定义服务器名称 (通常删除)
+ N5 }, j% q1 M) R; |# TREMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)
" B/ m: q/ b6 Y' bREMOTEPORT=80 定义冲卡验证服务器端口 (通常删除), ?1 ]1 k" T% X4 C2 R4 R
p8 j* o- ?5 y. b
" L( u$ d; K4 A) p$ o0 M1 K
tgs1000.acs文件。GATE的语言库。 i4 c* d) X3 |1 @; Z. A* W; G
m/ S6 k; {7 K0 L! [, v4 c2 wVillage.Ini文件。定义新手出生地图。这里讲一下。+ z7 V7 @$ a7 |2 C
* E$ g# O r! _& L: P
[VILLAGE] 定义配置文件名
1 ]/ O/ o! F8 s5 }5 D5 n! a) f
8 n8 W; `( L3 e9 i- s; TCOUNT=1 定义新手村可选择的数量& ~6 [' f) M7 n9 [ r3 p7 d+ U) b: s
9 C+ V* `5 Y% I7 dNAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。" r8 o6 C* L1 k& o7 x
X0=178 第一个新手村X坐标
5 y4 I! r s4 N7 |Y0=238 第一个新手村Y坐标6 T, b: N# }# \2 ~/ i6 r, B
SERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.
. F% h2 e7 s6 b0 z9 w1 [
欢迎光临 三千论坛 (http://3000y.com.cn/) |
Powered by Discuz! X3.4 |