千年服务端(引擎)解析
千年的服务端主要分5个程序,本文详细介绍了服务端各类重要参数的含义,方便新手GM提高对服务端参数配置和功能的认知!
1:Balance 网络均衡服务器。
2:DB 人物数据服务器.注意:这里不包含福袋数据和门派数据等.
3: GATE 网关服务器.
4: login 登陆服务器. 帐号密码等数据在这里.
5: TGS 游戏主服务器. 游戏大部分设置均在这里.
下面讲下他们的工作原理.
首先,玩家通过TCP协议3053端口连接到Balance服务器,当Balance接到连接命令后,
将连接信息转化为UDP协议通过3030端口转到GATE服务器.简单的说Balance只是负责
中转.然后GATE服务器在使用TCP协议连接TGS服务器的3052端口,若TGS端口连接正常,
则返回信息到GATE,GATE再验证DB与login服务器,若连接正常,则发送信息连接成功到
客户端.
再说服务器所牵扯的端口. (以下端口均为未修改的默认端口)
Balance服务器 对外TCP协议3053 连接GATE-UDP协议3030.
DB服务器 TCP协议3051连接GATE.
GATE服务器 对外端口3054-TCP协议.注意,虽然3054对外,但是直接连接3054会出现版本错误的提示.
UDP协议连接balance的3030.TCP协议连接TGS服务器的3052 TCP协议连接DB的3051 TCP协议连接login
的3050 这里最重要的一个,也是很多朋友不明白的地方,那就是paid服务器的端口,paid服务器为冲卡
验证服务器,通常做私服只需将其删除即可,也就是说并不是GATE服务器要亮4个灯才正常,这是很多朋友
的误区.
login服务器 TCP协议连接GATE的3050
TGS服务器 TCP协议连接DB的3051 其中还有一些物品记录服务器等.
再讲每个服务器中的配置.
Balance服务器 目录中的balance.ini中配置
[BALANCE]
TCPLOCALPORT=3053
UDPLOCALPORT=3030
基本不需要修改,若你想开启一机双线,那就要双开balance和GATE,
若需要一机多区,就要双开balance,GATE,TGS。
这也就是克星一机多区的工作原理.
但是官方原版的balance服务器并不读取balance中的TCP协议中设置的端口,也就是你即使设置4053
他一样是在3053工作.但是UDP协议中的3030是读取的,克星就是改写了balance服务器,让他可以从
配置文件中读取用户所设置的端口来实现一机多区的.
如果你想不使用克星工具实现一机多区,应该做以下设置.
复制另一份balance出来,打开balance.ini修改
[BALANCE]
TCPLOCALPORT=4053
UDPLOCALPORT=4030
这里修改后注意GATE.ini中UDP协议3030端口为4030
然后打开UE,查找ED0B修改为D50F.注意,有很多个,修改最后一个就可以了.这样他就在4053端口监听了.
题外话:很多朋友很不理解16进制编辑.这里我给大家稍微讲一下.
打开windows自带的计算器,选择查看-科学型,然后选择10进制
按下3053,再选择为16进制,你会发现3053在16进制中显示为BED
但是为什么要查找ED0B呢,因为在程序中这些东西都是反写的,
以两个字母为一个单位,也就是说假如为6D2E,你在查找是应该找2E6D
若是奇数就要加一个0来补齐.
再来看看DB服务器。
DB服务器下目录比较多,我们一个个来讲
backup目录本身DB服务器不产生,也不在他的目录下增加任何文件,
根据笔者猜测,他应该官方工作人员用来备份服务器资料的一个目录.删除也没什么关系.
log目录,web目录,均是记录玩家的情况
userdata下是记录当天上线所有玩家的资料,同时,当你点击DB服务器中的backup按钮时
他会在这个目录中产生一个备份文件,但是这个备份文件不要当作人物资料来用,具体原因
还不太明白,只知道会导致玩家元气永远比原来差一些的问题.
DB.exe,这个文件是DB服务器文件,没什么好讲的,说说他的按钮吧.
reload,字面意思是重新读取,具体作用未做测试.
addrecord,增加用户数量.也就是DB默认的建立最大人物资料为10000,若你服务器人气很高,
到最后玩家无法建立新角色的时候,点击这个按钮,增加数据库容量就可以了.
save today.sdb,存盘当天玩家上线记录.
back up,备份数据库,备份的数据库会产生在userdata目录下.
DB.ini,DB服务器配置文件.
[DB_SERVER] 明确服务器名称.
FileName=testdb.fdb 数据库名称.运行DB服务器后会产生一个以这个为名的数据库,但以数字区别.
BufferSizeS2S=1048576 数据库的规格
GateAcceptPort=3051 DB与GATE连接的端口.TCP协议.
RemotePort=1024 接收端口.应该是玩家下线后TGS与DB连接的端口.
ItemRemotePort=1020 似乎是物品记录端口,但是实际上物品记录端口在TGS下.
IPList.txt文件.
记录远程GATE连接的IP.一般设置为127.0.0.1
remoteip.txt文件.
记录远程TGS连接的IP.一般设置为127.0.0.1
ModifyMagic.txt文件.
感觉目前似乎没有用到.具体作用有待补充.
GATE服务器.
log目录,记录目录.
CreateChar.txt文件,定义新手出生身上所带物品,但不可定义段位,不可定义数量.
[CLOTHES]
CLOTHES_COAT_MAN=男子上衣 男子新手出生后所拥有上衣.
CLOTHES_PANTS_MAN=男子短裤 男子新手出生后所拥有的裤子.
CLOTHES_COAT_WOMAN=女子上衣 女子新手出生后所拥有上衣.
CLOTHES_PANTS_WOMAN=女子短裤 女子新手出生后所拥有的裤子
[WEAPON]
WEAPON_SWORD=长剑 出生后拥有的剑 实际上即使不是此类物品也可以
WEAPON_KNIFE=长刀 出生后拥有的刀 实际上即使不是此类物品也可以
WEAPON_SPEAR=长枪 出生后拥有的枪 实际上即使不是此类物品也可以
WEAPON_AX=斧头 出生后拥有的斧 实际上即使不是此类物品也可以
[ETC]
ETC_01=五色药水 新手出生后拥有的物品1.这里要说一下
即使你定义为没有耐久的物品,他出生后还是会有耐久的.
即使你设置了ETC_02或03或着N+1都是不读取的.如果想要他读取除非去修改GATE主程序.
DontChar.txt 定义不允许建立的角色名.
gate.ini文件,GATE服务器配置文件.这里详细说一下.
[GATE_SERVER] 定义服务器名称
LOCALIP=127.0.0.1 定义对外IP
LOCALPORT=3054 定义与balance连接的端口
LIMITUSERCOUNT=500 定义玩家最大上线允许 0为不限制.
CHECKPAIDINFO=FALSE 是否收费服务器.
BALANCEIP=127.0.0.1 定义balance服务器IP
BALANCEPORT=3030 定义balance服务器端口.UDP协议.
SERVERNAME=test 定义服务器名
BUFFERSIZES2S=1048576 服务器缓冲.应该是这样,若讲错请指正,不胜感激
BUFFERSIZES2C=8192 新手村缓冲.应该是这样,若讲错请指正,不胜感激
[GAME_SERVER] 定义服务器名称
REMOTEIP=127.0.0.1 游戏主服务器IP地址,也就是TGS的IP地址.经典的3052漏洞就是这个.
REMOTEPORT=3052 游戏主服务器端口.一定要封.
[DB_SERVER] 定义服务器名称
REMOTEIP=127.0.0.1 人物资料服务器IP地址,也就是DB服务器的IP地址.
REMOTEPORT=3051 人物资料服务器端口,一定要封.
[LOGIN_SERVER] 定义服务器名称
REMOTEIP=127.0.0.1 登陆服务器IP地址.
REMOTEPORT=3050 登陆服务器端口
[PAID_SERVER] 定义服务器名称 (通常删除)
REMOTEIP=127.0.0.1 定义冲卡验证服务器IP地址 (通常删除)
REMOTEPORT=80 定义冲卡验证服务器端口 (通常删除)
tgs1000.acs文件。GATE的语言库。
Village.Ini文件。定义新手出生地图。这里讲一下。
[VILLAGE] 定义配置文件名
COUNT=1 定义新手村可选择的数量
NAME0=新手村 定义第一个新手村名称,其实并不读取,只是让技术员用来区别。
X0=178 第一个新手村X坐标
Y0=238 第一个新手村Y坐标
SERVERID0=0 第一个新手村的地图编号,对应TGS\INIT\MAP.SDB中的编号.
【千年tgs_luaQQ交流群:296880811 欢迎加入!】 资源仅提供学习,请勿用于商业!如网盘过期,请联系管理员处理。
千年技术社区微信公众号【千年圈、qnyouxi】上线,感谢关注获得更多资源!
{php} gxlfans_show($article);{/php}
相关文章
发表评论
评论列表
原来在这
讲解详细,感谢
顶顶顶顶