游客您好
  • 点击联系客服

    在线时间: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 G# ]) y5 M6 s: [6 M; A5 w

5 v1 D& p' Z: D2 V7 [" U& G1Balance 网络均衡服务器。5 c" N9 z6 ?6 H4 a. y0 q
2DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等." M1 c1 ~3 O$ p( @7 {3 f8 p: C
3: GATE 网关服务器.! m! ^/ q& s: g5 W! n: y
4: login 登陆服务器. 帐号密码等数据在这里.0 `; Z5 Z( I: r" B4 p' f
5: TGS 游戏主服务器. 游戏大部分设置均在这里.
4 v! ~. H* h7 _3 _* J0 P7 T/ k+ t7 d5 Q9 o1 Y" o
下面讲下他们的工作原理.8 {" K8 s1 \8 D  `9 H, d2 t2 ^

& _4 O) }) J; Y  P! e3 ?" w+ j0 {首先,玩家通过TCP协议3053端口连接到Balance服务器,Balance接到连接命令后,
  P; I2 D1 t; Y! d将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责
6 y) |1 Z5 a9 p- p# C中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,TGS端口连接正常,% y* s6 M5 N, @4 G6 t! U
则返回信息到GATE,GATE再验证DBlogin服务器,若连接正常,则发送信息连接成功到6 K& S# p% k1 N! N
客户端.: |: f- B2 F' Z' a5 P

8 G# I# q' {" D8 T再说服务器所牵扯的端口. (以下端口均为未修改的默认端口): y4 ~7 X/ X  K  n0 L
& o) S2 s( T3 h8 A* }5 w3 I% V
Balance服务器 对外TCP协议3053 连接GATE-UDP协议3030.
" a. Y  J9 z+ q: g0 P" M$ ODB服务器 TCP协议3051连接GATE.! R7 K5 v; f( n3 A: ^8 x
GATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示.
2 Q" B( y  Y. t# LUDP协议连接balance3030.TCP协议连接TGS服务器的3052 TCP协议连接DB3051 TCP协议连接login: q2 D9 k% x1 o2 F, X. n6 \
3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡# K0 M( @/ o9 m4 P7 b
验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友8 W+ U9 n) W1 c# k. J: x. ~& n
的误区.
/ ?% i8 P# J  o2 y- p4 L4 ?4 X! Z6 }% blogin服务器 TCP协议连接GATE3050
4 d7 H% \6 Y: H# H' }TGS服务器 TCP协议连接DB3051 其中还有一些物品记录服务器等.- q2 u3 ^5 L( Q' ^$ o) ]  s' _

