游客您好
  • 点击联系客服

    在线时间: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提高对服务端参数配置和功能的认知!4 z; P% }( T4 I7 c8 Y5 k
  a' m9 R/ V& s; N5 Z- |
1Balance 网络均衡服务器。
) d- g/ E3 N; e8 y& @9 Y. k- q: ~2DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等.
+ n/ x2 [- I- V, f) y+ ]3: GATE 网关服务器.
6 `9 [+ O! _* d% L: Y/ @; j4: login 登陆服务器. 帐号密码等数据在这里.
3 Y: k: O/ n; v/ k5 V5: TGS 游戏主服务器. 游戏大部分设置均在这里.
. B0 G8 H8 Z! ]& o- F$ k0 A4 ^' g1 f8 ~6 Z9 D6 t9 [4 D
下面讲下他们的工作原理.
* F+ d8 j: _1 R  R0 e: G
1 u3 c( ~+ x0 T首先,玩家通过TCP协议3053端口连接到Balance服务器,Balance接到连接命令后,
3 g# Q' n  N- B% ?& d& H将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责. k4 o: w( t& M: C* j  S5 s$ ?& ]
中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,TGS端口连接正常,
- L% @, b- ~  @: b3 b+ x8 b则返回信息到GATE,GATE再验证DBlogin服务器,若连接正常,则发送信息连接成功到% j+ @5 y  U8 u; c/ M# E
客户端.
  j+ b' c4 v/ O, V, T
0 I* |0 a0 X/ v4 r再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)% ]0 u7 ^* q' k0 j, N! m( d/ n

, ]' a; U5 |2 Y$ D. [+ Q9 SBalance服务器 对外TCP协议3053 连接GATE-UDP协议3030.7 M/ D$ z- z( Z* H# f" x$ Z
DB服务器 TCP协议3051连接GATE.
2 ]& u  S6 C" S# E* gGATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示.
- P) i3 V9 j; E% w! ?) lUDP协议连接balance3030.TCP协议连接TGS服务器的3052 TCP协议连接DB3051 TCP协议连接login# s4 G+ V# H+ d' h
3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡, p! m6 m9 I/ R+ y+ b1 `
验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友
1 G6 K/ C" a  ?' Y7 X4 u的误区.! `$ W$ t9 {: Y! T2 z
login服务器 TCP协议连接GATE30509 n  q6 B8 e( z9 N( F. e
TGS服务器 TCP协议连接DB3051 其中还有一些物品记录服务器等.
* ^, A& |5 S- u* N5 i* g
0 ]% U7 J5 l1 G6 Q" K% A0 o3 o% S) o+ H+ z: u
再讲每个服务器中的配置.- ?2 q$ J; {3 ^, m# y2 }* T/ i7 S
! i- y" _( b5 U. S; O
Balance服务器 目录中的balance.ini中配置
. F" ~; j4 c8 m2 M* Z[BALANCE]* K4 y; U2 f( X$ F8 {1 L% i8 |+ B
TCPLOCALPORT=3053
& |2 m0 q9 a0 Z) u* {, zUDPLOCALPORT=3030
1 Z/ N( p6 p7 a. T& \基本不需要修改,若你想开启一机双线,那就要双开balanceGATE,% P- Y% H4 v8 g# I3 n  c9 {
若需要一机多区,就要双开balanceGATETGS
) M( q2 t  a2 L8 M  t这也就是克星一机多区的工作原理.
% u4 n4 u! Y7 T$ u% x$ v但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053
; H+ q- o2 ^$ _9 f+ V他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从1 Q2 F) u& p+ ]( A
配置文件中读取用户所设置的端口来实现一机多区的.
4 G: s7 ]' X0 l如果你想不使用克星工具实现一机多区,应该做以下设置.5 R3 {: u9 R3 U7 x. D, V0 q
复制另一份balance出来,打开balance.ini修改, [1 I7 l6 t# x1 m
[BALANCE]) I/ j* P" b! x2 z
TCPLOCALPORT=4053
" t- E: b- n5 D1 E/ aUDPLOCALPORT=4030
2 O& k" U+ A1 w6 Q这里修改后注意GATE.iniUDP协议3030端口为40303 ?6 h6 ?9 D8 d/ v/ ~# z
然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.+ ^( j' ^) Y  I9 l
: U+ t$ F7 F$ r
题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.1 H1 D+ f* ~  }' r1 e, |' q
打开windows自带的计算器,选择查看-科学型,然后选择10进制# A! A1 u+ |8 N( m) k  q& C) i. a
按下3053,再选择为16进制,你会发现305316进制中显示为BED" B8 U" w7 [4 L- ^% b) e, K
但是为什么要查找ED0B,因为在程序中这些东西都是反写的,
8 }3 a4 n* W0 [$ N) W以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D7 }! Q' b% p, A! L0 I3 _9 f3 ]" \" J
若是奇数就要加一个0来补齐.3 G* @. R3 V: t
5 ?/ W1 p# ~% b4 @/ [
再来看看DB服务器。
9 x& |( L7 E8 I
: M) `$ |1 S; I4 C7 r6 c  tDB服务器下目录比较多,我们一个个来讲
2 o2 B! v$ K' {/ {3 zbackup目录本身DB服务器不产生,也不在他的目录下增加任何文件,+ c3 D/ Q- ?) M! v, w1 I+ C
根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.+ t6 W5 |: f. q/ ^2 K+ x5 m7 v
log目录,web目录,均是记录玩家的情况- g7 ?6 \3 o2 }
userdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时
3 K: o7 H- w, Q. Q$ v他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因! y9 t) H- f. Q8 N2 M
还不太明白,只知道会导致玩家元气永远比原来差一些的问题.
' h) |6 `( Z) ?6 T' ?" I% h6 `% X5 E  A; m- \9 w
DB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.+ }5 j. N' X8 g- l0 J$ t
reload,字面意思是重新读取,具体作用未做测试.9 l1 d; u9 {8 Q& x
addrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,
' L% c) }- F4 G( `6 K到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.
% O" R/ E( f) N6 }% usave today.sdb,存盘当天玩家上线记录.! b( H8 x4 }2 F9 H
back up,备份数据库,备份的数据库会产生在userdata目录下.5 d, O* h. a4 [$ H0 H4 M/ w
& ?; }! v+ n0 S6 e; E  l

% y1 z' P$ y- Z$ ^% SDB.ini,DB服务器配置文件.7 M. P/ R6 H( ]+ r6 l4 S0 ~% \3 Z
[DB_SERVER] 明确服务器名称.( r/ l; _4 M6 U. R3 b
FileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别." k  f8 A* B7 n8 @" B- w
BufferSizeS2S=1048576 数据库的规格/ {' X" c  c3 Y/ [# e+ z0 s
GateAcceptPort=3051 DBGATE连接的端口.TCP协议.
2 J! {3 ~# `; v% CRemotePort=1024 接收端口.应该是玩家下线后TGSDB连接的端口.' G# P5 {' f/ A
ItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS.
2 @0 f1 P3 B6 j5 h, q5 M, |; q; f" f  o+ b, Z6 a) C

* m( f/ t/ `* o) iIPList.txt文件.
' j1 \5 `1 P3 f2 E7 m记录远程GATE连接的IP.一般设置为127.0.0.1
; ^! U& j2 S) P; r
. M9 \% ?* ]( z1 e6 jremoteip.txt文件.8 ]% |5 j# n: n' L
记录远程TGS连接的IP.一般设置为127.0.0.1
; J# V1 r# h( o! Q- {' J4 z
3 b3 H$ K  k& h: R8 S: ]& DModifyMagic.txt文件.
+ f( x( i' U2 [" B. u. S6 M: Y6 W& v2 x感觉目前似乎没有用到.具体作用有待补充.
) }7 g; {4 V  q( u; D( F# ?- |2 ?3 b  l7 A* K, I
4 g/ T& o! r. T6 U& C0 [
: V! Y+ C& @9 _
GATE服务器.0 x4 }3 q1 q  \# l8 F+ U) \- p

- ]& N1 T' }; E& d. f" u$ A- klog目录,记录目录.
( p" f" m* ]  i) S7 a4 I9 I8 ~5 |  y0 G, A0 b( I) N$ G6 J
CreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量., [; q2 |' O' y! L
[CLOTHES]5 J* ~' W7 N% H: {
CLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.
2 n  }- f: r" X" i" l$ ~2 ECLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.
" W8 d6 O. M/ q: x# ~. c- h8 MCLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣., [2 Q5 w0 O( r
CLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子
' J$ o; i, e1 l4 s1 ^1 ?
/ n( y8 k3 w  I; H6 r% l[WEAPON]
3 b( f% U. a  w/ AWEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以* Y  I: {, T( T/ p; K% {
WEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以
: s9 L9 V0 E: p  fWEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以
8 Y! W7 ^, |5 L2 \, dWEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以
2 I& E- ~5 p5 ?" E3 Q7 F6 U/ U
6 B# s: q. c5 D8 x0 ~$ M4 ]5 r[ETC]
. j( H$ q1 R2 }3 D, M9 kETC_01=五色药水 新手出生后拥有的物品1.这里要说一下
7 H  |8 ?( ]& K5 I5 s( O( D: r
% z5 U" Y9 Z3 f% E6 ~即使你定义为没有耐久的物品,他出生后还是会有耐久的.. L: r2 `6 s3 `. m' u
即使你设置了ETC_0203或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.
0 i; Y$ R: n) q9 B& N+ t. x  y
4 o* h2 M; ~3 C; T2 u  k$ [) c/ s' T* Y- h! H
DontChar.txt 定义不允许建立的角色名.
3 y1 x( M! F( r2 `- X; v* M! E/ T
8 \) u7 i" m( \4 }6 a
* F3 F( I3 F7 r, ?% c$ Z. X4 cgate.ini文件,GATE服务器配置文件.这里详细说一下.2 T" G  e4 \  H% n

3 {, n! J9 l7 Z[GATE_SERVER] 定义服务器名称
) b- A1 y6 Q- F4 kLOCALIP=127.0.0.1 定义对外IP9 `6 m, y* E1 p# |# @
LOCALPORT=3054 定义与balance连接的端口) b/ L/ `3 \* a5 z; @
LIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.3 E% x5 M0 H4 e8 `% v( C2 n7 {
CHECKPAIDINFO=FALSE 是否收费服务器.
- l' w' g* s  O. U8 T1 k1 |, iBALANCEIP=127.0.0.1 定义balance服务器IP
5 k' D- W4 H& X) tBALANCEPORT=3030 定义balance服务器端口.UDP协议.) w/ B( F- K4 G) G4 i
SERVERNAME=test 定义服务器名
" \+ n* W# v& f) r8 ^8 v4 L8 `BUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激2 S3 C, h- Q/ w9 o  ^
BUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激) T- d' {9 h8 i; X+ F

7 _7 F% c# v4 q0 o2 U/ @[GAME_SERVER] 定义服务器名称4 _! t, H8 M7 T3 M$ A7 u- o
REMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGSIP地址.经典的3052漏洞就是这个.: m8 R# {  q* B
REMOTEPORT=3052 游戏主服务器端口.一定要封.
; E2 s3 r4 t/ D( i3 y
) g# {; c; `& K3 B9 N% O[DB_SERVER] 定义服务器名称
. M- X. j; G  \3 c. x! {REMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.# D* ~- ?6 l0 j# f
REMOTEPORT=3051 人物资料服务器端口,一定要封.
; q( ]( ?& H, I0 D7 f6 n$ m$ a1 R% t' U" |) t0 U
[LOGIN_SERVER] 定义服务器名称
- f4 }# Q( h3 s2 z1 NREMOTEIP=127.0.0.1 登陆服务器IP地址.
7 }* }. U& @) b* D' d/ ?REMOTEPORT=3050 登陆服务器端口
  Y% E6 p# T' B3 Q, y5 o) `- P) h6 m0 `
" e9 @% u$ r) K8 i$ g& d; a[PAID_SERVER] 定义服务器名称 (通常删除)
! ]) H4 a3 Y( j( NREMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)
+ p& O* f+ f' {- a  @* nREMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)$ `* J% p8 g9 K  d
5 w$ U# z% H+ r2 p- A: V
! Q9 d, d! G9 d5 H0 G
tgs1000.acs文件。GATE的语言库。" m1 L8 ^- T  ~2 w0 {+ w# K6 v

5 H% G; i- U* K' B/ J) e) TVillage.Ini文件。定义新手出生地图。这里讲一下。8 a$ \  ?$ x* I$ \5 V+ p' j
3 X- U9 y/ s$ E  w
[VILLAGE] 定义配置文件名
$ y* P5 n! S1 s: C4 f6 q+ K/ p  w5 s2 X1 E5 y$ C8 V( K
COUNT=1 定义新手村可选择的数量# `# G+ A4 b: p4 i. y4 l3 C

/ @1 j: y' Z4 r+ A& o, iNAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。0 t6 X  _4 G- d* O0 a0 r# y, d
X0=178 第一个新手村X坐标
- @$ a( N  F7 k3 c) @/ v# U7 xY0=238 第一个新手村Y坐标; F8 v$ Q/ {+ J; w  K9 b, h
SERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.
- \. [9 d7 u2 p' ^2 d! V. p0 O9 |
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

三千游戏官方客服

扫一扫二维码

添加qq客服

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