游客您好
  • 点击联系客服

    在线时间: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提高对服务端参数配置和功能的认知!+ S) ^3 P; o, x- d! P% U

2 C5 |( g$ ~. L# h3 I3 j0 [0 G+ d1Balance 网络均衡服务器。
/ V1 B6 N: p; n0 n2DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等.
+ r/ E; A- @' I- A- f3: GATE 网关服务器.) V5 A' v" N& T, u6 w
4: login 登陆服务器. 帐号密码等数据在这里.
$ a. ~- ?; S, W- k! b5 k5: TGS 游戏主服务器. 游戏大部分设置均在这里.3 W; d) {! H# X& i
! H/ {+ R6 e' b; K, k4 c/ S9 \  |3 G, h
下面讲下他们的工作原理., X! [# O: t7 \3 E5 H' l0 I3 _/ \

1 ^- l5 g" o2 m首先,玩家通过TCP协议3053端口连接到Balance服务器,Balance接到连接命令后,6 p; `' m( b3 b- o( }; z
将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责
% B! r: U7 A) w  Q. b中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,TGS端口连接正常,4 E1 |1 ^2 ]- e  D) _7 q
则返回信息到GATE,GATE再验证DBlogin服务器,若连接正常,则发送信息连接成功到: }  [1 w4 E. q
客户端.* O# p, R  ^3 D$ N

7 R2 e, x2 M  [3 w再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)
) p, g' ?) B6 p8 \. ^
5 u5 x4 `: X! nBalance服务器 对外TCP协议3053 连接GATE-UDP协议3030.
. \( }( P. D; qDB服务器 TCP协议3051连接GATE.' [9 C( i# L$ m" h
GATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示.% ^. N' S7 e& j, `- w: i8 d
UDP协议连接balance3030.TCP协议连接TGS服务器的3052 TCP协议连接DB3051 TCP协议连接login
, T0 _/ x# v$ h8 w* n: _3 x3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡
7 s- W0 \" a$ a5 V. s- k验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友# e8 A' w0 X* j& c/ o
的误区.
9 J% F+ P7 f5 y* alogin服务器 TCP协议连接GATE3050
; |* ]2 w; [& J* |- ~5 D  QTGS服务器 TCP协议连接DB3051 其中还有一些物品记录服务器等.% I" W9 M: j! f

3 F8 E  r" ]7 e: A" n
. `) M( G' e- }: Y再讲每个服务器中的配置.
% h5 P% W5 r( o/ Q' G3 A9 V/ \& O) ?4 o
Balance服务器 目录中的balance.ini中配置% y* G. p; B6 c% K. x4 O3 N
[BALANCE]( ]7 F9 x6 r/ B, N- P8 w
TCPLOCALPORT=30538 H$ F4 @( l6 k) l! g& `( T% d
UDPLOCALPORT=30303 o; E, @% F6 s  |7 \2 l. Z& M
基本不需要修改,若你想开启一机双线,那就要双开balanceGATE,
) m# g' C% Q/ `若需要一机多区,就要双开balanceGATETGS& M! `4 c8 ^7 y9 j6 R$ z7 S; Z) R
这也就是克星一机多区的工作原理.1 E2 q  q9 n6 O( W, m* k
但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053
7 i  g7 l5 c0 G  [他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从
7 E/ F( e* H# K0 ^" k配置文件中读取用户所设置的端口来实现一机多区的.
$ _) }" e% C9 c, k" x如果你想不使用克星工具实现一机多区,应该做以下设置.1 V* f7 Z* T/ W
复制另一份balance出来,打开balance.ini修改
6 s* p( L5 h+ Z; F8 n[BALANCE]
$ ]( I! w  R: Z/ jTCPLOCALPORT=40537 _& _* ^5 y: p$ M: d. q+ o$ _, ^
UDPLOCALPORT=4030
7 [& v. Q# z: r# a% R6 f" I8 J这里修改后注意GATE.iniUDP协议3030端口为40307 L+ ]+ Q+ v9 {4 S: T
然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.' b" S, p5 e  S9 t6 G2 [

: Q* V9 {# M( f! u1 A* q% c: D题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.
9 H0 }' b( J, x9 D/ J4 r* {打开windows自带的计算器,选择查看-科学型,然后选择10进制
( p3 w7 a& Q7 P" d4 ?按下3053,再选择为16进制,你会发现305316进制中显示为BED8 j# T3 j' ?( t
但是为什么要查找ED0B,因为在程序中这些东西都是反写的,* g& v& p1 C. P% W3 K
以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D/ |2 _* y( T! A3 }6 m
若是奇数就要加一个0来补齐.
7 c" y8 Z' @7 _. ?; U  Z' n- F  y5 g- f, f9 m2 Z
再来看看DB服务器。( L3 h8 r( V. O9 q8 J

- o1 ~+ [+ L# PDB服务器下目录比较多,我们一个个来讲) ]7 h4 U( P% g5 y# N9 K
backup目录本身DB服务器不产生,也不在他的目录下增加任何文件," f/ b: f+ {# ?
根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.
$ b1 Q. ~8 K6 X4 \log目录,web目录,均是记录玩家的情况
  k% t) t5 l# ~. Q! Puserdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时
, n- |' F- B; Z! k1 X& s% S他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因
4 N0 O5 d/ y& U( B# }; s0 ?还不太明白,只知道会导致玩家元气永远比原来差一些的问题.
, Q, W4 r$ e  H  n6 u& t! j2 h% O* K
DB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.8 F! z  l4 a' v
reload,字面意思是重新读取,具体作用未做测试.
( j3 e1 f# I' x( c: {7 g) a* f& N. vaddrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,: k" u/ p# L% R4 z
到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.4 ]/ {, k( y: Q% p
save today.sdb,存盘当天玩家上线记录.
: Z* Y) v4 X2 Bback up,备份数据库,备份的数据库会产生在userdata目录下.: }0 W7 g- o# d6 H

( X" h4 r* e3 ?: \+ d0 @+ K9 @/ u. k( O" h
DB.ini,DB服务器配置文件.5 {% Q# x+ N$ L- [9 g" n$ E) i/ ]
[DB_SERVER] 明确服务器名称.* ^& w" g+ l. w/ F0 D; V6 V
FileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.
) ~4 Z9 b0 q) o! S( ~0 n3 aBufferSizeS2S=1048576 数据库的规格, G: B7 I- r. X: [
GateAcceptPort=3051 DBGATE连接的端口.TCP协议.
  U  @7 e: Q9 gRemotePort=1024 接收端口.应该是玩家下线后TGSDB连接的端口.% E6 c6 Y/ F5 M4 s, Z! d3 e9 O3 W
ItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS.2 ?) k- W4 {; e0 f# c+ I$ R

3 d3 L# |, M  s- y# l, s
- v" U1 Z; c: d" lIPList.txt文件.
" S# b2 X# k. y/ q/ z记录远程GATE连接的IP.一般设置为127.0.0.1
2 r# S0 Q3 ]( E2 ]) I* _% |' D# |; p# r' P5 F, F( x
remoteip.txt文件.
  U, u5 u0 y( K0 a* \8 ?记录远程TGS连接的IP.一般设置为127.0.0.1
7 p3 Z7 x+ O8 h0 @) ~$ I
2 E; n# y4 R% f# j5 Y% F8 AModifyMagic.txt文件.! k& L# X$ z, A+ _7 D
感觉目前似乎没有用到.具体作用有待补充.$ t+ Q7 ?1 V7 f, @* W

7 p$ z! ?6 k( l  a3 {
* {" Z, z! G5 p+ w) j$ V: n6 m3 q. y9 M& Y. U: Z! h9 |! U& R
GATE服务器.0 O0 Q' F& ~" u4 ^
. v$ q( ~7 p8 d& ~# w' D+ V, ?1 S7 X
log目录,记录目录.
3 h& o) [5 b% U
8 q1 M/ w7 X' h3 rCreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量.5 y' Z7 ~, q/ I7 I. w* I. C6 o+ I
[CLOTHES]
$ \* N) v$ f: C5 w& D8 i( z# xCLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.6 k: z5 H; [2 w( z# N
CLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.; p" i, s  e( J  b. e) a
CLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣.( X. n- e8 X' ^9 Z
CLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子. a, w7 y) V/ }) |
" L# o+ }( {0 |2 |* y4 z# ?
[WEAPON]
8 }" X8 I: g$ @9 k9 a* C) q! nWEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以
5 S2 c, R1 y+ S. F  xWEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以; k9 N6 g* @  B, g' ]0 E6 M6 p4 e$ a
WEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以. C" t+ I2 T+ E
WEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以
) ?: t# U% ?2 Q: M- O/ z- F! S: C' \) k
[ETC]
, l, p+ ?( G. }  Q/ KETC_01=五色药水 新手出生后拥有的物品1.这里要说一下: |7 G9 ~5 p, Z: e; k. {2 h1 {; ^

4 ]* W  D4 i' N9 E即使你定义为没有耐久的物品,他出生后还是会有耐久的.
1 ~2 l% F) r1 {; d8 p即使你设置了ETC_0203或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.
/ s% Z: N: L: p# a" _1 H( j0 ~  y7 \* E* m

3 F& i# M6 Z8 c/ H) _DontChar.txt 定义不允许建立的角色名.' [8 C' \% p3 d

7 w$ d" P2 ~, n- j+ E" p
( }& n* }$ s+ M3 c9 }+ c5 {gate.ini文件,GATE服务器配置文件.这里详细说一下.( Z* U0 b: V* e+ H

1 Y9 S% W/ t& y; e2 ]9 s% f[GATE_SERVER] 定义服务器名称. ?# S9 @- s$ D6 K" W* j
LOCALIP=127.0.0.1 定义对外IP5 B  X+ o) U8 r  g& S  p9 p
LOCALPORT=3054 定义与balance连接的端口
& D) T/ G) p. l, ^3 mLIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.
5 }" G1 s& Q  `* A' m% }5 oCHECKPAIDINFO=FALSE 是否收费服务器.
2 z/ `: P, T' Q/ ^BALANCEIP=127.0.0.1 定义balance服务器IP
; w# T7 \7 K4 z" X. j' L  JBALANCEPORT=3030 定义balance服务器端口.UDP协议.) ~7 Y$ F5 S% j" ?
SERVERNAME=test 定义服务器名- [) O2 O1 N, D/ F( }: b8 I
BUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激
8 a* S; w3 k3 O+ u/ aBUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激; X+ T! C' a& U* ?
5 Y/ O4 n: ]2 S* L- M
[GAME_SERVER] 定义服务器名称
! B" C, X2 w: V) T9 t* iREMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGSIP地址.经典的3052漏洞就是这个.; [* o& [) [  [& O/ ~( L
REMOTEPORT=3052 游戏主服务器端口.一定要封.
/ `6 d& L2 z3 Y: j& T2 c( D1 d& Y& h# s# @
[DB_SERVER] 定义服务器名称
, b8 b1 J/ Q! x" ^9 {/ R! o# ~7 tREMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.
9 T8 O& Z* i4 f# l, o& ~1 v' M2 W2 ~REMOTEPORT=3051 人物资料服务器端口,一定要封.
6 r" F1 j0 |9 Y1 C9 {9 r$ m" C- x' V3 n  |
[LOGIN_SERVER] 定义服务器名称4 l& ^0 k. ^- ?9 }/ i4 x
REMOTEIP=127.0.0.1 登陆服务器IP地址.1 \7 z) }* W; _$ e/ i0 ?
REMOTEPORT=3050 登陆服务器端口0 k$ {) _0 V8 \+ O/ y7 g

9 j( ?; F: Z' Y& ~[PAID_SERVER] 定义服务器名称 (通常删除)' r5 P4 Y: ~0 L  Y
REMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)
2 }$ A) q% y, P" c1 R" ]/ CREMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)
% T$ \0 l! i+ C' E2 C& Y
+ \, k. t. d2 c4 g4 ~" D" _
, C! P' C- `2 c; P; ntgs1000.acs文件。GATE的语言库。
$ t5 N! |9 V$ e  {' }' [' a/ g  g3 I- q' @
Village.Ini文件。定义新手出生地图。这里讲一下。" `  e! m7 o" r- m, m: m! j

2 ]5 ~* H9 N9 E' {. D[VILLAGE] 定义配置文件名/ Y8 c) P6 S2 _! r
" u) ]2 ?' I) {
COUNT=1 定义新手村可选择的数量1 ~) `' O6 g( z1 |9 w

% q! [' ^5 C9 D- a/ d8 BNAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。
6 W& x7 I+ N! v3 d- Z5 wX0=178 第一个新手村X坐标
6 A9 T# N! u4 f# d, B' z& LY0=238 第一个新手村Y坐标3 w/ F# q! {! K" h3 R. w) @9 `
SERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.
5 @% i& Z  s  o9 S4 y/ H) @  V8 Z9 ?5 Q
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

三千游戏官方客服

扫一扫二维码

添加qq客服

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