/ C" \4 C- e- x( P
) y- c* W$ I( F6 r5 O再讲每个服务器中的配置.
' c% \3 }7 I/ ?
* a0 ^* |7 R* k" d- {Balance服务器 目录中的balance.ini中配置
7 s* J% Y; e" F- q" {) H[BALANCE]
( e  P0 L; M" ^& y' I% ZTCPLOCALPORT=3053( U: [" l+ s4 A( {: w' J
UDPLOCALPORT=3030
. j8 s- \+ n- H3 s6 U基本不需要修改,若你想开启一机双线,那就要双开balanceGATE,+ t: `6 T3 t$ T/ K  i6 n; y
若需要一机多区,就要双开balanceGATETGS! m" m% E0 x! G( C* D
这也就是克星一机多区的工作原理.8 C$ E* H; i8 \. b8 r9 d" C9 l# q
但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053
+ y+ i  J, S% Q: b# Y) H他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从3 z7 o; g$ ~. }: t0 f4 {1 ]1 S
配置文件中读取用户所设置的端口来实现一机多区的.
1 e2 ~: N9 G3 \, P$ m2 l1 ~如果你想不使用克星工具实现一机多区,应该做以下设置.
; H3 F3 O# {( }复制另一份balance出来,打开balance.ini修改* j3 u; V9 {7 N3 n) J3 w" n, A
[BALANCE]( ]. B$ S" S8 w  j
TCPLOCALPORT=4053
) T# [. C/ t3 N* g' yUDPLOCALPORT=4030% i! x8 ^6 ^, i' Q2 T
这里修改后注意GATE.iniUDP协议3030端口为4030' i$ W/ o  v5 w/ `  D
然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.4 U8 O! Z. X* P9 m9 c; l

% C1 n( u) h/ d# N题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.  g2 s/ z' i' o) A7 \
打开windows自带的计算器,选择查看-科学型,然后选择10进制
- l2 B6 z  `. N- H2 y0 l按下3053,再选择为16进制,你会发现305316进制中显示为BED
0 {, s% L1 V0 h1 {但是为什么要查找ED0B,因为在程序中这些东西都是反写的,
' m4 i( w; ]0 z; ?+ @以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D- x! g1 x; d, _# T
若是奇数就要加一个0来补齐.
/ Q8 [  t7 i  m  L$ `+ D; p! ^& F, y+ ^9 a# s
再来看看DB服务器。
# W  t. h, p4 x; ]+ D
$ c$ x( X5 @! D% g. Z, |! b7 VDB服务器下目录比较多,我们一个个来讲
( }$ L" `& c( t4 \2 ebackup目录本身DB服务器不产生,也不在他的目录下增加任何文件,
6 |' k' Y& A/ F4 }5 T- B. f根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.. y0 w2 A, I6 E& w1 E
log目录,web目录,均是记录玩家的情况
& K% L  I  w: Yuserdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时
. w* k, k2 m2 g0 P% J# L* P3 N& L6 u他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因
$ x6 t( x0 u4 m- D/ @* I还不太明白,只知道会导致玩家元气永远比原来差一些的问题.
& ~; h, ?6 F0 c
# Q4 ]9 H  K2 eDB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.
/ e" A) m2 F* ?4 Q) z9 V/ [$ |reload,字面意思是重新读取,具体作用未做测试.
4 C! ?1 u% I5 {* m9 K) T+ Maddrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,- n+ g" A$ u9 w6 K6 n
到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.$ i7 j$ D* h3 y$ u8 U
save today.sdb,存盘当天玩家上线记录.8 f. g, L2 G* X4 |
back up,备份数据库,备份的数据库会产生在userdata目录下.
; D) r4 h+ l* L0 y4 P( O' C
/ `" B1 N# W; c0 }' r5 P
5 c" f& s: O8 j7 FDB.ini,DB服务器配置文件.0 l3 q1 R+ G/ j
[DB_SERVER] 明确服务器名称.
7 {- p5 ]. n4 K% |  g& s0 BFileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.2 c1 v# k" ^7 J% a+ N* |
BufferSizeS2S=1048576 数据库的规格
3 l8 V$ T1 P8 g4 E8 U6 p' bGateAcceptPort=3051 DBGATE连接的端口.TCP协议.8 [( f' u7 W0 {( n0 X2 X/ B7 |- [$ o
RemotePort=1024 接收端口.应该是玩家下线后TGSDB连接的端口.8 k' `& b4 X; \0 X
ItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS.
& X2 Y" Q6 l! N; m* `
% x" M% P- D  O; z# Y, p; x4 j7 e- n! U, B, }
IPList.txt文件.
! a0 {/ c" t4 W1 l: C记录远程GATE连接的IP.一般设置为127.0.0.1
2 C; k# O+ U3 O% R- I1 U1 u5 i" d  T, F; e4 I$ V
remoteip.txt文件.8 n" n& l  |& w8 w- m
记录远程TGS连接的IP.一般设置为127.0.0.1
  ?0 U9 q! N2 ~0 I; u
2 i! X# P8 L6 x. r0 P, G* qModifyMagic.txt文件./ [# i+ f6 y, B+ P; m
感觉目前似乎没有用到.具体作用有待补充.
2 ~8 }/ g0 a9 w% d; u5 ^# |7 R5 ^: _; n& l) W
" p7 P7 c# `$ [+ L) c

& \- ^, v& d# P' g! v- fGATE服务器.
8 |' _2 \! N' w* V2 K' w2 H( x* ~
log目录,记录目录.! W. G3 T8 ^1 x2 Y5 j

0 S3 j3 s  Q, qCreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量.) y* E# W" N6 c( W' H" D6 b
[CLOTHES]
1 Z4 s% k3 m+ [. Z+ {  ?# k- bCLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣., l, [. f+ Z, P9 v% d8 o
CLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.. v3 C: h  Q! F% Z/ Z
CLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣.
+ t; \! Z0 F* l8 Q* K4 o' y6 e" VCLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子
+ u8 y! l: {4 A3 i" u; M1 s. V  L1 t8 v' k9 b) a
[WEAPON]3 L* \* e& B' Z
WEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以3 U9 x; E% K8 ^( e( Z
WEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以
" p7 y" [) M! c" f& J2 h- P6 _WEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以) [! I" J1 j0 K- ?
WEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以6 K6 t6 M) L; E- H$ r. j! I

+ e4 e/ }. X' c! @2 D[ETC]
; R% g. S5 Y3 H. [1 R4 q; l& kETC_01=五色药水 新手出生后拥有的物品1.这里要说一下. }& n3 `' O* c

/ k' t6 O( P0 h/ q. m: T即使你定义为没有耐久的物品,他出生后还是会有耐久的.+ ?; d# x" _! Y9 I2 n" t
即使你设置了ETC_0203或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.
+ G7 K# R9 q; ^- l4 K7 P; w5 t. g8 J: ^4 h
/ N8 ^3 F' X/ q
DontChar.txt 定义不允许建立的角色名.
7 k% w  O7 R. h% l$ H: q8 B4 j
7 U  m4 O1 {9 v5 A3 j9 \# Q8 l, a/ f( U  C' o, E) A1 Y
gate.ini文件,GATE服务器配置文件.这里详细说一下.
) d3 l' f$ |' i! }' f; |4 O' D6 o" W$ J" c
[GATE_SERVER] 定义服务器名称* a6 `$ }3 [* |" R9 F
LOCALIP=127.0.0.1 定义对外IP$ ~/ [8 a. q3 {
LOCALPORT=3054 定义与balance连接的端口+ c# Z' M; z# ?6 X' P
LIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.
' G5 R! Q; d' S% _; LCHECKPAIDINFO=FALSE 是否收费服务器.
% _3 Y8 ?/ T( @2 w$ QBALANCEIP=127.0.0.1 定义balance服务器IP% o- ]% Y+ @& Y  V' C7 [! i& O8 \
BALANCEPORT=3030 定义balance服务器端口.UDP协议.$ D% s; c8 o! L2 b: E8 J% v0 T
SERVERNAME=test 定义服务器名5 G3 C) p; \# H, J
BUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激
# u. a$ ]8 }$ ~4 bBUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激% ?+ N9 j- Y6 Q. c
0 x5 G: f* v  O8 t, _" F
[GAME_SERVER] 定义服务器名称
, V1 H* x) J9 [3 A% M9 Y7 FREMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGSIP地址.经典的3052漏洞就是这个.) R! e7 M8 ?  J( m$ M4 P6 h
REMOTEPORT=3052 游戏主服务器端口.一定要封.* n+ V$ R+ u3 X  O3 p4 i

; {5 u, F5 S) F8 Y# b7 U[DB_SERVER] 定义服务器名称* Y, [4 `3 q5 X# r  B2 l
REMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.
6 x% d: T2 q  x0 C5 U! ~& WREMOTEPORT=3051 人物资料服务器端口,一定要封.
  q2 G: e6 O- g. g% {3 H7 f; _6 [$ `. H4 @0 A" r( D
[LOGIN_SERVER] 定义服务器名称; `% l6 e' s4 x6 F, I  o% j* t- R
REMOTEIP=127.0.0.1 登陆服务器IP地址.4 d3 t* i: n2 A; B% v6 ]
REMOTEPORT=3050 登陆服务器端口
( U/ J- v1 h, s" l' t' T& U9 N1 h; [
[PAID_SERVER] 定义服务器名称 (通常删除)
3 k8 B0 u+ a/ j) c. YREMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)
$ U+ S/ p) S1 v9 `# M0 V" TREMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)
  v, A' H0 [3 B2 T5 v3 }8 K' t3 S0 k' K% B( f- T
5 F$ q, Z! A) |  E; @. V+ v  E
tgs1000.acs文件。GATE的语言库。" b& z$ C% l  J- I

# ?9 F/ d& ^" z! I  AVillage.Ini文件。定义新手出生地图。这里讲一下。7 ]7 i. y* H  }- @: N/ ~  {

  ]& h, h# D# [7 ~[VILLAGE] 定义配置文件名
- d/ H8 B- V! D) W4 L$ m# k
% ~! [/ _! K! HCOUNT=1 定义新手村可选择的数量& o' q) I1 \$ H7 H1 i2 I

# h' I5 N# g1 m+ A8 R3 L, JNAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。
7 M) S( T: s" f2 dX0=178 第一个新手村X坐标( I% ]$ R% ]' N  t0 [8 M
Y0=238 第一个新手村Y坐标/ y' e$ S5 Y/ t8 G+ ~) K. p
SERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.

1 P9 \( H, X2 Z( x+ Z  L
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

三千游戏官方客服

扫一扫二维码

添加qq客服

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