游客您好
  • 点击联系客服

    在线时间:8:30-18:00

    客服微信

    Wkr-3000y-kf

    电子邮件

    3000y@wenkeruan.com
  • 手机版

    随时掌握游戏动态

  • 扫一扫二维码

    添加微信客服

Lv.7 版主
8号会员,9活跃值,2022.09.01 加入
  • 127发帖
  • 123主题
  • 0关注
  • 0粉丝
这个人很懒,什么也没有留下。
独家推荐 更多>

[服务端相关] 服务端参数配置和功能讲解

[复制链接]
异仟年认证商人 发表于 2022-9-5 18:43:15 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
千年服务端主要分5个程序,本文详细介绍了服务端各类重要参数的含义,方便新手GM提高对服务端参数配置和功能的认知!
5 e$ I( j( Q. f& o* u; N5 Z9 n8 m2 i# ~
1Balance 网络均衡服务器。
, l5 g* U6 L' Z' w- r2DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等.
- G; [/ w+ y$ K# X4 M- w- x" L3: GATE 网关服务器.
$ ]; R8 v0 s$ o+ g4: login 登陆服务器. 帐号密码等数据在这里.
3 r& }* J( ^4 {4 v5: TGS 游戏主服务器. 游戏大部分设置均在这里.8 x. C4 `2 l) D' J, o% j0 J
% Q% }* s: [( Z' p+ W3 ^
下面讲下他们的工作原理.# j& q; J" \9 r$ P, I; g

9 C% _6 N  g+ \: A. u首先,玩家通过TCP协议3053端口连接到Balance服务器,Balance接到连接命令后,
# `9 ]# r. O9 H- E2 i! X将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责9 Y+ u; R3 M0 Y. c/ A, t- t
中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,TGS端口连接正常,' D3 Q4 b3 v2 a. i' M- ]
则返回信息到GATE,GATE再验证DBlogin服务器,若连接正常,则发送信息连接成功到
/ h0 F; L% O5 ]3 c1 J7 F; ]- D% p客户端./ c2 ^. l# {% W2 X" s

