Ascent代码分析1-运行环境架设

本文介绍了Ascent,一个魔兽世界服务器模拟器项目,重点讨论其代码结构和运行环境的搭建。文章涵盖了LogonServer、RealmServer和World服务器的角色,以及数据库、脚本和资源的配置。还提到了数据库accounts、character和world的使用,以及 Moon++、AspireDev等脚本代码库。在编译和运行过程中,涉及到了VC2008、MySQL、DBC导出工具等的使用。
摘要由CSDN通过智能技术生成

Ascent是一个魔兽世界服务器的模拟器开源项目,也就是现在使用的比较广泛的魔兽世界私服之一(还有个就是Mangos,Ascent的性能相对较高,有私服广告称,四核服务器能带1000玩家,根据其他人的反应应该差距不会太大。另外感觉ascent的代码相对mangos实现较为简洁易懂,所以稍微研究一下。

程序主要有LogonServer,RealmServer,voicechat,world四个。(Voicechat顾名思义,应该是只管语音聊天的,不管他了先。)
实际上只需要LogonServer和world就可以运行。
LogonServer是登录服务器,RealmServer是区域服务器(如一区的卡德罗斯服务器),world则是游戏世界服务器。
    当玩家登陆时,先由LogonServer验证密码并生成一个SessionKey,然后如果启动RealmServer就返回注册的战区列表,选择服务器后连接相应的world服务器.world会向LogonServer索取用户的Session信息进行认证。
    World中基本不包含游戏逻辑和数据,只提供一些接口。脚本都以动态库的形式实现。当服务器启动时会搜索脚本目录中的脚本动态库,并加载安装。
    数据库一般有三个:accounts,character和world.就是帐号、角色和世界数据库.当然如果不怕乱也可以放在一个数据库里。

因为暴雪曾对其采取过法律手段打击,所以目前程序、脚本、数据库、资源被分为多个项目分别开发.在这里只是关心服务器代码架构学习研究,对游戏内容没有特别研究。

下面列出了大概的环境搭建步骤大方向和相关资源,其中可能有些细节比较繁琐没有仔细说明(比如配置),baidu或者google应该也能轻松解决。

另外我使用的是vc2008vista系统中没有问题,其他版本没有尝试,可能会有些问题。

 

代码分析将陆续完成,因为我是新人,技术水平和表达能力有限~欢迎拍砖

 

代码:

这里的是纯粹的服务器代码,源地址:

http://mmoforge.org/svn/ascent/ 

用户名:anonymous,密码:空  可以使用svn工具(Tortoise SVN)获取.这里强烈推荐安装一个Tortoise SVN,获取各种开源代码都十分方便,后面的很多资源也都是用SVN获取。

另外需要pcre,zlibmysqlOpenSSL几个库,在branches/3_8_stable/dep/

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值