tfblc 发表于 2012-6-11 22:44:07

关于天龙八部

本帖最后由 tfblc 于 2012-6-11 22:48 编辑

最近无聊,折腾了下天龙,其实早在去年就已经无聊的时候玩过,但后面工作就没时间了,现在无聊就继续玩了。
或许是诸位大能们无暇理会菜鸟们的问题,于是还是有很多同学徘徊在自己架服的边缘。其实,这不是什么困难的事情,真的不是什么困难的事情。想要让一个服务端运行起来,真的是一个比较简单的问题。具体怎么样,且不再说。
习惯了怎么样做,但往往不去追其究竟为什么会那样做,一键端个人认为是一个非常二的行为。其臃肿,耗资源大,时间,真的不是什么好东西。当然,其提供的东西工具是非常的有用的。

天龙八部的登录与验证流程,熟悉的想必觉得很简单,于是乎对于还是希望入门的菜鸟来简单的说一下。
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的文件了。
之后,便是建立用户,授权与管理。同学们知道,关系数据库其实是一个比较复杂的东西。之所以需要 tlbbtl_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港端。


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


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


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


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


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


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


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欢迎各位同学的交流。

送上相关软件地址:

http://115.com/folder/fc38s6m7

tfblc 发表于 2012-6-12 15:42:57

我kao,没人回啊?

寂丨灭灬瞬间 发表于 2012-6-15 07:54:45

楼主写的太高深了,小白看不懂

踏雪寻梦 发表于 2012-6-16 15:02:27

有点晕啊

bearonexy 发表于 2012-6-16 17:54:19

知识贴很赞!

在架设的时候是会去想一些问题。希望高手们多发指导贴。

ldcwr 发表于 2013-3-28 10:19:06

linux 挺好用的,不过win更深入人心罢了

tianlong133 发表于 2013-4-27 21:48:55

LZ有没有decode.exe和补丁制作软件?

白菜瘦肉ZHOU 发表于 2014-1-9 13:36:23

其实看不太懂好吧不明觉厉

韩中男孩a 发表于 2014-2-4 20:25:07

高手,对SF的理解比一般人透彻

风还是那么凉 发表于 2016-1-10 20:19:25

实在搞不懂。不是学计算机的太高深
页: [1]
查看完整版本: 关于天龙八部

本站内容如若侵犯到您的权益,请来电来函告知,我们会尽快处理!
联系QQ:1953150286,2251387361,123784736,免责申明