游客您好
  • 点击联系客服

    在线时间: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提高对服务端参数配置和功能的认知!
( |% e3 w% w" U& |, E
! Y" F/ y1 j6 T. u1 d1Balance 网络均衡服务器。5 c5 S* \& s) k7 o
2DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等.
! q) X8 A+ ~1 A% l3: GATE 网关服务器.
6 m7 ]: n3 v! |. e: |6 O% t) W0 O2 j4: login 登陆服务器. 帐号密码等数据在这里.: j6 e0 _) ]1 B3 j; B
5: TGS 游戏主服务器. 游戏大部分设置均在这里.
. P7 f, O( v9 ~  U  ^" B8 |$ F  ~4 o# E- x' I  c( J1 V" }  t
下面讲下他们的工作原理.6 p  @. W+ ]" J, [4 i, o
4 R4 O7 u6 J1 I: q/ y& q" A( T+ I
首先,玩家通过TCP协议3053端口连接到Balance服务器,Balance接到连接命令后,% X1 g6 r$ P) `. F& g) E3 h( e
将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责
7 |. W: g$ r6 Y( N) o中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,TGS端口连接正常,4 \8 ~5 w0 y9 `, u3 X+ t& z, l; K5 w
则返回信息到GATE,GATE再验证DBlogin服务器,若连接正常,则发送信息连接成功到
! i/ t% s+ S( s+ w6 }客户端.4 L# h. _4 r0 k  w: @4 e

, h! S- c% U) s7 P" x9 f5 t再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)
5 T2 V' Z( T" ~2 U7 n# w+ A' g& M9 X# i
Balance服务器 对外TCP协议3053 连接GATE-UDP协议3030." N8 L2 f$ m! S, q1 q$ s
DB服务器 TCP协议3051连接GATE.
9 W: b; L3 w+ Z' g) Q) x$ ^GATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示.
+ j9 n4 o! ^2 [! N4 P% n" P! R" RUDP协议连接balance3030.TCP协议连接TGS服务器的3052 TCP协议连接DB3051 TCP协议连接login' C1 K; s0 _& R# ?$ r6 k# k
3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡
5 `$ B% B/ c2 o( \2 Q验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友
/ h" C1 _: V$ ~的误区.
; X& w. y/ o8 b# z5 p% c  wlogin服务器 TCP协议连接GATE3050% W/ a& r# F. y4 F
TGS服务器 TCP协议连接DB3051 其中还有一些物品记录服务器等.
5 n5 I: Q0 [5 i( L7 {1 D
8 L/ L* s" S) |- t! A! r6 n* g
1 @1 x! C9 W$ U+ b1 `0 c再讲每个服务器中的配置.: h$ y8 G9 u9 y3 u6 N# F/ r
1 X# m' e4 r4 W8 C' \
Balance服务器 目录中的balance.ini中配置0 @2 M. f% I" \2 A2 p8 J) j
[BALANCE]" ]/ Z4 @( @( G# V5 L" S
TCPLOCALPORT=30534 |0 e! \1 N  {: d; I( j, F: f$ ~
UDPLOCALPORT=3030( X5 T) c- q2 r$ b. w! f' C
基本不需要修改,若你想开启一机双线,那就要双开balanceGATE,
' x" z2 x- F* ]若需要一机多区,就要双开balanceGATETGS
7 d& T4 M' x3 ]  g' A9 N' o这也就是克星一机多区的工作原理./ r3 B0 B5 p8 a" c* X2 ^' m
但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053
" t6 O! [# K( F* y7 I- H他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从4 Z; e, j. k+ o8 E
配置文件中读取用户所设置的端口来实现一机多区的.' S, T$ p# _+ @; H2 R
如果你想不使用克星工具实现一机多区,应该做以下设置.
! x2 @) U- i9 }  t. L复制另一份balance出来,打开balance.ini修改
  v/ C" H; `4 P9 \; W2 v( j% Z[BALANCE]
. Z1 \# V# n. gTCPLOCALPORT=40532 D5 S* U8 ?2 N* z! M' |
UDPLOCALPORT=4030
1 Z  ~) Y7 s4 c; M7 |. _) ?# q' k这里修改后注意GATE.iniUDP协议3030端口为4030
$ y3 `$ y! ^3 j& e1 {然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.
; o* J2 j& u  T2 z! h+ g' n' ]6 n, ]
题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.
: d6 [5 L& y" t0 l0 i打开windows自带的计算器,选择查看-科学型,然后选择10进制
7 ^* o' ]) N: \0 w+ i6 X$ s, B7 V按下3053,再选择为16进制,你会发现305316进制中显示为BED3 |1 ^3 l& R1 F; [( o
但是为什么要查找ED0B,因为在程序中这些东西都是反写的,
/ |$ w, C2 J5 b) f6 A以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D
9 M& ^" r' U# {) T若是奇数就要加一个0来补齐.) O& T7 ~1 S* e! `; T( N0 S: n
: o8 k# Q, ]' i) g* @
再来看看DB服务器。
  @" w% z4 p- ?* L' z
! C! b( |( T0 ^3 W4 |3 W5 nDB服务器下目录比较多,我们一个个来讲  l( M6 m( H7 {# {& P+ Y8 E
backup目录本身DB服务器不产生,也不在他的目录下增加任何文件,
; Z7 s) k0 b$ X2 n根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.
- R. J9 a0 n* D1 L; r+ @) n1 Klog目录,web目录,均是记录玩家的情况
# V6 W! V+ \9 R0 [2 D! j" D4 y6 [userdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时
; }. h4 Q# q  N. K* I他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因. k3 l- q2 {* C: R6 d' Z8 @& C
还不太明白,只知道会导致玩家元气永远比原来差一些的问题.% |$ m/ T% I* u' }* R
, _/ ~% G6 t; ]6 |" c
DB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.% ^4 i! m. a( l+ X# \7 H
reload,字面意思是重新读取,具体作用未做测试.
4 J/ k: G( W6 p( w% N6 \$ }addrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,! w3 ~1 B# M' c: Y$ p1 H+ q9 @
到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.
8 m( _& t- j6 a$ w; k* \1 Msave today.sdb,存盘当天玩家上线记录.
- v  P, Q" n  o% y* @back up,备份数据库,备份的数据库会产生在userdata目录下.
: {2 [$ y- N# d0 R: T1 ?# N1 w
" f4 _4 E" ^. u  M) h2 u3 P1 r1 H
DB.ini,DB服务器配置文件.8 |% A' o5 E; Z6 A8 S3 l9 y
[DB_SERVER] 明确服务器名称.; D- ^$ u0 U; P3 R. O
FileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.' b- C2 O6 H3 e1 c
BufferSizeS2S=1048576 数据库的规格. x0 X  `4 l$ L% N* T
GateAcceptPort=3051 DBGATE连接的端口.TCP协议.
- c5 L2 _4 ^0 C& uRemotePort=1024 接收端口.应该是玩家下线后TGSDB连接的端口.% c( W* G* {$ |& g
ItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS.) ]  H6 m- p3 \+ |

0 j% N8 N$ j$ @. F& S% v5 J! }& D4 G+ g4 C* Y
IPList.txt文件.
1 |9 y$ I3 |0 {0 q: [记录远程GATE连接的IP.一般设置为127.0.0.1
. @! g5 d8 i0 x4 |: E( E  l5 x. V/ A9 \& G
remoteip.txt文件.3 z* p9 X/ f8 B0 G- J5 F- U; T
记录远程TGS连接的IP.一般设置为127.0.0.12 {. t# k$ g; C, w5 q8 X
6 d7 x2 ^. v0 W' \+ Y- o0 `
ModifyMagic.txt文件.
2 }7 L1 q9 K2 {' N感觉目前似乎没有用到.具体作用有待补充.
; ]5 C% ~- N+ H* p% u: G' L
, I" V- A- T* N! w# A% ^! `3 i' k* B, x% x) b  Z

% z  Y8 ~& Q0 |; C/ v" WGATE服务器.
' S8 r3 u: O8 N2 j0 p# p1 Y2 i2 K4 _# P; D0 O! |
log目录,记录目录.
( I& T* \) ^7 ?% [* x# h
7 g) U" Y7 i; Z. V  E5 g9 ?CreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量.
& g4 n- k. S  L+ g( j5 S3 t[CLOTHES]
* b* k0 G* H5 [. [. q2 j, ]; HCLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.% h% Z; M6 W) X8 @/ \1 [
CLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.
8 L/ G  i. @1 r% P9 p: dCLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣.
$ Y. Y3 e0 L2 s' \0 Y6 \, gCLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子
  u! B$ v  U! V( K3 |- K6 ?( n  `8 i' t
[WEAPON]
- k% d0 B. K# T0 i0 h6 e( _* x. lWEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以
3 N: I0 u4 _5 `! i2 wWEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以
3 B$ a* M( \$ zWEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以& g  w  M+ l$ D
WEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以" K0 q  I4 ~3 ^& o

, W, P5 `: C5 Z. g' r- s3 ^) Q+ l[ETC]( @* R& @% r+ u' y) c6 x$ Y
ETC_01=五色药水 新手出生后拥有的物品1.这里要说一下
0 n5 r' J: F! B4 }
& I) P/ |7 E& }5 C即使你定义为没有耐久的物品,他出生后还是会有耐久的.
( U' [% K  P8 @即使你设置了ETC_0203或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.
" H1 u0 I, q' u# _. F7 X5 m! A
2 g) z5 d) Y7 s3 o# J2 |$ v- q) p7 j: `
DontChar.txt 定义不允许建立的角色名.
% K; a/ x, W) R! F- e% s
) g/ p. b; A6 k) B6 F* h
/ _/ X: j% j$ m% ~gate.ini文件,GATE服务器配置文件.这里详细说一下.4 r0 X' Y- w, ^6 e/ ^, }4 ~! ]

# `9 P& o& @$ K[GATE_SERVER] 定义服务器名称6 o8 T7 {1 L8 j6 C! Y
LOCALIP=127.0.0.1 定义对外IP3 E/ S% X1 q$ S6 I# ^- _) A1 `
LOCALPORT=3054 定义与balance连接的端口
9 @; Q7 Z& H* o: o- [. d) g5 x* v+ uLIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.+ S  C. H. K6 B5 p3 {* u& u7 W
CHECKPAIDINFO=FALSE 是否收费服务器.
3 B& N6 }; b- U4 E$ ?BALANCEIP=127.0.0.1 定义balance服务器IP
1 P. \" A$ }" N  l2 x$ z" g4 ^BALANCEPORT=3030 定义balance服务器端口.UDP协议.
+ c! T5 s0 O' [, Q+ @( QSERVERNAME=test 定义服务器名
; z* ]% i. @! i9 O  \8 s: ?BUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激
3 i+ K. c( P( \9 {# n4 wBUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激
6 g0 [# z* i+ R4 V' e8 E/ `' ]4 d; y/ @- Q8 g- H8 W' g& @
[GAME_SERVER] 定义服务器名称
% {* }2 t+ }9 }$ {4 uREMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGSIP地址.经典的3052漏洞就是这个.
; X3 F$ V$ s) J9 C; eREMOTEPORT=3052 游戏主服务器端口.一定要封.
- G" L% X) j& z
7 n2 m7 c0 k8 k: h" T* h$ t5 {1 B/ |[DB_SERVER] 定义服务器名称
! Q: |, c7 w. a# l0 e! i" GREMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.
& [7 v% S9 @. S2 o0 u* \$ g( }REMOTEPORT=3051 人物资料服务器端口,一定要封.
9 t! ?7 N5 |  T. F6 |+ @
/ n+ t3 D9 y) b. f, C[LOGIN_SERVER] 定义服务器名称
% R9 T) V' ^  f( z% ?REMOTEIP=127.0.0.1 登陆服务器IP地址./ n5 ^/ x8 f0 U- [* c
REMOTEPORT=3050 登陆服务器端口
7 i$ I% ?; F- D' M, l. e0 y9 U. B& A' }% \0 k& R. }
[PAID_SERVER] 定义服务器名称 (通常删除)) m% A  V5 o& T8 I
REMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)
2 O+ S6 w. u/ Q4 q* L6 E: @/ lREMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)
) n/ B8 _# ~' ]4 i, ~$ z  f& {( {$ `  O* D$ u7 Z
2 U# b5 U% I$ y& @- d+ N
tgs1000.acs文件。GATE的语言库。1 K/ s: p5 ^2 D
, K+ g3 ^) i7 }/ b
Village.Ini文件。定义新手出生地图。这里讲一下。9 U* s4 U+ ?0 U- A
# p! a6 B! L! J6 |7 v
[VILLAGE] 定义配置文件名! ^( u- G5 G; N- Q4 R
2 `, d6 ]; \  g
COUNT=1 定义新手村可选择的数量
2 S& A7 c0 O' V) b" G
, h- Q& u. O/ W( q% o' ENAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。* A! F1 j+ P. H- ]: M, Z9 u) R
X0=178 第一个新手村X坐标% p0 W) q- e0 w, `* \
Y0=238 第一个新手村Y坐标
/ S! t: u* g) H; R  L4 `* jSERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.

" D9 F  N: P3 X' d9 A2 ~/ H1 Q! G
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

三千游戏官方客服

扫一扫二维码

添加qq客服

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