游客您好
  • 点击联系客服

    在线时间: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提高对服务端参数配置和功能的认知!
8 z9 {( L8 j) K" |. d
( n; f. B& B0 o* F/ d* W* U1 @( C, ]1Balance 网络均衡服务器。- `: s! E  ~: q) r; {
2DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等.
! {3 Q! c2 @  u3 b3: GATE 网关服务器.
5 H  o3 M6 _# w; r3 A& w4: login 登陆服务器. 帐号密码等数据在这里.! L' G8 Z2 [5 [5 |
5: TGS 游戏主服务器. 游戏大部分设置均在这里.' z, i3 e* F$ I
; h4 H: r9 h0 n+ L8 E4 h( G4 I
下面讲下他们的工作原理.1 h4 P  g. M4 K( X& F% @

! g8 e6 p5 }; |7 F3 ?首先,玩家通过TCP协议3053端口连接到Balance服务器,Balance接到连接命令后,
" s  A9 s: j5 E将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责; z) h" ~6 S3 g9 _# B$ v" A' f! K
中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,TGS端口连接正常,% q' i$ |9 w2 o
则返回信息到GATE,GATE再验证DBlogin服务器,若连接正常,则发送信息连接成功到
% P* w- \" d" I: T8 f客户端." Q; [  E' l; z6 R; O2 O+ H/ i

5 c: v  e6 F: p5 a再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)
4 N# ]* e. Z& K3 K( V
* V0 J& k/ j8 e; I5 B* m- h$ _/ XBalance服务器 对外TCP协议3053 连接GATE-UDP协议3030.
5 I; _6 i3 ]$ I; d9 TDB服务器 TCP协议3051连接GATE./ ~9 V" L- D8 E6 d) X8 u+ d3 u
GATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示., I. ]  @( w5 v( r
UDP协议连接balance3030.TCP协议连接TGS服务器的3052 TCP协议连接DB3051 TCP协议连接login$ ^' h- m" g, h) c8 i! Y, K
3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡$ g  P. F; j9 `# P
验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友
) n- e) \. G# n2 x7 O的误区.2 K/ K9 X( L5 b. U! X8 _
login服务器 TCP协议连接GATE3050
  U! o% T* e' M" p, tTGS服务器 TCP协议连接DB3051 其中还有一些物品记录服务器等.
