游客您好
  • 点击联系客服

    在线时间: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提高对服务端参数配置和功能的认知!5 r+ {3 m% ]) S

( U! q1 s2 M: D$ x; ^1Balance 网络均衡服务器。% O! b) Z0 Y! q! d
2DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等.1 b& U! P2 _1 ^% r/ C6 c; v8 o
3: GATE 网关服务器.
6 S9 T7 k  ~, H7 M4: login 登陆服务器. 帐号密码等数据在这里.
2 j7 @! M$ e! y% A( {& P5: TGS 游戏主服务器. 游戏大部分设置均在这里.
! d5 N# i9 @0 o0 s0 \. f4 T0 l
& y4 m5 e9 i1 w+ v  i下面讲下他们的工作原理.9 |0 g& w! m* h! U' N- V0 V- N2 x

" R' u% e# f; K! P; |' O, L首先,玩家通过TCP协议3053端口连接到Balance服务器,Balance接到连接命令后,
. |" e/ R, s* ~将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责
9 X& m" G* h0 f% l3 I# H中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,TGS端口连接正常,; P  F0 _( [* X2 i; V) F* {* b
则返回信息到GATE,GATE再验证DBlogin服务器,若连接正常,则发送信息连接成功到
6 [$ R* g! P7 D# Y3 T/ g客户端.# M+ f" y5 @' [4 B, r* D, E* @

8 t7 J9 W0 D7 A4 ?: `) J再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)
) e. G& P" U7 I7 v
. S) V9 E/ c' k8 W) gBalance服务器 对外TCP协议3053 连接GATE-UDP协议3030.
/ \1 X2 X7 z0 ?' i+ O* gDB服务器 TCP协议3051连接GATE.9 q2 i0 A& n5 x$ P: G- u
GATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示.
5 X" B& V' u( J/ x% Y6 p$ `% g% eUDP协议连接balance3030.TCP协议连接TGS服务器的3052 TCP协议连接DB3051 TCP协议连接login
# l0 b8 Y& y( `2 i3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡/ W& C% y- R" P( `6 E/ W) B+ r* j" a
验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友
, S* C6 [" p# Y% }" i% J的误区.
8 L" L/ @0 B2 b2 I6 `login服务器 TCP协议连接GATE3050
% P/ w: A. o  P: v# X( C  GTGS服务器 TCP协议连接DB3051 其中还有一些物品记录服务器等.
9 E: U* ?4 ^- a8 A- `6 H# p9 H3 r6 v- _
2 @- s) ?4 B% E- A
再讲每个服务器中的配置.  |9 h- Q! e8 {3 }" I9 o
1 E# {5 a6 e9 c! v8 K( |" u+ F
Balance服务器 目录中的balance.ini中配置: t6 I& h3 J% D7 U3 C. }
[BALANCE]
$ {) c# l' p9 KTCPLOCALPORT=3053
# |, e0 E. V# p* \; I2 M1 d* GUDPLOCALPORT=3030
  x8 A- r2 g+ }( q. R- t1 o基本不需要修改,若你想开启一机双线,那就要双开balanceGATE,
# A+ E% s8 `& y* J: N5 v, O若需要一机多区,就要双开balanceGATETGS: j& o  {; Q( d7 B( ?) R* ^; P
这也就是克星一机多区的工作原理." C. h( }% `: T; w& ~  H) E% A
但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053
, n# F! u" z) c8 o8 n" u, t+ F他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从5 K; \4 Y: S6 f) L
配置文件中读取用户所设置的端口来实现一机多区的.
. s6 q$ r0 U0 e- ^# x如果你想不使用克星工具实现一机多区,应该做以下设置.
. s3 r* M  H. Y( V" G& s复制另一份balance出来,打开balance.ini修改5 _# R# ~8 E: D1 k
[BALANCE]; U4 c9 y6 x" }8 N
TCPLOCALPORT=4053
7 r, M$ X" c9 rUDPLOCALPORT=4030( q% n) K1 p, L' \3 `- ?
这里修改后注意GATE.iniUDP协议3030端口为4030
) N1 }; l  O( F( }然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.
0 w5 y6 N- q# A  P  e% U9 D% H9 M& G( y
题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.
- y2 O3 q  F2 A( M: D& Q打开windows自带的计算器,选择查看-科学型,然后选择10进制% U+ o7 ^4 y4 p0 |0 x' u, q
按下3053,再选择为16进制,你会发现305316进制中显示为BED) c& B) U& E0 g. s2 ]7 A
但是为什么要查找ED0B,因为在程序中这些东西都是反写的,* s5 r5 D! c+ m# v
以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D
" G1 @9 V& o+ h5 z4 W0 Y若是奇数就要加一个0来补齐.2 O  _  m6 B  P9 T6 q
7 C1 f8 z2 N# U7 V
再来看看DB服务器。
2 U+ E- H- F* v. T- F& n& |9 [& m" z& M  Z0 m! X, Q0 _
DB服务器下目录比较多,我们一个个来讲
: ?* b! B: a1 obackup目录本身DB服务器不产生,也不在他的目录下增加任何文件,
3 r+ A0 }2 g9 i1 e根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.5 A: [2 F7 ]8 k: X5 H) R
log目录,web目录,均是记录玩家的情况
6 I1 u# {6 P/ |6 c# A/ }userdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时
) G' M( E; |( N' x9 B4 F! A他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因* `% e* q: E2 C, p7 ]
还不太明白,只知道会导致玩家元气永远比原来差一些的问题.
1 I5 k: c: K" t! W1 s" P3 v3 L2 u% c$ U) n' P. q
DB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.. |) w# A9 F  _. _, `" n" a, w
reload,字面意思是重新读取,具体作用未做测试.! A$ M% y- K% o4 b; T2 v
addrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,0 \4 G' Z$ e; j5 Y8 k
到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.) d6 v+ _; G1 `; s: K+ w
save today.sdb,存盘当天玩家上线记录.' n* |- l1 t( g' |1 Q/ C$ a: ?/ e; L
back up,备份数据库,备份的数据库会产生在userdata目录下.
3 V7 ?  @) m4 t: U  |, k: r1 q0 X, \

7 E* P+ l! N$ B7 [DB.ini,DB服务器配置文件.- ]7 n5 O% X5 z% |# f
[DB_SERVER] 明确服务器名称.
+ r' L: d9 Q- y: X4 ?( l" AFileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.
$ Y7 r# `! w+ g$ E8 d' S. TBufferSizeS2S=1048576 数据库的规格
5 U" s" O, h- q+ b( F# N* @! s: KGateAcceptPort=3051 DBGATE连接的端口.TCP协议.% m, f" O8 t0 B6 Z% o: A
RemotePort=1024 接收端口.应该是玩家下线后TGSDB连接的端口.
1 E6 Z/ K; m- O4 \4 n* t2 qItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS.! u; y$ Q: @( N9 a! h2 a5 J" F: L0 [

7 t; R+ w' Y0 f, E
& f- I5 E6 p' m5 d( N+ ZIPList.txt文件.; A- ^  R* n! m+ O$ }. B
记录远程GATE连接的IP.一般设置为127.0.0.1
" [$ e1 k# v" Z- c
* I0 k% E* M' |& g- S! A7 L9 n& Xremoteip.txt文件.- v3 ~% t! {+ y* x  p7 D
记录远程TGS连接的IP.一般设置为127.0.0.1* v2 N# l( S" K% h+ I
2 p3 M8 M6 U! `2 Q# e
ModifyMagic.txt文件.8 S0 h: k& R% k& N! ~3 G/ i
感觉目前似乎没有用到.具体作用有待补充.
1 p5 u8 z0 o0 [' [3 g8 v7 e) }3 X/ e1 D  I+ i" F
9 h& i0 |  O3 O9 ~8 M
9 ]  e9 D/ O- c& `$ J( F
GATE服务器.+ n) T7 ^. y5 i4 J
4 E" m( l) u2 ^( w/ Q, {
log目录,记录目录.
  H( a: H" J2 r, s. k3 l7 |6 L: V! D# m" J
CreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量.. a3 R" O6 [0 b* w( }% a# G( `
[CLOTHES]
$ ~* ~0 j' _! v+ @CLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.6 o( e) W! c# o/ k6 X; u. S
CLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.9 V$ B  E/ F2 v& Q# h3 ^; j
CLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣.& N+ A6 V2 ^0 J8 M
CLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子
, A) q- q( s( N- Y* w, l% K6 a
. Y  n# S1 L& u7 m[WEAPON]
0 U5 Q4 x2 D0 n# q( ^) Q2 uWEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以
; T* R  J3 Q! Z# p5 lWEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以& {( X$ k+ `; v( {2 l2 p
WEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以
5 P- |6 F1 ~9 d/ P" Q8 VWEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以
9 e9 ?/ b" {0 I# y- X
" u9 o+ u. I' Z3 u[ETC]
+ H+ B. Z" \: oETC_01=五色药水 新手出生后拥有的物品1.这里要说一下
, s' a8 e9 b2 v' [4 O4 d  E* m/ @- Z/ L- q
即使你定义为没有耐久的物品,他出生后还是会有耐久的., C- s# W6 z# ?8 a
即使你设置了ETC_0203或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.$ x# P: R% U5 M* l# q0 @

& e  H( V# Q$ l6 Q+ Y' O! L3 W% Z( g4 @, t  U: M
DontChar.txt 定义不允许建立的角色名.1 W+ L1 _+ v5 m# O9 [; M1 n2 Y% X/ O/ @
+ O# m$ y! G. [7 O' m/ l8 i
5 X3 n+ y, R& X5 [( E
gate.ini文件,GATE服务器配置文件.这里详细说一下.0 A4 O5 |1 g6 c
2 |% Y4 T! S- y) Q) d& d1 h
[GATE_SERVER] 定义服务器名称1 S- B0 }7 \& d' |8 _
LOCALIP=127.0.0.1 定义对外IP
) l% i; |: A. F6 z. G/ I" D3 o* J+ B9 @) |LOCALPORT=3054 定义与balance连接的端口
" i! k' w& Q$ i5 nLIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.7 {' x4 ]+ _: Z3 |% ]; e4 d! x( H# w
CHECKPAIDINFO=FALSE 是否收费服务器.
& ?' O* n3 f# P; ]$ MBALANCEIP=127.0.0.1 定义balance服务器IP
& d; {8 M9 {" r  f) V* t1 RBALANCEPORT=3030 定义balance服务器端口.UDP协议.
# h. N' w7 K# U, w$ cSERVERNAME=test 定义服务器名% u/ G# R" e  E' m! Y+ |% \
BUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激
5 x8 s$ @4 [/ J" F3 OBUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激* n# {* _/ T7 a+ @( y$ Q% _8 C; H
8 z" Q! D* W- ^3 h2 v8 \
[GAME_SERVER] 定义服务器名称0 y& x3 q7 R8 q7 z
REMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGSIP地址.经典的3052漏洞就是这个.! }: g4 z, c, I! {
REMOTEPORT=3052 游戏主服务器端口.一定要封.
$ y8 I$ [* s8 ~% f' _" T
7 p2 e1 {( m& t[DB_SERVER] 定义服务器名称
" i0 e# S3 U/ G' k% nREMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.
* |3 N1 R' ^: T' F6 t% i2 hREMOTEPORT=3051 人物资料服务器端口,一定要封.
4 k4 I! I; o. G* E' q; w3 B4 |* @$ _" D* `, K& c* }
[LOGIN_SERVER] 定义服务器名称
- @7 A& A6 s$ [- B6 j8 wREMOTEIP=127.0.0.1 登陆服务器IP地址.
6 q" }* M8 D7 l" VREMOTEPORT=3050 登陆服务器端口, \/ f/ d* X7 H% Q+ b

- B2 n" j( o! d/ \9 m! ~[PAID_SERVER] 定义服务器名称 (通常删除)' h: M' r5 z$ K% j/ P8 w6 u
REMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)
) r/ F7 [1 Q4 N0 \( ]- kREMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)" c7 Y# ^% a0 o+ G. `& R( O5 @/ |

8 q) K5 D6 x; I: `& v
5 T/ B; p6 M% L8 U% D: Ftgs1000.acs文件。GATE的语言库。, e; A; W2 n  c4 N; z) a6 `

5 b: A+ ~7 F8 V% w$ T" o0 fVillage.Ini文件。定义新手出生地图。这里讲一下。8 q$ U6 M- q1 [. [

9 w8 n/ Y" \$ P/ ][VILLAGE] 定义配置文件名9 [. j$ g* t8 Z5 o0 t4 K$ |
' }2 `7 J  i1 |$ ?$ r" o' F
COUNT=1 定义新手村可选择的数量. W5 p+ G% A* [0 r* T

1 t- Q0 |8 t/ q$ M& c2 aNAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。+ x0 h+ `9 }: H, i1 t  I8 R
X0=178 第一个新手村X坐标6 ?2 S. v; O5 q' _  W& i& d' a+ r7 d; o
Y0=238 第一个新手村Y坐标
( g0 t# ^& W9 Z' b0 ]SERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.
& x9 ^  V5 u2 {4 z8 `5 Y
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

三千游戏官方客服

扫一扫二维码

添加qq客服

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