游客您好
  • 点击联系客服

    在线时间: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 X0 e! K0 F- G2 n. \+ H& J/ x7 s9 L& {: ?
1Balance 网络均衡服务器。
- U/ c3 ~' i3 Z: `; e2 a5 u2 V7 O2DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等.* T" N% O7 C5 o2 J
3: GATE 网关服务器.* a* A9 r6 J6 u# P: n
4: login 登陆服务器. 帐号密码等数据在这里.
7 p8 S3 }9 a; |% R' t3 Y6 n5: TGS 游戏主服务器. 游戏大部分设置均在这里.
2 N) @2 R; Y8 y! |7 K5 Q) X( x/ t1 x4 e, o" M
下面讲下他们的工作原理.* X& |$ X* j: x
( r6 C' V, {1 _- F, `
首先,玩家通过TCP协议3053端口连接到Balance服务器,Balance接到连接命令后," j  Y# @, ^; W0 \& ~0 C" Y
将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责
7 Q0 Z: f/ n! a' Q  ~8 l; k中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,TGS端口连接正常,4 `1 X! _+ Q. \: U# r2 [& q2 e1 z
则返回信息到GATE,GATE再验证DBlogin服务器,若连接正常,则发送信息连接成功到
4 z! l; J! D# }; g, ^; g客户端." `: W. ~0 d; b' m

9 F, j5 }" g6 @; T再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)6 J9 o  e7 o/ e& p; a

3 y5 i, F- v  G  n& L) \Balance服务器 对外TCP协议3053 连接GATE-UDP协议3030.
/ @# t! h2 k; t8 V1 MDB服务器 TCP协议3051连接GATE.
* V( R5 y4 c: A5 d! m( CGATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示.
9 p' j" [/ [3 Y. dUDP协议连接balance3030.TCP协议连接TGS服务器的3052 TCP协议连接DB3051 TCP协议连接login7 c+ z+ j: e; V
3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡
2 H, ]8 }. S4 ]验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友/ M( Z& t0 Q) Z( ]  A. d/ g- B; z
的误区.
9 m, ]! R. R! m2 A2 W& plogin服务器 TCP协议连接GATE3050
4 I( T+ p- C; PTGS服务器 TCP协议连接DB3051 其中还有一些物品记录服务器等.% W1 b! y2 n5 M5 ^# ^9 z

. d8 x/ X( P7 F- d- {4 H. R( b! K8 ^; z* B8 L! _
再讲每个服务器中的配置.
) R! y$ e4 C9 ?; o9 Q9 U/ a5 \* A! ^, O/ a
Balance服务器 目录中的balance.ini中配置4 P$ [, _. _$ E0 ?! O4 k
[BALANCE]2 ^0 ~" ]# g% c
TCPLOCALPORT=3053& J0 M0 t, S; G& K0 _3 B
UDPLOCALPORT=3030
# n! @! W; F, t基本不需要修改,若你想开启一机双线,那就要双开balanceGATE,- Z9 L: C( t. r/ z, b' z
若需要一机多区,就要双开balanceGATETGS
, N4 N! v5 Y' K这也就是克星一机多区的工作原理.
/ A9 h. k0 N4 a但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053
" h; W/ L3 \% g* M4 K: ~- k/ a4 Z他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从/ O7 ~5 S# f, g# j% c/ k: v( \
配置文件中读取用户所设置的端口来实现一机多区的.* O# \- L7 z% ^* v; n8 x
如果你想不使用克星工具实现一机多区,应该做以下设置.. A5 m& J3 G4 H# M( Q
复制另一份balance出来,打开balance.ini修改
+ V8 m" S( s- V1 H% Y[BALANCE]5 z3 W9 |1 b7 @# T
TCPLOCALPORT=4053+ W* Y! d0 [: c1 W# v: T; U- }
UDPLOCALPORT=4030
/ J' `; c% }/ E0 S这里修改后注意GATE.iniUDP协议3030端口为4030$ T" K7 N3 d/ R% }) ]
然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.
9 |) P1 ~  M  v' J" {1 H8 }) A. l$ d! p" o9 ~( `: `: C7 ^) @, V
题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.! [7 \' V8 b% Q0 {) v/ }  f% j4 p
打开windows自带的计算器,选择查看-科学型,然后选择10进制
& o6 O% \, ^) a' x/ M1 @. V按下3053,再选择为16进制,你会发现305316进制中显示为BED7 q5 g: E# n2 {, p' H3 r
但是为什么要查找ED0B,因为在程序中这些东西都是反写的,( ], M% y, i8 C1 {
以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D
% D2 A$ ~) I% g* q) F. {若是奇数就要加一个0来补齐.
. f% J% u" X5 T. a0 a1 i
8 b9 ?) S! ^7 K4 P  J) W9 {再来看看DB服务器。: c1 O5 A% P4 w

3 L7 g5 ~6 i7 JDB服务器下目录比较多,我们一个个来讲# t" w3 H) j, L1 j! s
backup目录本身DB服务器不产生,也不在他的目录下增加任何文件,! A! D4 D6 ~$ H
根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.
) L* [/ @1 J- `" J3 y, ~0 ^2 Olog目录,web目录,均是记录玩家的情况
8 J! l3 a+ [- S8 D4 {$ Buserdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时( R4 b  N& n6 c- C( Q- w
他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因
' ?# W  q' p$ L; G. P& w还不太明白,只知道会导致玩家元气永远比原来差一些的问题.9 I' f6 j$ q: ~: ]7 M) J' g
8 G5 E" T/ m( e  \7 e9 d# W
DB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.
6 Y5 U  W( X8 p% `1 ?3 ureload,字面意思是重新读取,具体作用未做测试.
  e: c$ e/ b! j  ]! h8 Saddrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,
/ Z6 H( h1 `- H* D( Q6 b到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.& B' \( N$ f* @3 X/ [
save today.sdb,存盘当天玩家上线记录.
9 m/ Y5 D7 X& Q" z1 b0 h2 C# Eback up,备份数据库,备份的数据库会产生在userdata目录下.
) d+ J8 {, h+ r$ M# C+ q; R
$ B- O* i: g4 k9 z: _2 j$ o* r0 |% t7 I6 Y* f, l) z2 P% ?7 o
DB.ini,DB服务器配置文件." `4 L) ]* q  {, `$ }: r
[DB_SERVER] 明确服务器名称.% u  V2 U, E1 g
FileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.7 B/ L: {* U1 U: I5 |4 l1 q- e
BufferSizeS2S=1048576 数据库的规格
$ _2 w8 y3 O& ]7 ]0 eGateAcceptPort=3051 DBGATE连接的端口.TCP协议.
. i& W% n9 d" p( |RemotePort=1024 接收端口.应该是玩家下线后TGSDB连接的端口.
  c' `( b& U0 v: S, w" d( rItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS.
: O# [! k( O8 Y' M1 s2 _! a, |" s" r) Z3 ]/ Y9 E2 V! S7 `
+ I6 B2 j+ _& x+ a5 N3 ~9 M7 T( D
IPList.txt文件.9 b. {: U1 F0 g- e$ K: r/ O
记录远程GATE连接的IP.一般设置为127.0.0.1
1 U) r" ^* W. r/ k- z: L( e
) A# [4 {* ]$ S% u: \. L% X4 aremoteip.txt文件.
, O8 X3 f( t" @8 W5 J记录远程TGS连接的IP.一般设置为127.0.0.1
3 R. ~$ s8 b+ g8 Y& \) H# g& s' ]. Y$ v$ @9 T
ModifyMagic.txt文件.
0 J3 F0 b2 B" t/ c2 D/ }( Y感觉目前似乎没有用到.具体作用有待补充.1 o2 F% Z* o( e% R  w0 `
/ Z# o, a0 H4 [6 N! Z; s) a9 _
& M  h7 o7 G$ l; G5 x  N

, p" W9 N* U, E$ _2 b1 uGATE服务器.6 D! L; l5 Q' k. R

6 T8 O. u) C: g9 `) R3 Tlog目录,记录目录.
8 j3 Y' A  v( O  g; t! U$ B3 U& b
CreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量.9 i: p6 G8 T) F+ a  [+ ~- N
[CLOTHES]) M3 T9 f4 O2 }  h4 }& z
CLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.
" u: ^, ]8 ?4 ACLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.
, D* o7 M  A9 w/ B8 WCLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣.* L  M1 f& q4 {- ^6 p1 d
CLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子
4 u8 b) t6 h, r8 q' p+ _- d4 X* g2 v, D$ u4 V- V
[WEAPON]3 X/ n% r0 Y. Z! ~' g  i' ~
WEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以5 P5 c, z/ T1 z( u
WEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以
/ {6 J5 B' F) L- ^8 \WEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以5 G8 y- R" W. |& x! E# k
WEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以
& |$ M0 D* Y% o8 H$ W( C
+ E5 L3 ~# s8 f, U4 I) q9 e[ETC]8 Q. B3 j3 @8 w0 v1 e5 q
ETC_01=五色药水 新手出生后拥有的物品1.这里要说一下1 E5 T4 K  D. s9 l  Y

6 s) U, G0 j2 a0 t即使你定义为没有耐久的物品,他出生后还是会有耐久的.
; o+ F) n0 |: x  Z! p即使你设置了ETC_0203或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.
2 K" r( D+ `+ Z1 e4 F; {* d4 h2 m% H! S. C
4 Z  U" q0 K# l) X# L* b6 D
DontChar.txt 定义不允许建立的角色名.0 u. n3 I( R6 r& s
% W$ p1 Z' |- ]: r3 E; q

2 |0 D" i5 {' f5 R- kgate.ini文件,GATE服务器配置文件.这里详细说一下.' W" @& R( L& i2 B

6 M& h. ]0 E. d! F# k[GATE_SERVER] 定义服务器名称
7 J& u" A- h( S; k9 ]LOCALIP=127.0.0.1 定义对外IP, T! v9 c9 }4 J$ ^( n4 Q
LOCALPORT=3054 定义与balance连接的端口
; X; Y% t4 z/ E! |8 c( zLIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.! N3 @! M% b. |2 {9 C" E
CHECKPAIDINFO=FALSE 是否收费服务器.6 N! i$ R$ N9 `* `" m4 }
BALANCEIP=127.0.0.1 定义balance服务器IP3 W+ z3 y0 O  i% S$ m* k; W* h
BALANCEPORT=3030 定义balance服务器端口.UDP协议.  B0 X6 N# Y7 y  x0 |
SERVERNAME=test 定义服务器名
$ |3 t* \' K4 t' YBUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激
$ Z' B+ O: M3 _7 E( P: `! nBUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激5 X& Z; c' I6 A% ]7 Z9 Z4 \- W; u
* j) g0 r/ a: F, K; J/ a. ]1 y
[GAME_SERVER] 定义服务器名称, Z1 z: h1 V9 d4 ~& M& L8 w8 k* V8 x
REMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGSIP地址.经典的3052漏洞就是这个.7 |6 I$ f; a1 ]( c* ?4 N1 h
REMOTEPORT=3052 游戏主服务器端口.一定要封.
1 J( ?& v& E" q. Q% ]* m% v7 t
/ b3 v% Q' p0 c9 g7 ][DB_SERVER] 定义服务器名称0 q4 o0 P/ F* U! ~0 {% X( V2 n
REMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.9 M7 V# U6 P' H
REMOTEPORT=3051 人物资料服务器端口,一定要封.
" a; y7 Y! ]8 r7 i7 F% {3 ~6 I9 D# N6 L6 \1 z. Y
[LOGIN_SERVER] 定义服务器名称0 N; w9 r) ?2 A+ D
REMOTEIP=127.0.0.1 登陆服务器IP地址." P6 L/ R4 m1 \: w9 Q6 ^
REMOTEPORT=3050 登陆服务器端口
% A3 ^7 T. A3 J( d' Y6 u! i5 [) C. U+ k/ S
[PAID_SERVER] 定义服务器名称 (通常删除)
$ V+ q# p* t0 I) O- K1 p: zREMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)
0 ]) D: @2 w3 N( I; e6 FREMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)$ F) y0 s* I$ p( |8 d

8 Q3 U# M7 v' O$ s( y( \% w) ~& [$ T% I$ v' m! T
tgs1000.acs文件。GATE的语言库。
1 a; m, j1 \; U' k
5 Q" _, Z) x/ g( y. SVillage.Ini文件。定义新手出生地图。这里讲一下。! o9 y$ m2 L7 f9 [& d
! B7 F8 ?, B0 }, V' A0 g% H/ X
[VILLAGE] 定义配置文件名
6 X7 F$ U( ], t1 j9 d
0 V& `6 E8 y( ?; k" M$ o/ f. rCOUNT=1 定义新手村可选择的数量
0 @) H* u6 V# h
% B7 _6 S% J7 _; R/ I; nNAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。2 M7 D, N6 R. K2 x) f
X0=178 第一个新手村X坐标7 u3 Q1 W. S* Y; K. y# m! N
Y0=238 第一个新手村Y坐标4 q6 O4 \  _* p% g
SERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.

3 M. ^. ?2 V0 X9 q$ x1 [3 p
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

三千游戏官方客服

扫一扫二维码

添加qq客服

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