/ R  f+ B: z# O
& w' M1 j' _. H0 T  l
% w; y3 Q; {+ Y再讲每个服务器中的配置.$ W+ G6 l4 Q( i' p5 J

; b8 Q" N% {* dBalance服务器 目录中的balance.ini中配置
! U& e& g+ f6 }3 o[BALANCE]) m4 Y4 Y/ Z# r6 s9 t2 k
TCPLOCALPORT=3053  _: H- K( S7 d' G& P3 }: p/ o9 N, s
UDPLOCALPORT=3030
. S8 z3 h5 D' t1 T3 K基本不需要修改,若你想开启一机双线,那就要双开balanceGATE,
% M! _  M% m* W+ U* u: J; c若需要一机多区,就要双开balanceGATETGS
2 v. Z2 }: M6 I这也就是克星一机多区的工作原理.
$ F' q7 ^! L0 W* R7 ]- r- Y但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053
4 N* S5 \8 I! f# ^' x$ y) n他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从! _5 m5 ^& l! D' u8 |) \# a# X" C
配置文件中读取用户所设置的端口来实现一机多区的., @) Y$ @: f2 i9 a/ i- U( e0 z- z
如果你想不使用克星工具实现一机多区,应该做以下设置.
. S5 p$ Z$ p! S复制另一份balance出来,打开balance.ini修改& d  u1 l7 |" b( K
[BALANCE]+ r" R& m# S3 V' ~
TCPLOCALPORT=4053
2 R, m) _, `& o( l3 o! _& BUDPLOCALPORT=4030
2 V: s+ A. C. }' v' q( X/ R这里修改后注意GATE.iniUDP协议3030端口为40308 O3 Z* J, s5 s  \" B$ X
然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.  ~$ e, N& G/ W5 S; g/ ^" @
' P1 L4 X5 H& _! s/ R# d2 J( B
题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.
& }0 B* A# Z; g% D4 H; T6 }( G打开windows自带的计算器,选择查看-科学型,然后选择10进制& v8 ?7 R- r2 n- H$ J
按下3053,再选择为16进制,你会发现305316进制中显示为BED
6 ~/ \' w# z$ t% Q* G& Z  w但是为什么要查找ED0B,因为在程序中这些东西都是反写的,) S4 Y4 F  T" B# ^
以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D& \; l  y: F9 a2 m7 k
若是奇数就要加一个0来补齐.
! M+ Z8 g! ?+ ~' I
9 S0 h: {+ k' a( M0 S7 P再来看看DB服务器。
# J! M" I) b4 i/ D  j" k( Z" |  X# _* A1 U7 o1 t, A( H
DB服务器下目录比较多,我们一个个来讲
" R) K, h/ l# I/ [- Abackup目录本身DB服务器不产生,也不在他的目录下增加任何文件,0 n- p. {- I, ]7 z) p) c' ]* D5 I
根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.8 ?1 H6 W8 G* N1 G/ |
log目录,web目录,均是记录玩家的情况
5 I. @! Z% _5 c+ b' ~2 v0 [userdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时
2 x7 h7 |% }# f; [5 F* M- I6 `他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因
& l: k& ]2 J5 Z2 O0 c( U- W' m+ e" ?还不太明白,只知道会导致玩家元气永远比原来差一些的问题.
3 d" ?% I5 n; f' T$ W4 E3 v6 F6 h$ h& z
DB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.
' c5 _5 f8 B0 F' preload,字面意思是重新读取,具体作用未做测试.
; J7 o8 x9 G: W8 V- n& P3 [addrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,
* V; z- s6 w# g% w2 o2 C到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.  Y& P3 W( ~+ w& N% m  J1 M* o6 A
save today.sdb,存盘当天玩家上线记录.
' M  V! P; l: cback up,备份数据库,备份的数据库会产生在userdata目录下.3 [0 ?9 T; \+ c# M

& Z: c9 z+ G. y0 i- r" @5 L) S: ?; z* [- \- n0 g" ^
DB.ini,DB服务器配置文件.! g' t. @# A( E; Z
[DB_SERVER] 明确服务器名称.
6 a6 D4 y" o4 o1 BFileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.- ?* B3 s$ Y$ c+ s, n/ W" V  P
BufferSizeS2S=1048576 数据库的规格
, p! r/ R( a. B6 E4 Q8 zGateAcceptPort=3051 DBGATE连接的端口.TCP协议., ]) Z4 V- `+ i% v, a0 _
RemotePort=1024 接收端口.应该是玩家下线后TGSDB连接的端口.
1 j+ v$ b* ]& XItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS.# G% t+ P' F5 O
+ P2 v1 b! }; D. e* D5 W2 L

' |& y6 O: Y- [, O) PIPList.txt文件.
3 n. U+ H7 ]" y* c9 \4 ]记录远程GATE连接的IP.一般设置为127.0.0.1
' s$ H) @$ E9 x2 `0 n. r8 d( R( c  i- Y8 K' R/ n; E7 ]
remoteip.txt文件.% T$ s, e+ D; ?, R: m$ \9 }/ k
记录远程TGS连接的IP.一般设置为127.0.0.1
2 H0 G0 U" Z  i! a) j
$ y' d3 P- d- G! CModifyMagic.txt文件.
$ i# \, @' j. I1 G8 o' v! e感觉目前似乎没有用到.具体作用有待补充." t% }1 k; J$ P; C/ W0 c9 x) x2 F
5 U5 {- F6 R8 k- f" \' y8 p

  ^1 ^% c1 v9 y  Q) W
, h9 `: t5 k8 P9 @! l% T4 DGATE服务器.6 x; A1 [; D" h% w4 j. n0 r
# S- d/ H% @; [5 F% P9 m
log目录,记录目录.
: N( Z+ U, W- Y( d0 N0 z3 D1 n& n: N: s! @! P* s, b
CreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量.. @' O4 y* v4 O1 X) o6 b4 k* h% W
[CLOTHES]
; }# F7 N+ k; mCLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.
$ u+ u: v  @. W  p* r5 YCLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.
/ N( O7 M- I* i) w4 R1 u$ ^CLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣.
- L3 u( G3 T7 @4 V6 CCLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子$ w8 P7 q/ L2 i& n6 p  ^1 Y  H

+ k! A# x, Q, z/ ?% Q8 A[WEAPON]& Z, K) @( q, T" a2 g1 ?% @
WEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以; t! z& \* e- q& d- V7 X* j( W
WEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以
5 T/ w5 u2 Q; ]; ]3 J/ H" a3 y* o( wWEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以: G9 n* q+ {: y
WEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以  h/ p8 E7 H2 a3 u: I2 c2 v

% X5 ^2 p2 t  H  o* t8 m! ?[ETC]! S: _. o8 X$ C5 _: ^
ETC_01=五色药水 新手出生后拥有的物品1.这里要说一下
% q! v# a9 H7 |# U& U) ?( b; k. B1 S* ]) d& M
即使你定义为没有耐久的物品,他出生后还是会有耐久的.: U. Z3 F  @8 a) G# s/ c5 c
即使你设置了ETC_0203或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.% D. r% Y5 H0 _- E0 [8 u

$ g( `  R% c/ R: w3 Z" \- X5 O1 J- q; w; k
DontChar.txt 定义不允许建立的角色名.
: |  c" O( k& s. E, s# V5 U" L4 ~* |- i1 z
# a% M# N4 y% l+ I9 p
gate.ini文件,GATE服务器配置文件.这里详细说一下.
3 c) |* E0 j! j  R; K! }
5 p0 C% S9 ^7 w+ Y2 D[GATE_SERVER] 定义服务器名称
4 y& V/ g0 c- l2 tLOCALIP=127.0.0.1 定义对外IP
, T5 y  d4 N4 M* H! ELOCALPORT=3054 定义与balance连接的端口
# E( L' F( d) |0 v) HLIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.+ O  l) L4 z6 f% t* l! n! y; A
CHECKPAIDINFO=FALSE 是否收费服务器.
- F: s- J8 }: \BALANCEIP=127.0.0.1 定义balance服务器IP: p  y: |% u+ u: u* P
BALANCEPORT=3030 定义balance服务器端口.UDP协议.6 |+ m2 n% v4 q: \. ?
SERVERNAME=test 定义服务器名
" q2 K. v9 G# u! W& u# UBUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激0 s  @+ N8 R# |8 S0 }
BUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激" v0 X3 f( O7 Z1 I

