关于天龙八部服务端的启动顺序

2019年10月9日13:55:35 发表评论 18 views

天龙八部的登录与验证流程,熟悉的想必觉得很简单,于是乎对于还是希望入门的菜鸟来简单的说一下。

Login-Billing-World-Server。登录之时,客户端连接至服务端 Login这个进程,(各位知道,大体上一个程序服务的表示,便是以 IP:Port来标识的)所以,在服务端的Server/Config/Serverinfo.ini内便是定义了:Login服务器的IP:PORT,BIlling之IP:PORT,以及Word,Server之运行IP地址。
客户端连接服务器Login服务(按照IP与端口进行连接),Login连接至 Billing 进行账号验证。之后才会进入游戏Server服务。其地址之标识,其实里面写得清清楚楚。所以,服务端的启动顺序,应该是:
Billing-shm-world-login-server

1、win下的架设。

其实这是非常简单且非常没有技术性的一步。一直下一步便可建立一个数据库,而此时这不过是一个空的数据库。故需要导入搜狐的账号数据表。就是那两个 .dmp的文件了。
之后,便是建立用户,授权与管理。同学们知道,关系数据库其实是一个比较复杂的东西。之所以需要 tlbb  tl_gameuser tlbb_read这三个用户,当是在服务端默认Billing/etc/gbs.conf  文件之故。
较之于常见数据库密码 二 iernei37d,在服务端的密码却是 一长串也是md5加密之故,不信,你大可将iernei37d加密看看,是否一致。因此,密码改后,其对应之处,填上md5加密之密码即可。

2、Linux下的东西依然也是很简单。

用GUI进linux是很二的行为,而用winscp进行文件的编辑后上传也是很二的行为。MYSQL也完全可以用rpm包来安装,当介于as 4实在太老,为保证其兼容或完整性,才采用源码编译的方式。、
如同oracle数据库的管理。除却那个操纵一切大权的root账号之外,还需要有用做其他的账号。比如,gm工具的。

MySQL验证一个用户是否合法的过程。首先是验证其连接IP是否允许,然后才是账号与密码。然后才会判定其对于数据库,对于数据表的权限。
mysql.db mysql.user 两个数据表内便是用户的设置,你完全可以在你的电脑上用navicat来进行图形化的编辑,前提是你已经对那个IP做了授权。

3、登录器之转发

直联的时候你的数据是直接发往login的ip与端口,然后进入Sever 的Ip与端口,转发就是拐了个弯而已。

为什么登录器会随机把你的列表内变成  127.0.0.1:random 端口呢?其实就相当于你启动game.exe的时候,把数据发到 127.0.0.1:端口 处,然后登录器收到数据口根据列表地址进行数据的传输。而接受到的数据可以再次转发这样子滴。

一个服务器几条线就是这样得来的,但最终的目的地都指向同一个地址。
官方的做法是将游戏的场景放在好几个服务器上的,其定义是在 SceneInfo.ini内!!

其实这两个东西照着教程做,大多不会出错,但知其然而不知其所以然是一个很恐怖的事情。但不惜时间探个究竟还是值得的。

且开服务端配置之设置,地球人都知道,但是我知道很多人不知道。这是天3 or  港端。



[System]
Desc0=功能:配置服务器端程序的相关情况;
Desc1=IP0、Port0指外网的地址和端口;
Desc2=IP1、Port1指内网的地址和端口;
Desc3=Type:Game=0;Login=1;

CurrentServerID=0                   --当前服务器,应该是在Login还是World启动的时候你会看到
ServerNumber=2                           --服务器数。其实就是说一个是登录,一个是游戏,仅此而已

EnableEffAudit=0
EffAuditSaveResultInterval=0
EffAuditReportInterval=0

EnableEffAuditSceneID_1ST=0
EnableEffAuditSceneID_2ND=0
EnableEffAuditSceneID_3RD=0
EnableEffAuditSceneID_3RD=0

[Mother]
IP=。。。。。           --这个还一直不知道怎么说这是什么ip
Port=0

[World]
IP=.....                        --如你所愿,是这world,如果错了,我想,在login启动的时候应该是启动不了的。
Port=777

[Billing]
Number=1
IP0=。。。                 --这链接的就是你win下的oracle数据库了(天3 其实比较简单)
Port0=12680
IP1=0.0.0.0
Port1=10101
IP2=0.0.0.0
Port2=10101
IP3=0.0.0.0
Port3=10101
IP4=0.0.0.0
Port4=10101

[Proxy]
Proxy0ForCncUser= 127.0.0.1
;Proxy1ForCncUser=127.0.0.1
Proxy0ForCtcUser=127.0.0.1
;Proxy1ForCtcUser=127.0.0.1
Proxy0ForEduUser= 127.0.0.1
;Proxy1ForEduUser=127.0.0.1

[Server0]
ServerID=0
MachineID=0
IP0=124.232.140.36
Port0=24501
IP1=124.232.140.36
Port1=8880
Type=0                                --这个类型,如果是1,那么,你登录器列表就是这个地址与端口
IP(CNC)= 0.0.0.0
Port(CNC)=1000
IP(CTC)=0.0.0.0
Port(CTC)=0
IP(EDU)= 0.0.0.0
Port(EDU)=1000
HumanSMKey=1001
PlayShopSMKey=4001
ItemSerialKey=7001
CommisionShopKey=6001
EnableShareMem=1

[Server1]
ServerID=2
MachineID=0
IP0=124.232.140.36
Port0=7377
IP1=124.232.140.36
Port1=8882
Type=1
IP(CNC)= 0.0.0.0
Port(CNC)=1000
IP(CTC)=0.0.0.0
Port(CTC)=0
IP(EDU)= 0.0.0.0
Port(EDU)=1000
HumanSMKey=1003
PlayShopSMKey=4003
ItemSerialKey=7003
CommisionShopKey=6003
EnableShareMem=0

 

历史上的今天

  1. 2017:  org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/springMVC-servlet.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/springMVC-servlet.xml](0)
  2. 2017:  centos7搭建javaweb服务器tomcat(0)
  3. 2017:  Centos 7防火墙firewalld的一些资料(1)


欢迎来到菜鸟头头的个人博客,下方有我的微信二维码,对互联网感兴趣或有共同爱好的朋友,可加个好友一起交流学习。
本文章百度已收录,若发现本站有任何侵犯您利益的内容,请及时邮件或留言联系,我会第一时间删除所有相关内容。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: