游客您好
  • 点击联系客服

    在线时间: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提高对服务端参数配置和功能的认知!0 j  b4 U" H! u1 S
2 R3 M- K: ^8 t' ^
1Balance 网络均衡服务器。5 T& x. s" D! y" a: t* h& e9 |
2DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等.  b0 c7 W% C0 P1 l4 ~2 Q$ h
3: GATE 网关服务器.7 `) O7 c2 A4 B1 \! S% T' m
4: login 登陆服务器. 帐号密码等数据在这里.  W, ~1 x3 C% G, C( T* e4 A
5: TGS 游戏主服务器. 游戏大部分设置均在这里.
, P* B  \5 j/ k( }
) d! {( T& ]  u下面讲下他们的工作原理.4 q" R: Y: m% X% e* T0 q9 K

: `& C; L, r+ {/ A1 v首先,玩家通过TCP协议3053端口连接到Balance服务器,Balance接到连接命令后,
+ w; i) \  d7 m6 t0 h. _: z将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责9 M) C+ B: U- C3 o# t. m# l9 O
中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,TGS端口连接正常,
4 Q$ @6 P1 K% }# I; t* M" ?; c则返回信息到GATE,GATE再验证DBlogin服务器,若连接正常,则发送信息连接成功到% J2 _8 m1 }) A9 {# Z
客户端.
. C. W9 e$ r/ W7 g) M! _8 i& ^6 ^6 M* t* q3 g) Z
再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)
. v* k* d# D: [5 s8 f& {* H% b& w
Balance服务器 对外TCP协议3053 连接GATE-UDP协议3030.
2 \( j. l* c* [2 @DB服务器 TCP协议3051连接GATE.- v( A5 t7 P- m$ O5 f* F( R' d0 I
GATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示.# z# `) V, A' k
UDP协议连接balance3030.TCP协议连接TGS服务器的3052 TCP协议连接DB3051 TCP协议连接login
! L$ r. L* c4 K' ~3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡; {7 _. A1 V5 D& r% i
验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友
5 m$ ~' B: K' g& `的误区.
+ h6 ?# g$ F& t$ P: D& Flogin服务器 TCP协议连接GATE3050* K- K+ W& U" x) N" Z& E* a
TGS服务器 TCP协议连接DB3051 其中还有一些物品记录服务器等.
2 P; F+ ]/ v: U$ E7 [/ c5 S% P" x2 d( e
. ^5 B8 |0 `8 S6 ]; t: z( [
再讲每个服务器中的配置.
& G6 X0 l( d( n3 ^; v5 S' y9 s: L# x( j; [
Balance服务器 目录中的balance.ini中配置
0 M- l+ f  w0 y. R3 k[BALANCE]
3 K$ z  C% u7 K( C# z3 }+ p0 @TCPLOCALPORT=30538 A! v, A' j1 F1 X: _
UDPLOCALPORT=3030" Z+ U" p8 l. ?
基本不需要修改,若你想开启一机双线,那就要双开balanceGATE,
' }. [: K+ h: [( G( l若需要一机多区,就要双开balanceGATETGS
+ q: {+ t0 K* K( O4 y6 M这也就是克星一机多区的工作原理.
" |! E3 Q4 O- ]% `/ n但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053- Y# e$ K" I7 w' M3 b" t2 F
他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从
. c3 m' ^& l4 u9 v配置文件中读取用户所设置的端口来实现一机多区的.
; }8 B% `' R! T5 E' T  r如果你想不使用克星工具实现一机多区,应该做以下设置.
) w  \( _+ e4 U复制另一份balance出来,打开balance.ini修改
) z% z, s) K  B" C[BALANCE]
0 ^; V3 S+ T3 v& ^2 H8 j9 RTCPLOCALPORT=4053
# A- j7 c+ P/ O) O, m( KUDPLOCALPORT=4030% q: e! J, A4 A8 Z  M* u% Z
这里修改后注意GATE.iniUDP协议3030端口为4030) y& @  ^# Y8 N# g% H
然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.( [: L' z6 I; H

( h3 @" o' y: q/ N! h/ d% n, H7 W题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.9 J% A# R0 ^  s3 g
打开windows自带的计算器,选择查看-科学型,然后选择10进制
; f. P, y  m# J, Y4 @) |8 ]按下3053,再选择为16进制,你会发现305316进制中显示为BED; E! s8 L6 ~0 ~, h6 B1 H6 h# A
但是为什么要查找ED0B,因为在程序中这些东西都是反写的,5 z7 F2 H6 W* V9 I8 @1 ?4 ]; ?
以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D- A5 k: g" W: Z& ?' h3 c
若是奇数就要加一个0来补齐.8 ]! C  |6 v3 e% G; b: J3 e9 j% J* F
* {2 {9 w5 P& W, X5 D3 m7 t
再来看看DB服务器。  _+ M  z3 x! ?- K! V+ [. \
& Z1 A3 R# s9 \' I0 k3 g
DB服务器下目录比较多,我们一个个来讲
- d% D( h( q! A: R- U: J$ i1 wbackup目录本身DB服务器不产生,也不在他的目录下增加任何文件,  s  x3 K+ V! y  a% l, O
根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.
0 u& _0 g  x% Llog目录,web目录,均是记录玩家的情况3 C' Z' W' O: K4 u+ f3 A: n8 @2 j
userdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时% v' b' L- ^. b9 z* l; V2 q9 F) i
他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因
0 R& {$ \: I* S4 g1 V还不太明白,只知道会导致玩家元气永远比原来差一些的问题., J3 G4 p0 Z5 A

, h/ m9 j2 F/ \! ^. z" HDB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.
. V8 B  X1 g8 ~! Jreload,字面意思是重新读取,具体作用未做测试.# U/ c, M# }! S  P& k1 o# v+ D+ @
addrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,3 s7 _# \. _) O8 o- `2 \
到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.
6 I3 P6 e8 T% Lsave today.sdb,存盘当天玩家上线记录.* V* ]& B0 d' A' N0 [$ x: B/ }
back up,备份数据库,备份的数据库会产生在userdata目录下.
& m1 \8 k; {  u1 l. O1 e8 k4 n5 F' M2 d) K" d8 Y( W1 \
, l9 W/ D! R- p8 H; c4 h6 g1 N9 Y
DB.ini,DB服务器配置文件." _) m0 ^5 U2 r0 H/ z& B4 l9 q" k
[DB_SERVER] 明确服务器名称.
. m/ P! B; e% lFileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.
1 U8 i5 Q. j+ s+ q* S1 dBufferSizeS2S=1048576 数据库的规格
2 }( X' O, z3 N) _0 ^- B: ?& bGateAcceptPort=3051 DBGATE连接的端口.TCP协议.
; @+ V6 ~5 E' w+ T5 K! XRemotePort=1024 接收端口.应该是玩家下线后TGSDB连接的端口.
/ t  d2 A' z' U* s: |' ~& F& O0 TItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS.$ ^* h2 P' x( z# f

8 U* t2 B( p5 @9 Q. w- E: ?1 I# D
1 }- h7 O, k8 a, @IPList.txt文件.8 U  z+ ^# C; m2 w4 O" v
记录远程GATE连接的IP.一般设置为127.0.0.15 r7 {" M2 h0 y$ z3 [* J  j

6 n# X: R- }1 e1 Aremoteip.txt文件.
+ ^! W- z8 o! h6 D记录远程TGS连接的IP.一般设置为127.0.0.1
  }. N* ~! l0 I1 A. T" k
" ?$ V2 p$ N2 O1 K0 bModifyMagic.txt文件.6 B+ g* }7 m5 m, B- {
感觉目前似乎没有用到.具体作用有待补充.; i0 h2 }, N( i- D6 z

1 Q2 |  a/ S# F1 d/ Q. }$ X
( p6 i, ^3 D- d- k
% @" X2 r1 b9 m0 ]1 N2 T' C* hGATE服务器.
. M9 k( R2 Q% F& y* p! |
" |4 b7 ?3 R. w& {log目录,记录目录.: v) [( J  P1 H2 G4 P" a0 k" ^
$ ^4 H7 o) h8 K
CreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量.
) ^" @  d1 V6 ^[CLOTHES]
8 f: M+ K0 m% y" G0 p7 gCLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.2 _1 E0 j4 d* ?# _% ^$ G
CLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.; F) \+ S( d9 \; R
CLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣.
/ V4 R2 T4 Y  E$ ~( nCLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子
7 C5 A$ G7 Z  X1 M2 l: M) u3 L! B: W7 c: y& ~5 Z" M, o) R0 M- U
[WEAPON]' [3 w) t' w- G% m( e' R3 [. l. x5 i) [
WEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以
9 K" M" ]; p  q0 D& {WEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以
. A2 O) B6 t8 \3 B0 J2 u1 i9 tWEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以
, J0 v/ R( T. m2 l; WWEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以) K/ e& P1 W4 Z' v
' L1 ^) m$ M6 k$ g# U; z
[ETC]
' r& {8 F0 u0 W7 @7 v9 |ETC_01=五色药水 新手出生后拥有的物品1.这里要说一下: e) N  B- y4 u: L  h. ~4 L
/ p( T9 Q. y# q
即使你定义为没有耐久的物品,他出生后还是会有耐久的.
3 R8 y- t" _" F$ R4 ~$ ~8 t0 b/ k即使你设置了ETC_0203或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.' n: z- o; g( R2 L3 h* j6 P

$ [5 K0 g3 j3 {5 O7 p. Q
! a4 t1 U' }2 `6 E7 ~9 }, EDontChar.txt 定义不允许建立的角色名.4 p: ~* k4 ~* x$ m
2 P5 J6 @0 I& j

: j0 a% ?; G0 F% E4 Igate.ini文件,GATE服务器配置文件.这里详细说一下.
# ]$ c5 \# w6 o0 P: |! X3 P3 X7 J* g5 Z: Y' ?  |6 k& G. W- Y
[GATE_SERVER] 定义服务器名称
( }3 t+ h" ^/ z  W/ u/ E( l- wLOCALIP=127.0.0.1 定义对外IP
7 d5 F% e+ Q3 h9 w  t; d# O* {4 kLOCALPORT=3054 定义与balance连接的端口
) S$ k  I* {  z1 a7 ?LIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.
$ `4 b: G5 M1 t4 Q' n8 h* ~& _& uCHECKPAIDINFO=FALSE 是否收费服务器.
7 S2 G, G! [5 n5 c  Z$ v8 |* {BALANCEIP=127.0.0.1 定义balance服务器IP( E$ w$ [5 G4 _, G& s
BALANCEPORT=3030 定义balance服务器端口.UDP协议.
" ~# i- ?5 s1 j0 y# xSERVERNAME=test 定义服务器名
% m' W1 f! X' Q5 X: j4 nBUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激
6 _! W' M- n8 a# QBUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激6 Z5 `, c) d% h6 {

2 B- g3 ^" a" {" {3 d[GAME_SERVER] 定义服务器名称
4 P* @' \3 o; C# hREMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGSIP地址.经典的3052漏洞就是这个.0 n; V8 K3 E$ }
REMOTEPORT=3052 游戏主服务器端口.一定要封.0 p" h4 o; [/ q8 Q* |
/ q. C- {5 g  k+ I) u" K3 Z
[DB_SERVER] 定义服务器名称1 h! D) I- Z+ A' f
REMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.9 |; r) T8 H: Z8 g7 u; l
REMOTEPORT=3051 人物资料服务器端口,一定要封.
( l3 ]* ]1 |6 e- f: |5 b
" F% ?/ Y( }' K0 _# _* Q# o[LOGIN_SERVER] 定义服务器名称
- W$ e% |: @/ y$ s( AREMOTEIP=127.0.0.1 登陆服务器IP地址.
- S0 n% h- z( |( QREMOTEPORT=3050 登陆服务器端口
. B; u) F0 Y7 g
% c2 x: `3 e$ {- _+ ][PAID_SERVER] 定义服务器名称 (通常删除)% \8 p( }( t0 l
REMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)
: x/ ~) M5 |- B5 L7 xREMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)# C, M4 ~8 ?( ]% |2 A

" R( u6 J6 F$ `  k1 c  Y" \/ @% E
2 i) r2 Z* b3 r  i* n( F  ^tgs1000.acs文件。GATE的语言库。
( {  D4 O0 N4 ^, C8 S5 m4 @7 E, E; C( S  y/ z
Village.Ini文件。定义新手出生地图。这里讲一下。/ p1 R! ~" |* I! y6 Z* ]

8 `+ y9 {4 S  ?; y6 I, L) x+ V" @% B[VILLAGE] 定义配置文件名( R7 D  v# Q* \* P

3 ^+ G" N* z/ K3 I- l2 Q7 ?- ?2 DCOUNT=1 定义新手村可选择的数量* A7 M8 y# h6 H, f

. ]' O4 m( {6 N+ h# O8 W0 jNAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。3 s0 X& h3 \* f
X0=178 第一个新手村X坐标
) P1 o8 A: |" {6 Q+ R. z' V- b! _Y0=238 第一个新手村Y坐标
5 z8 J0 e$ q* A) y2 vSERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.

) Z$ U& ~! z# R* o/ H0 k
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

三千游戏官方客服

扫一扫二维码

添加qq客服

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