! Z* M1 H9 n! v% E, X6 }1 G[GAME_SERVER] 定义服务器名称
: T8 T  r. Z) vREMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGSIP地址.经典的3052漏洞就是这个.
* U! \7 j$ {8 z7 `REMOTEPORT=3052 游戏主服务器端口.一定要封.
+ v8 {- m' t9 [. x% Z: }+ ~+ E+ u2 y) d- S4 w' @
[DB_SERVER] 定义服务器名称
2 B) o) w  T& l$ P2 tREMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.
2 [7 X+ K! U# T1 g3 _REMOTEPORT=3051 人物资料服务器端口,一定要封.
0 c5 V% D9 k0 l- N  O2 L# O" x/ z& v
[LOGIN_SERVER] 定义服务器名称
% E) t3 J8 j9 H* U. z' X7 dREMOTEIP=127.0.0.1 登陆服务器IP地址.5 E" m: ?" @5 @' A: g4 w- W6 b5 h
REMOTEPORT=3050 登陆服务器端口' a$ k' d4 e8 h- z$ |
' O" }% ^& v5 v: f7 G3 R
[PAID_SERVER] 定义服务器名称 (通常删除)
% B& J! Y3 o% d8 k! HREMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)
( b6 Y+ m- J4 lREMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)
2 N6 v, T& Z+ m+ i. a" r
* P) K0 J* v- s9 X: o4 j6 h: d
3 i) f; Y6 F0 x! V) j' rtgs1000.acs文件。GATE的语言库。" p( H/ d: N1 R

5 w1 m" J& j, d, s1 n. DVillage.Ini文件。定义新手出生地图。这里讲一下。5 H% @/ K; F+ `- l& V# X
- v! R. k- f( z1 h  b. Q
[VILLAGE] 定义配置文件名! F- y; _' P, O
; f+ q& }9 v3 V+ s' O
COUNT=1 定义新手村可选择的数量
! g: j$ V0 p9 q4 i8 G/ \. \+ {. @0 q# Y) {. s
NAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。1 \6 g, t, v; d) Q
X0=178 第一个新手村X坐标
3 [; ~1 [/ Q9 g  sY0=238 第一个新手村Y坐标7 W1 j- x7 Y6 J  W- i6 {
SERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.
8 W5 @9 Q9 W6 i% X5 M
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

三千游戏官方客服

扫一扫二维码

添加qq客服

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