游客您好
  • 点击联系客服

    在线时间: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 Y) I. C/ L' ]2 Q; j$ v  X. |9 M6 w9 r8 g
1Balance 网络均衡服务器。
/ T( ]9 p8 e+ K2DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等.
/ N. h* t* y5 _3: GATE 网关服务器.& y7 t* f2 T, }3 `9 i
4: login 登陆服务器. 帐号密码等数据在这里.* q  o3 \0 @: a; `; U
5: TGS 游戏主服务器. 游戏大部分设置均在这里.
  X1 _, o! ^+ _9 \6 b  ]' ^
! o+ x! {- \+ ]1 c) ?3 d) g下面讲下他们的工作原理.
: F% M% L+ _$ V6 j0 Q) H# q+ v/ b/ w. ~! x. {! a
首先,玩家通过TCP协议3053端口连接到Balance服务器,Balance接到连接命令后,
0 X7 |; J" ~+ ]2 V' G/ H# R' ~将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责/ @% B; g$ T6 X
中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,TGS端口连接正常,
' K( E' I; E# R% O3 i则返回信息到GATE,GATE再验证DBlogin服务器,若连接正常,则发送信息连接成功到
* d" H- g- o! j客户端.
! }6 t* ]9 M- G
" b( A( n! T7 d. C! }/ b, O) y* z再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)
2 k- I  a2 b. g/ e
% ~% U* t4 ^9 WBalance服务器 对外TCP协议3053 连接GATE-UDP协议3030.
* s* |7 f/ b" d0 T# F& Y2 t# p1 b( RDB服务器 TCP协议3051连接GATE.
  B. j- A; o- [0 aGATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示.1 s" \( h: }  u7 |) }9 w
UDP协议连接balance3030.TCP协议连接TGS服务器的3052 TCP协议连接DB3051 TCP协议连接login
2 k" F0 Y2 n. `+ x% u3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡
' M  f: K5 b/ I/ i验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友
/ n& L6 w% [. M4 m% x  T的误区.; u  L) U8 I" Y( t' A+ }
login服务器 TCP协议连接GATE3050
5 w1 B" r* X1 @% }% T: eTGS服务器 TCP协议连接DB3051 其中还有一些物品记录服务器等.
1 m; V4 |! E4 ?, }
3 z$ c# [! q. J) \+ b6 h+ i- ?$ ?# [9 G8 e' l/ e% R& U
再讲每个服务器中的配置.7 W- h: a: K# @7 k: Z