7 ?3 l. N& M1 `$ q1 V8 D再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)' R" ?/ h  J  Z

+ v# T: d6 t/ |; i# {Balance服务器 对外TCP协议3053 连接GATE-UDP协议3030.
* r2 Z% ?" u" m  Q8 m  U4 M" Q* `DB服务器 TCP协议3051连接GATE.) U5 `( z) l  Q! ?" b. k, o5 `
GATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示., n$ a) x0 h) K9 f
UDP协议连接balance3030.TCP协议连接TGS服务器的3052 TCP协议连接DB3051 TCP协议连接login4 b' T$ g& \& i; K
3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡
. o7 l' a% A5 I+ S& G9 G) S验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友
6 D& u9 }. V; Y; J% h1 \的误区.! ]" `  \+ z, l$ E
login服务器 TCP协议连接GATE3050
% n( u; l* Z0 STGS服务器 TCP协议连接DB3051 其中还有一些物品记录服务器等.: k0 ]( w) k& N: [- R

9 B4 U0 H/ k  _9 s4 O& Q
' e8 o/ Z3 s) |! p. c再讲每个服务器中的配置.: @$ ]4 T1 {# E6 P0 b- h2 A

0 H' u3 R: h! D: X6 S7 V3 SBalance服务器 目录中的balance.ini中配置# r; @1 _3 X  \2 @0 k0 v
[BALANCE]
  J$ B) {9 K0 c9 I, Q, hTCPLOCALPORT=3053
& ]( w2 `" P- J" }# K0 ZUDPLOCALPORT=30304 [& l$ m  d2 q9 d0 o
基本不需要修改,若你想开启一机双线,那就要双开balanceGATE,
1 n+ M9 ^' h( @+ c6 \2 Z2 M* e9 f若需要一机多区,就要双开balanceGATETGS
/ A  K2 r( w4 t* l; o这也就是克星一机多区的工作原理.& B$ ?7 r/ M" l3 e% e
但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053
  h4 @* @+ E. A" f  o+ {! P* l5 U# d他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从& J) ]" p* m6 G7 |$ P& v1 E
配置文件中读取用户所设置的端口来实现一机多区的.% J' @7 X& g3 q. |3 ^
如果你想不使用克星工具实现一机多区,应该做以下设置.. x) H( b+ H- z8 H' L
复制另一份balance出来,打开balance.ini修改
7 D! l' b" s1 T3 f) F[BALANCE]
3 o; H$ w( }" ?TCPLOCALPORT=4053
2 g9 N" O8 \& C. K5 M! T  GUDPLOCALPORT=4030& p! w0 M! }* H* Z+ u4 p: h& V- y+ v. [
这里修改后注意GATE.iniUDP协议3030端口为4030  k" `% c$ S8 {1 Q; x5 E
然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.
; Y5 P5 i  U5 D* _) }1 t8 F" d) q$ k4 o
题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.
7 Z5 z; v1 m  }: _' ?# c3 o打开windows自带的计算器,选择查看-科学型,然后选择10进制  [( x/ y5 r3 C( M
按下3053,再选择为16进制,你会发现305316进制中显示为BED# z5 O, V# M' u( z3 B+ W! F6 V- f, F( C
但是为什么要查找ED0B,因为在程序中这些东西都是反写的,3 F0 p) `/ w+ q# O+ E) n6 ^6 b' J
以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D
6 ]! B) m$ b! l6 I2 H$ m5 P2 f若是奇数就要加一个0来补齐.; o) o! T4 {4 M4 Q: q
2 y0 z* r. B3 ]) @/ h0 ?) M
再来看看DB服务器。8 Z; Q0 Z& A5 ~' R; g* b  g# a! k
# `7 I; w; {9 J. Z' \$ [
DB服务器下目录比较多,我们一个个来讲
, U) _4 J5 _& Z/ d$ [backup目录本身DB服务器不产生,也不在他的目录下增加任何文件,
# s2 d' Q0 O* S- ^' L根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.
. Q7 i+ j( ?1 X* y% L) j8 ulog目录,web目录,均是记录玩家的情况5 {! j! X7 k7 G2 X0 t2 X3 H! [- z1 e
userdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时: g' j$ q) E5 z. w, M9 Y
他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因: f( r4 f/ ~- A
还不太明白,只知道会导致玩家元气永远比原来差一些的问题.) C+ H  B6 [) J( Z5 B* _5 `

3 [2 ~9 h5 u  r  Q4 Y0 fDB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.$ y, S% [8 {" Q$ j2 w6 m3 Y
reload,字面意思是重新读取,具体作用未做测试.
/ f5 d' O6 a" i0 M. t0 vaddrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,
  X7 ]* e# p& u7 n0 \  |, \到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.7 [3 D2 B$ ?" I- F
save today.sdb,存盘当天玩家上线记录.3 S; S& P. w  M0 o1 }: S, s, N
back up,备份数据库,备份的数据库会产生在userdata目录下.( I2 u0 V, u" }( a2 b8 U. N

8 o5 N0 G, s* S3 ], |0 ~# T- |( b/ w- @1 @' K
DB.ini,DB服务器配置文件.
2 @+ N/ m. l1 s! y[DB_SERVER] 明确服务器名称.
4 C# L" D. e. `; MFileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.' n/ j5 A- G; ?% e# p$ d
BufferSizeS2S=1048576 数据库的规格
* n7 s5 z1 M, S! X- sGateAcceptPort=3051 DBGATE连接的端口.TCP协议.: }+ G8 T" n3 `. h" z
RemotePort=1024 接收端口.应该是玩家下线后TGSDB连接的端口.
3 c  m6 Y1 n6 p* b1 }ItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS.
2 ^& E" w* ?4 O0 d7 t/ w3 U. s& e% c& s
0 h! S8 X# {5 @7 \7 j4 D  k
IPList.txt文件.
2 D3 ~; d# b! i+ D+ v! k, W; V记录远程GATE连接的IP.一般设置为127.0.0.1" ?3 @& p1 j/ R; ]- P2 b! ]3 K
4 ^! ?- p3 ?! ?
remoteip.txt文件.
0 ~7 T% y8 W/ z$ Z' N, P记录远程TGS连接的IP.一般设置为127.0.0.1( @4 ?0 U" T' s* _4 o' d- f
$ z8 |, i8 w% D
ModifyMagic.txt文件.0 t; ?- l( ~% P& t
感觉目前似乎没有用到.具体作用有待补充.; \4 g' g5 {9 R3 ]& |

8 W5 q* Q  L. p8 P3 B# l0 {
( C" k! l  d: v  r6 `0 l0 g
7 R* k$ }& [+ f; d, JGATE服务器.
% @  k  }4 n* {  N% H- u  P( N1 b4 j# ~" q2 V. F( T' r: |3 e
log目录,记录目录.
9 V" t" R9 H/ j3 L9 k0 U( O. {% j+ @8 ~% w7 k$ j2 g; y
CreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量.! c* [9 ~9 w( X1 s; p
[CLOTHES]+ j# j5 A8 w4 B( i
CLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.
! f& _0 `3 _9 Q  P+ }9 A8 D  c0 `, w+ o3 yCLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.- ?' B' v: d- h$ E" _. {8 ~
CLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣.( y9 H$ F  d9 x9 v
CLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子
5 @8 W- |/ z; E/ K/ p+ Z2 w; Z) M! _- a: `" ?) M
[WEAPON]
0 a0 e5 c9 g% [WEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以4 }& g' I4 E7 S1 @9 H( x
WEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以
, A" q, k5 Y' W: D) eWEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以
7 r+ y8 `4 {) fWEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以
; r9 D0 t- J8 P. w  H' F" w5 l- e' ]% h' I2 W: o  h% ~
[ETC]
7 X6 b4 p- E4 n# t7 X9 C( PETC_01=五色药水 新手出生后拥有的物品1.这里要说一下: n' ]5 p0 M( d5 J1 N
* u' J/ ]' R+ v) d% S, d
即使你定义为没有耐久的物品,他出生后还是会有耐久的.
+ {: w% x* _  k即使你设置了ETC_0203或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.. L/ F9 G# {+ S7 X/ @. r

. O6 O3 X3 E9 q7 O' \
, j0 Q5 L, }( h3 H. PDontChar.txt 定义不允许建立的角色名.; d! J5 V& q& H6 V1 U* ?
. z7 |7 G& r) N5 V
9 @6 b' A( z7 d4 h
gate.ini文件,GATE服务器配置文件.这里详细说一下.6 b6 {1 `7 q2 W  ^
3 H7 f. ?/ ~% |4 ]1 G( {
[GATE_SERVER] 定义服务器名称) _( ]( n( i/ U7 K7 m* |
LOCALIP=127.0.0.1 定义对外IP
6 H' _$ f! _- F& o8 S8 HLOCALPORT=3054 定义与balance连接的端口
" T3 n8 N4 `6 g& J+ jLIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.
% p7 n" E0 ]% D2 d/ h1 B7 JCHECKPAIDINFO=FALSE 是否收费服务器.. H. E& H8 O. G3 Z
BALANCEIP=127.0.0.1 定义balance服务器IP. Q- R9 N) `' `: h% w
BALANCEPORT=3030 定义balance服务器端口.UDP协议.5 O0 B) s8 p; C: ^8 B& O+ i
SERVERNAME=test 定义服务器名+ U% d3 q% @9 r( V
BUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激
& `# I8 {% D% b% x) t) U, h# bBUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激2 b; q: S( p/ x! h* z& d8 O: |
& w6 I  c: _3 d/ G* \
[GAME_SERVER] 定义服务器名称
0 J+ I& w% y/ B) C0 hREMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGSIP地址.经典的3052漏洞就是这个.
; |. f+ a5 i* j4 Y. wREMOTEPORT=3052 游戏主服务器端口.一定要封.0 s. ~6 O# p/ q6 Q; R

, X0 R4 U, g0 ~& ~$ W[DB_SERVER] 定义服务器名称6 f2 o9 u6 J1 {" r6 c' ~+ ]
REMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.
: O+ X1 }  Y) }$ PREMOTEPORT=3051 人物资料服务器端口,一定要封.
8 u! w( X# o# k- z( U$ H2 Y) O) G# @) @1 ~: O
[LOGIN_SERVER] 定义服务器名称
5 \6 s: O+ Z7 Q/ f+ tREMOTEIP=127.0.0.1 登陆服务器IP地址.
9 l' H  T% C/ ^; K. |REMOTEPORT=3050 登陆服务器端口
7 K& e* h, R2 C0 r. h* ~! _5 f  ], I4 }/ q8 p8 |7 r0 `$ D$ ]
[PAID_SERVER] 定义服务器名称 (通常删除)8 C* O4 L& V7 b$ l( v* R
REMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)( K% Y* }) ~6 ?) E/ ?( Q
REMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)) J: h1 C8 Z( G* ~# Z

  C$ s1 n; B" w3 L$ Z8 j& e/ {. x  X8 C* O; ~1 B4 ?
tgs1000.acs文件。GATE的语言库。
6 e' Q* ]. d1 {+ z# l0 U# [& Z% X, r9 P0 B! N' I4 t
Village.Ini文件。定义新手出生地图。这里讲一下。
6 g% J2 a# B- N! r# Q) W& I, U7 n  s
" }+ ?! @2 ]% {$ G[VILLAGE] 定义配置文件名
, E& d, A1 R% r/ d
: c* d( X0 M. h, `* D! kCOUNT=1 定义新手村可选择的数量' |, K; ]& T3 r& ~7 C2 b" _

: }; C: }" T! mNAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。8 N( {5 H7 j) y, ?; z% \! }
X0=178 第一个新手村X坐标
9 V' c2 H  u- r7 f* k& v$ I" zY0=238 第一个新手村Y坐标
/ q0 R+ ?* m6 W) YSERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.

2 L9 J' z' q* O& W6 V9 a; o
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

三千游戏官方客服

扫一扫二维码

添加qq客服

Powered by Discuz!X3.4 ©2001-2013 Comsenz Inc.闽公网安备 35099902000100号增值电信业务经营许可证 闽B2-20220593 闽ICP备2023014375号