游客您好
  • 点击联系客服

    在线时间: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提高对服务端参数配置和功能的认知!
+ N, X, v) v' n5 H4 `( ?
- \" K  z' m9 o9 u5 k1Balance 网络均衡服务器。# x  A6 n( c& T/ E" G/ W
2DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等.
- m" P! }# T( o) F& p3: GATE 网关服务器.8 h8 z" L! {, P
4: login 登陆服务器. 帐号密码等数据在这里.
2 l$ g7 ]& N; @5 `) G/ _! g5: TGS 游戏主服务器. 游戏大部分设置均在这里.) l. ]  `0 q0 T# }2 m  Q5 l

2 O% x! X) \5 C% C1 R. l' \下面讲下他们的工作原理.
+ I' [  Q6 V7 a& M; a' s* {( @) h
9 `9 Q" `' K0 ^% n6 Z首先,玩家通过TCP协议3053端口连接到Balance服务器,Balance接到连接命令后,- [+ E9 R6 C9 Y3 d
将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责) \6 H5 x, s- l" c$ O3 o7 u
中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,TGS端口连接正常,2 l+ d5 M& s5 Y$ j. ^3 s
则返回信息到GATE,GATE再验证DBlogin服务器,若连接正常,则发送信息连接成功到( G5 `: G! D9 u9 s
客户端.
' G% G8 H" W. V6 Y, b8 M) D1 V2 u/ @# G$ q
再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)& C) E0 y2 Q; n( t9 h! V
. n" L1 h. i! n3 T% ^
Balance服务器 对外TCP协议3053 连接GATE-UDP协议3030.' s$ ?$ p- q% t
DB服务器 TCP协议3051连接GATE.
/ E7 M0 ^1 C# V8 h' `GATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示.
0 \' Z1 \, c" E8 R- KUDP协议连接balance3030.TCP协议连接TGS服务器的3052 TCP协议连接DB3051 TCP协议连接login
( M* f. J, T' ]" l3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡) O3 s1 J& f# q( @4 l
验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友9 v* T. r0 O9 a6 o9 K: m
的误区./ @- j+ C% A5 Q4 R2 K5 _* F
login服务器 TCP协议连接GATE3050: |  E; m8 }5 S( X0 |4 D
TGS服务器 TCP协议连接DB3051 其中还有一些物品记录服务器等." i, I1 [: B3 c( e# o& h" ]  E

5 O' x3 D/ i9 w. o: ~+ M2 C: d8 H' A, F- s2 P" c- s
再讲每个服务器中的配置.
- s# ^- @% \7 ?
/ H! H, f) ~) t. VBalance服务器 目录中的balance.ini中配置, h, |9 S$ o! g' v' w. w, }! o
[BALANCE]
: ~7 G' L% r. F4 l3 mTCPLOCALPORT=3053
/ v  Y0 u1 d' H# fUDPLOCALPORT=3030
; I  l+ a' e0 l/ ^$ A" L% ]基本不需要修改,若你想开启一机双线,那就要双开balanceGATE,4 x* l6 E. h- |! n! ?4 V
若需要一机多区,就要双开balanceGATETGS" O+ X; C  Z& b4 U3 A. [
这也就是克星一机多区的工作原理.5 ^  h! l  _- J+ ^6 b& p
但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置40538 c. v4 _1 D7 D% ?! n
他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从5 E- R0 D9 D" ?4 s! a
配置文件中读取用户所设置的端口来实现一机多区的.. E2 V' x" {& v* o9 ^2 o$ T* d
如果你想不使用克星工具实现一机多区,应该做以下设置.4 Y1 j4 S1 x2 j% l
复制另一份balance出来,打开balance.ini修改& A( q0 `' W$ C- t6 s
[BALANCE]1 E( ~& S- D  c2 ]
TCPLOCALPORT=4053
+ I5 a4 L2 p% b# S* ^- qUDPLOCALPORT=4030& ^3 n$ j& o" O$ c: M/ ^9 |
这里修改后注意GATE.iniUDP协议3030端口为4030# e8 p; Q$ n& `' E/ N4 M  v) m
然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.
2 n3 J! l/ l2 C8 `; R) Y& B6 E" \) S5 q: ~! n5 C1 g9 @+ K9 Q
题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.3 n" L: z# T4 b0 O1 Q$ x
打开windows自带的计算器,选择查看-科学型,然后选择10进制
$ d1 |' K4 q+ ~' m! y! y按下3053,再选择为16进制,你会发现305316进制中显示为BED3 B% m$ n( S6 M+ D5 t
但是为什么要查找ED0B,因为在程序中这些东西都是反写的,
2 T( F! }3 \  d- t! m5 [7 Y2 f以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D/ i/ j5 g' n" n1 a
若是奇数就要加一个0来补齐.! g% _2 Y# M# {. N
4 p0 m" j/ M0 X1 W* M7 u
再来看看DB服务器。6 ?( S, V! P( }0 y5 N

* B- z) [3 x' f- F7 g7 zDB服务器下目录比较多,我们一个个来讲
- c( U5 j, c) u) e9 a( Y: G3 \% |backup目录本身DB服务器不产生,也不在他的目录下增加任何文件,. P- A( @& t7 o- M+ y' Z9 I4 @2 c
根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.
0 k& Y. V! P( s+ `8 clog目录,web目录,均是记录玩家的情况9 a# I! ]: t% d% m
userdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时
' r! r! D7 y# Y他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因% e" N& n6 D& F' P/ g
还不太明白,只知道会导致玩家元气永远比原来差一些的问题.  E. N5 C3 P  p, b

( w/ H+ {1 q* f/ c5 w" g1 B# tDB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.3 R3 v& J7 o5 u5 V% q" S7 j
reload,字面意思是重新读取,具体作用未做测试.( I- E6 p( i% {, @/ Z0 ?
addrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,
6 J# T7 t% Y. @3 P3 {到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.' k& ~6 Y2 b( F+ q
save today.sdb,存盘当天玩家上线记录.
% ^; g) o7 `( _/ S9 ~- V+ I; a+ gback up,备份数据库,备份的数据库会产生在userdata目录下.: W, I- V$ h+ l- M- X/ E: S

% |( F' ?4 Q- M! L- g3 i2 p3 z  e9 ^! S9 k
DB.ini,DB服务器配置文件.0 f9 c- _+ E% E. v0 G5 B, R  y9 R+ A
[DB_SERVER] 明确服务器名称.3 b4 `3 `( N6 _: K! m9 T
FileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.
( x# n2 N5 c3 {( Q+ d! SBufferSizeS2S=1048576 数据库的规格" h* W! S  f1 ^9 g4 @! n
GateAcceptPort=3051 DBGATE连接的端口.TCP协议.
) u) J; c2 S! s% pRemotePort=1024 接收端口.应该是玩家下线后TGSDB连接的端口.
- |; m1 x- j6 `4 z8 X# @5 h1 f: lItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS.! E% @' `& y, o* X+ a' {% y4 r
! R. g  r, Z& U: A+ p

; N, ]& q! S  A$ R2 \; xIPList.txt文件.
  i1 y1 e  W8 U. u  l记录远程GATE连接的IP.一般设置为127.0.0.1
4 F. P" U2 ^0 U( \* B
9 z  {6 b6 \: Mremoteip.txt文件.: ]" e* i! A! ~& t9 C
记录远程TGS连接的IP.一般设置为127.0.0.1" }0 g6 v1 _& v( Q+ w

+ y- Q* w& M  ZModifyMagic.txt文件.8 V# h7 i4 c3 e+ |8 Q6 v
感觉目前似乎没有用到.具体作用有待补充.0 V8 N. Q& m  K

, b& D4 b, }' e  m8 [0 U1 g& {6 h$ P8 C4 o, E. L7 w

+ ~% v3 M- i/ T8 K* bGATE服务器.
+ N% j: L3 v' c! E* {. w( Y2 v+ C- A5 }8 ~  ?0 U
log目录,记录目录.$ u6 R0 ~( O; B6 ?
( `+ ~* ~- N3 A% p+ I- m) ^
CreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量.
* J( N3 m3 v% [* r[CLOTHES]/ A: f: p6 D& D/ j! }
CLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.
& n" x( W: |1 f( K" o, L) `+ }CLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.  s  I, A3 d  d
CLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣.
' n  ?& Q7 H. G' }! i6 rCLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子) N1 |# a5 B; f6 ?0 e& Q; @
% H5 c3 G5 C( }+ V
[WEAPON]
  [1 f* h, s- \1 Z" K0 \WEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以* j+ ~2 g% h( U7 m9 r$ z1 D
WEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以
* P& G7 q0 z$ h+ G# [. tWEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以6 G8 [! v8 V+ J3 x3 F4 \; m0 b
WEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以# ^4 S+ c2 T% r# u* w2 a' y

( S# M4 S$ o6 G[ETC]
! V/ s! N5 q8 K! b) _) iETC_01=五色药水 新手出生后拥有的物品1.这里要说一下2 m9 S* z2 [; N6 Y% i

' \1 T( Z: v* n' S/ s1 ~即使你定义为没有耐久的物品,他出生后还是会有耐久的.
6 m; m8 v3 t  I  j5 R! r即使你设置了ETC_0203或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.5 }+ i: l: E" P/ b% R$ H
/ v# M7 N3 K' w- Z# y( N4 M" U8 n
% g  _+ t9 d$ h0 x3 Z% O. x
DontChar.txt 定义不允许建立的角色名.
9 x- e8 ^4 ~$ u: S) y& u  p/ |, i$ C# B( k2 M* q' I
) g9 u0 c0 X2 y+ [
gate.ini文件,GATE服务器配置文件.这里详细说一下.
. Z" s$ J: ?8 U4 k& m, j- h) d
3 ~5 |$ O, d* Z1 H$ R  [7 \[GATE_SERVER] 定义服务器名称
8 @2 B% R9 T: HLOCALIP=127.0.0.1 定义对外IP
! `, H. o$ X# }" Y: C+ X( uLOCALPORT=3054 定义与balance连接的端口. i( Z$ }# }5 Z# p/ C2 W/ N+ M
LIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.% o/ {( @$ M: U, e. w3 s
CHECKPAIDINFO=FALSE 是否收费服务器.
! v- ~: M; F- dBALANCEIP=127.0.0.1 定义balance服务器IP
) Y: a+ R# U: F( [  D4 B% QBALANCEPORT=3030 定义balance服务器端口.UDP协议.
  b3 q$ p0 h) V7 ~) W: H6 ]SERVERNAME=test 定义服务器名; |" E8 w3 y! i, k
BUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激, ]' m8 U+ H" _: v
BUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激
) t6 l7 I, z3 [2 [
9 u. s& c/ v& S1 y7 \# ]5 X[GAME_SERVER] 定义服务器名称
$ j$ |$ t. H/ _4 ?# G: p' @7 C6 RREMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGSIP地址.经典的3052漏洞就是这个.: w$ E  \. I5 E  `
REMOTEPORT=3052 游戏主服务器端口.一定要封.
% l. S! K% x% }& r: a7 Z
& G5 M- w  P* [1 a) K[DB_SERVER] 定义服务器名称  K% }7 p% g3 Q& z- A# j
REMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.3 S" l3 F8 P8 P6 r, O
REMOTEPORT=3051 人物资料服务器端口,一定要封.
( M4 \+ f0 V. r# Q& ~4 k* b7 Y
+ f* b/ j' p/ F! w6 e[LOGIN_SERVER] 定义服务器名称' N) b' I  F/ d
REMOTEIP=127.0.0.1 登陆服务器IP地址.
5 Y3 m5 A3 Q. Y# mREMOTEPORT=3050 登陆服务器端口
+ {0 @8 B; S2 k6 r% b' V! h6 X& T) [) V' J) g
[PAID_SERVER] 定义服务器名称 (通常删除)
9 \% R7 z: P: S# dREMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除), }- c; Y* v% G+ O2 K
REMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)
! b' K1 i9 `. l6 R; l/ I# q* n" l0 Y

& i6 E3 h* A( s2 ptgs1000.acs文件。GATE的语言库。
2 J  `" u0 U* L3 L/ V7 p+ D, s& V) V2 \
Village.Ini文件。定义新手出生地图。这里讲一下。2 c1 h$ f* L& E, V7 U. _
3 a! |3 G9 R5 S9 G& f* s6 `, @# j  l
[VILLAGE] 定义配置文件名
# R; V6 i* k$ \
/ |& B+ B2 g7 X9 @( e' b2 rCOUNT=1 定义新手村可选择的数量8 _* u4 ^& n3 |& ~/ ^, m- ^' T
- f+ M2 S1 y7 [: L% f1 n% o
NAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。! R3 |3 ]" V5 ?7 K8 w4 O
X0=178 第一个新手村X坐标4 Q* J9 I, h8 b$ B9 o: @: S
Y0=238 第一个新手村Y坐标0 x( V5 A# C8 X$ z, Y8 Q
SERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.

1 \' F+ x% d3 v) \3 m
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

三千游戏官方客服

扫一扫二维码

添加qq客服

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