网络架构:
我们玩的网络游戏一般是使用“客户端-登录器-服务端”的网络架构,魔兽世界正是如此。上个图:
魔兽世界主要目录结构: Wow.exe 玻璃渣原版登录器 Launcher.exe 国服登录器,集成网站公告,更新检查,修复等多项功能。 Data 核心版本数据,包括3D模型等,是最重要也是最大的文件夹。(14G) WTK 游戏的配置数据文件夹 Update 不明,猜测是记录游戏版本,更新的时候执行调用。 Cache 游戏数据缓存目录 登录器原理: 首先简单地理解,每个电脑(服务器)有一个IP地址,登录器要做的就是引导登录到特定的IP地址,我们单机服务器就是制定进入本机IP。如果我们搭建的是局域网,就弄一个登录器局域网指向自己的IP。如图:
服务端架构: 先上个图,我们慢慢分析:
首先用户通过网络登录服务端,主要是使用在线网站和玩在线游戏。 在线网站是由“Web服务器软件”提供的,有apache、nginx等。 在线游戏是由“mangos引擎”加上广大游戏爱好者DIY出来的。
我们的两个服务都是搭建在数据库之上的。 在线网站,用户帐号申请等,可以通过在线网站对数据库进行修改。 在线游戏,游戏的装备数据,角色数据等,都是对数据库的操作。
除了 “用户-在线网站-数据库”“用户-在线游戏-数据库” 我们还可以通过数据库工具直接对数据进行操作,即“用户-数据库工具-数据库”。 一般用在添加新装备。 服务端文件目录: web_server 在线网站文件夹,子目录就以C大昨晚两点发布的传说中第4代讲解 web_serverphp 最常用的PHP网络编程语言支持。 web_server ginx C大大用了nginx作为Web服务器软件。 web_servermysql mysql数据库,要注意的是之前如果有在用MySQL的话,记得在我们启动游戏的时候在windows服务里面关闭掉,否则启动游戏数据库可能不成功。 web_serverhtdocs 在线网站的文件夹。 web_serveretc C大大很有爱地把各种配置文件整理放置在这个文件夹,重启服务器之后,这里的配置文件会覆盖掉原来的,也就是说要修改配置请修改这里的。 web_serverweb_server.exe 这个就是一键启动在线网站和MySQL的可执行程序了。 web_server eadme.txt 当然,这个是我最喜欢的一个东西,大爱。
wow_server 在线游戏文件夹,这个我还吃不太透,就挑着说了。首先它有mangos的引擎程序,们。 wow_serverdbc、maps、vmaps 不明,猜测是DIY的版本数据,副本啊,任务啊,神马的。 wow_serverauthserver.exe 这个是启动网关,登录用的。(感谢芒果群-狸猫为我讲解) wow_serverworldserver.exe 这个是启动在线游戏服务端,(话说,占用了600M的内存...)
写在最后: 最后,大大们都为我们做好了一切,我们只要: 1.打开数据库, 2.打开网关程序, 3.启动游戏服务端。
|