' D+ b/ m) C: N: MBalance服务器 目录中的balance.ini中配置
! I) N2 E! V  m0 h[BALANCE]% O) ^% b6 N, x+ b/ \
TCPLOCALPORT=3053
( _, J. r) K. T/ ]8 ]1 ^) }) ~UDPLOCALPORT=3030/ N" Y6 B) U3 V0 L# \! K
基本不需要修改,若你想开启一机双线,那就要双开balanceGATE,
0 V" J, N% F0 e  Q若需要一机多区,就要双开balanceGATETGS
1 b( l- m# c- ?这也就是克星一机多区的工作原理.' h' q+ L# M( V8 Q, e
但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053( K/ N. a: k; u) ~& o1 B
他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从, V3 @4 ~& b( E9 P7 w
配置文件中读取用户所设置的端口来实现一机多区的.
$ g7 Z# E1 D2 R( ^( C2 H3 X如果你想不使用克星工具实现一机多区,应该做以下设置.* n( x" z  I" e, @
复制另一份balance出来,打开balance.ini修改
% U5 S. H4 s+ \% y[BALANCE]* o* X7 \4 W8 o
TCPLOCALPORT=40538 X2 e1 R8 F3 }
UDPLOCALPORT=40307 {8 f/ i9 _' B
这里修改后注意GATE.iniUDP协议3030端口为4030
( u+ B: D9 H0 f6 y然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.3 k8 p7 b. W$ K' Y; ]% `

  u/ F  x3 d* f% ~7 F题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.( @! u7 D9 v8 Q+ _" ?8 q
打开windows自带的计算器,选择查看-科学型,然后选择10进制9 p& ?3 U/ {# B$ {5 M* \
按下3053,再选择为16进制,你会发现305316进制中显示为BED  h6 @7 o$ L+ t) W4 ]3 }
但是为什么要查找ED0B,因为在程序中这些东西都是反写的,
& O- _! {" u1 b( [' ^以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D
& x: A+ m) @3 `6 w/ C# ?/ v若是奇数就要加一个0来补齐.( n) K3 z5 h/ z& g4 U' A4 w
- g9 @7 a7 K/ G* A2 U' B
再来看看DB服务器。
9 d3 }8 O, ~2 }' p3 l, D* W
% U8 ~" J8 [+ h) x' A; {& kDB服务器下目录比较多,我们一个个来讲0 Z' H0 t& T( q; n5 q
backup目录本身DB服务器不产生,也不在他的目录下增加任何文件,
0 F, c" P, v0 _* j根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.
7 A8 g# B9 C2 q; R$ p3 _log目录,web目录,均是记录玩家的情况
& {+ y$ j& b, y- Iuserdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时3 S' T  Y# S. c3 w0 N
他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因
7 N" _6 M0 C0 B  y( \; R9 R! D还不太明白,只知道会导致玩家元气永远比原来差一些的问题.( B; _5 b+ @, }% A- x
+ G1 }, W  j7 n! n: f
DB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧., I, \, S7 O8 m5 }1 C; V. {4 r
reload,字面意思是重新读取,具体作用未做测试.
& H- D  |% a1 [# H) q& {" b) waddrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,/ c6 u/ e. h# T6 |
到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.
0 [) ?8 P9 ~3 `& O% o5 Dsave today.sdb,存盘当天玩家上线记录.; a0 q  Q5 y; @9 y0 g7 P
back up,备份数据库,备份的数据库会产生在userdata目录下.8 V5 ]$ ?0 e+ V" Q1 i. R
0 b: h# }9 w+ `3 x; Z

* V0 w0 G! q6 O; d, `DB.ini,DB服务器配置文件.
! J' z2 W3 \4 y4 S* Y5 u1 x* U[DB_SERVER] 明确服务器名称.3 x. A  i) Y' l1 q5 n
FileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.
0 e/ y% d' ?# U* T7 t. p1 o7 I7 eBufferSizeS2S=1048576 数据库的规格* `6 C- u. J6 H& x8 x+ I
GateAcceptPort=3051 DBGATE连接的端口.TCP协议.: G9 Q9 n4 m0 @  w- |4 j
RemotePort=1024 接收端口.应该是玩家下线后TGSDB连接的端口.1 F, l& Y+ p/ l
ItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS.1 m, e& @8 l$ f* O
" D  s% l& F% d* w% h4 p
9 W8 I% h( U' d2 r% m2 W4 S
IPList.txt文件.) Q* m. Q- S% a) b# @
记录远程GATE连接的IP.一般设置为127.0.0.1
# ]# N, Y' f6 j$ W: T
7 c! d* u2 G: P0 lremoteip.txt文件.
$ w5 M3 _# c! J& u" o, o6 R/ |记录远程TGS连接的IP.一般设置为127.0.0.1
/ Y1 H1 W+ v# N2 p7 B5 P2 }) l' ?+ i
6 Q7 O& c0 ?% I% L1 uModifyMagic.txt文件.5 ?5 ?  U& }' l% [4 V; ]5 Z! @
感觉目前似乎没有用到.具体作用有待补充.
- A' q7 l/ B& Q! u& w$ \4 d5 I& W0 y9 ~# R0 o
# _; O/ e9 s  S( A

. b/ j$ y* A! @% m1 h1 {2 u/ tGATE服务器.: w! h7 P" y: J- Y! q

+ s" c/ q5 ^) y3 r$ N3 Dlog目录,记录目录." J/ ?3 j# {+ L' ]* ~  K. p, X
- b9 u  ]) ]! e$ A' z
CreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量.( x3 }% R5 r/ t, R+ P3 H0 F* _1 `
[CLOTHES]$ E8 H& N, j, l, f
CLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.6 P& K- b# q$ C* G9 T8 P* q* y
CLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.
8 C. }) A) h+ F0 jCLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣.
  t- W- K" Z# s9 B4 aCLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子
! q4 S+ W9 d( j2 x, V! ]) K9 p+ o0 z% P9 n; Q. y4 x8 n
[WEAPON]* \( Q) [: K$ H
WEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以8 K2 ~. N9 }, P& {; X
WEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以
+ v) I. M+ ], m, W+ u5 l0 ZWEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以
; ?2 |3 V+ Z. w8 N2 ^: U) pWEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以- J2 z2 \' X3 r" \: v

! N/ c! z% F' z/ N( e3 o) v[ETC]
- O6 R' j$ Z/ D8 a* n& w( f% p1 EETC_01=五色药水 新手出生后拥有的物品1.这里要说一下% |- e" `4 F, ?. K( e( G6 [
- [3 o8 E' E4 @5 s, O* z4 W8 |0 w  L
即使你定义为没有耐久的物品,他出生后还是会有耐久的.' |' W1 e3 Y. _+ U
即使你设置了ETC_0203或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.2 W1 \) e4 E3 M" K# J( D
0 d! ~9 |: ~" Q; v  U) F+ a

: v. Y$ s2 I' ?, d8 MDontChar.txt 定义不允许建立的角色名.. q1 Y2 B' S/ u. z/ q5 B

4 m! Z6 L1 i" W" S0 I& n6 z; Z  D" T- Z/ z; I6 D7 L% U
gate.ini文件,GATE服务器配置文件.这里详细说一下.
, e8 J' y# b" o- t8 e- D; H" Q
2 R1 p) R2 Y* b( T* X[GATE_SERVER] 定义服务器名称9 W. g6 p: n+ S7 Y1 n3 X
LOCALIP=127.0.0.1 定义对外IP
7 t( R# W* E1 ~' d* HLOCALPORT=3054 定义与balance连接的端口+ y9 j% P3 ]) @8 Y# S7 M
LIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.
9 C; p: L7 ]. h9 M. f8 A4 [. F' ]# DCHECKPAIDINFO=FALSE 是否收费服务器.
. ^  _2 B& B4 d. O( U, R1 ^BALANCEIP=127.0.0.1 定义balance服务器IP
1 `/ I2 s7 `0 F' s, Y6 O- n/ \BALANCEPORT=3030 定义balance服务器端口.UDP协议.
( k. P1 d; f0 S% x3 R, n+ }0 T. tSERVERNAME=test 定义服务器名
  v. Z9 J3 k# f# O1 BBUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激; ^  T6 [& i% x
BUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激7 N& [: n1 D1 X3 W2 m& O

; U' j: S8 G. H  f+ ]1 J, j! ?[GAME_SERVER] 定义服务器名称# Z. W" ?* C# ], n  I1 Q$ q( J1 ^! x
REMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGSIP地址.经典的3052漏洞就是这个.5 z, [2 I" \; `4 z) [+ }
REMOTEPORT=3052 游戏主服务器端口.一定要封.
& V4 I# X7 ?' k7 q) u8 e. B2 h# s) m# Q7 [6 f: ?& S! x" ]# ]/ P
[DB_SERVER] 定义服务器名称
( E1 p+ |. D) c0 I( nREMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址." ?4 ~' {' k; \( }$ O
REMOTEPORT=3051 人物资料服务器端口,一定要封.9 G  S2 X5 }2 D/ x3 k5 o
! p: @) b$ A; A
[LOGIN_SERVER] 定义服务器名称$ L6 g4 ?  y/ |; F5 T& @5 x
REMOTEIP=127.0.0.1 登陆服务器IP地址.' v. K9 L1 ?8 P4 U
REMOTEPORT=3050 登陆服务器端口
' `5 B: n- a9 j0 x/ T7 T
( [7 s5 T% U* a8 E, H. D9 W- Q5 c[PAID_SERVER] 定义服务器名称 (通常删除)8 e/ \) |8 h: ]- i1 T3 A! o
REMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)
' F7 N& P! @$ \- h7 e; LREMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)- Y8 f  ?) @. Y4 {
& E! _! E2 N( v2 s0 }
5 V2 I4 ?* V+ R8 |; x9 |
tgs1000.acs文件。GATE的语言库。# m: x2 m3 N( t. ^% d4 [/ Z0 Z
# o5 H4 U2 Y8 C6 u* G6 Q5 E% L. X
Village.Ini文件。定义新手出生地图。这里讲一下。
# j6 l& @" L. c# L% ^) H
  a& x& \( E6 I[VILLAGE] 定义配置文件名# u. Z5 S, Q* Y3 \$ d

! s+ u" d- C3 W+ b7 [COUNT=1 定义新手村可选择的数量
3 \% \5 n5 a; g$ T1 d1 i4 w5 L* z) r; ^8 u; _! Y
NAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。& O6 a9 t% b) t1 q; j- n% Z# d
X0=178 第一个新手村X坐标# u3 C$ i1 p/ `. C2 V4 w! `8 @
Y0=238 第一个新手村Y坐标
! k( Q, V# ?8 c& l6 ASERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.

; E& g. X8 J6 w1 [0 H
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

三千游戏官方客服

扫一扫二维码

添加qq客服

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