`
jiasudu1649
  • 浏览: 722888 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

开源的魔兽世界

阅读更多

http://hi.baidu.com/sempiternal/blog/item/219bde07af7a74ce7a894750.html

在sourceforge上开发的mangos (Ma ssive N etwork G ame O bject S erver) 项目是基于GPL协议的。据说是和魔兽世界独立无关的网络游戏服务器引擎程序。游戏的内容部分(数据库内容)又是由独立的小组开发的,这样也许避免了很多 法律上的问题。但是大多数魔兽世界的盈利的私服都是基于这个开源的项目的,为此开发小组表示这样盈利性质的服务器和对他们项目的使用是违背协议和非法的。

本文 是对mangos作了一个粗略的介绍,并且使用了魔兽世界的客户端对mangos作了一些测试。

正文如下:

开源社区常常有很多出人意表的项目,让人往往击节叹赏。例如当年在普通PC电脑上虚拟运行苹果机系统的Pearpc 。把微软游戏机xbox改装成家庭影音中心的xbox-media center ,以及在ipod上安装linux的ipodlinux 等项目。在电脑游戏方面当然也有很多出色的开源项目。

暴雪公司的游戏历来都是精品。网络游戏大热以后,它推出的基于10年游戏历史的网游:《魔兽世界》也更是名声在外(当然有好有坏,坏名声在于它太吸引 人以致 于很多人沉湎其中)。网络游戏的盈利模式和传统电脑游戏不同,月费和其他的周边产品使得其赢利空间远远大于传统电脑游戏。对于网游运营商来说很大的一个问 题是私服的问题。很多私服的软件是从网游开发公司或者运营公司内部非法的流出来的,比如说网游《仙境传说》的私服。

而现在大多数魔兽世界 的“私服”实际上是服务端软件的模拟器。是在对客户端游戏软件和与服务端的进行通信的数据进行分析解密以后,开发出来的模拟原游戏服务器功能的软件,这样 的模拟器软件大都也是开源软件。比如像现在大部分魔兽私服使用的Mangos服务端软件,mangos项目是一个开源的自由软件(如同linux或者 firefox),并且遵守其中最为严格的GPL协议。

  MaNGOS 是(Ma ssive N etwork G ame O bject S erver) 的缩写。由于暴雪公司对类似的开发小组采取过一些法律行动。为了避免麻烦,如同它的名字,mangos强调自己并非一个魔兽服务器模拟器,而是一个开源的 多人在线游戏服务器的软件。说到底是个网游的游戏引擎。Mangos开发小组强调其软件是用c++和C#编程语言,实现 的一个支持大型多人在线角色扮演游戏服务器的程序框架,在这个框架下,它理论上应该支持任何客户端的网络游戏,由于现在很多人使用魔兽世界来对它进行测 试,所以针对魔兽世界的脚本和数据库文件比较完善,很多人就利用这个开源项目来实现魔兽私服。而游戏的内容,例如故事情节,任务场景的脚本等都是由别的小 组独立开发的。

开发小组一再强调,这是个研究,教育性质的对怎样开发大型网游的服务器端有好处的项目,是一个技术细节毫无保留向公众开放的软件,是一件很有 意义的事情,如果你使用它作为盈利目的,那你本身就违反了软件的协议。所以任何利用mangos项目进行私服活动的组织和个人都违反了mangos的宗 旨,mangos项目也不会对它们负责。

mangos的技术细节上是这样的,核心部分是个和特定游戏没有关系的核心框架程序,主要是进行进程调度,创造世界,建立心跳机制,处理网络接入 等。数据库可以使用的开源数据库软件MySQL。至于游戏内容数据库,游戏人物,时间,世界脚本,都是由这个核心程序所支持的扩展 脚本来实现,所以有一些独立出来的项目专门模拟魔兽世界来开发支持mangos的核心程序。现在mangos的核心程序已经放到著名的协同开发网站 sourceforge上开发了,使用的开发工具是subversion。大家都可以从sourceforge的subversion数据库中下载最新的 源代码程序。


为了测试这个Mangos我自己安装了一个测试了以下,自己对魔兽世界的游戏本身没有太多的了解,请了几个玩过魔兽世界的朋友测试了一下,都说各方面 已经很 完美了。最新的Mangos项目已经支持了魔兽世界的扩展版“燃烧的远征”,简称TBC,对应的魔兽客户端版本到了2.0以上。以下的安装测试步骤适用于 魔兽世界客户端1.12.x的版本。

一、安装需求:

  1. 操作系统Windows Xp,解压软件推荐7-zip 。(mangos论坛上有人在linux,macosx上安装,为了提取地图方便这里使用windows XP)
  2. 魔兽世界的客户端软件,升级到1.12.1版本以上。
  3. 编译好的Mangos二进制文件。(你也可以自己编译,我这里提供的是Mangos Rev 3462,3462是开发数据库的版本号),下载地址: http://filebeam.com/22b7839a746adbd95f3ac3853f3bf9ed
    http://www.megaupload.com/?d=T0SGUOQB
  4. 地图提取工具ad.exe(这个地图提取工具是专门针对1.12.x版本的客户端的,TBC需要比较新的ad.exe,TBC的地图提取工具不适用老版本的地图),下载地址:http://www.megaupload.com/?d=DZW472B4
  5. mpq文件包提取工具MPQE_1.2.rar,暴雪公司的游戏都采用一种叫mpq的文件格式,是M ike O' Brien Pack 的缩写,这个Mike就是暴雪公司的首席游戏程序开发人员,和创始者。我们需要使用mpqe.exe从客户端里提取相关文件。下载地址:
    http://www.megaupload.com/?d=VL2DXHXW
  6. 开源数据库软件MySql
    官网:MySQL
    或者用我下载的版本:http://www.megaupload.com/?d=ODYRBWSF
  7. MySQL的客户端软件SQLyog,编译管理操作数据库
    官网:here
    我下载的版本5.30:http://www.megaupload.com/?d=DD0LK19H
  8. 游戏内容数据库,配合Mangos Rev 3462的版本。
    文件名:CompleteSDB156-Mangos3462.rar
    下载地址:
    http://www.megaupload.com/?d=0EME2U4Y

二、安装MySQL数据库,以及SQLyog客户端

  1. 点击安装文件选择典型安装(Typical)
  2. 配置数据库服务器"Configure the MySQL Server Now",选择标准配置"Standard Configuration"。
  3. 确认安装成windows的服务程序和自动启动服务"Install as Windows Service"、"Launch the MySQL Server Automatically"。
  4. 输入你的root用户的密码。可以打开的使用root远程管理数据库的选项,便于远程管理,和链接。
  5. 应用你的设置。
  6. 点击安装SQLyog的安装文件,安装到缺省路径,运行SQLyog。
  7. 当SQLyog运行后,需要输入以下信息:
    • MySQL主机地址:可以输入你的本机IP地址或者"localhost"。
    • 用户名(UserName):root
    • 密码(Password):在第4步里面你配置的密码。
    • 数据库(database(s))输入:"realmd;mangos"
  • 点击连接,这样客户端就连接到你的MySQL数据库服务器上了。
  • 在左边一栏右键点击“root@localhost”,选择建立数据库"Create Database"。
  • 当提示输入数据库名称的时候输入:"mangos"。
  • 重复第9,10步建立数据库"realmd"。 三、安装Mangos服务器,配置路径
    1. 建立一个目录,例如:"C:\MaNGOS"
    2. 把你下载的mangos的二进制文件解压到这个目录里面。
    3. 检查你的两个重要的服务器配置文件:“ mangosd .conf”和“realmd.conf”。其中“mangosd .conf”里面可以配置物品,金钱的掉落率,经验值的增长率等等。
    四、解压安装地图文件
    1. 把ad.exe放在魔兽世界的安装目录下,例如("C:\World of Warcraft")
    2. 建立一个子目录叫maps,结构为:("C:\World of Warcraft\maps")
    3. 运行ad.exe文件。耐心等待ad.exe把魔兽世界的地图信息提取到maps目录下。
    4. 将maps子目录拷贝到"C:\MaNGOS"目录下,结构为:"C:\MaNGOS\maps",里面的地图文件大概有2400多个。
    5. 可以安全的删除"C:\World of Warcraft"下的maps子目录了。
    五、解压安装提取的*.dbc文件
    1. 在你的mangos的安装目录下建立dbc子目录,结构为:("C:\MaNGOS\dbc")
    2. 为了将暴雪公司的mpq文件的内容解压出来,将提取工具mpqe.exe拷贝在魔兽世界安装目录的data目录下,结构为:("C:\World of Warcraft\data")
    3. 打开dos窗口,进入魔兽世界的data目录(cd "C:\World of Warcraft\data")。
    4. 执行以下命令:
      mpqe /p dbc.MPQ DBFilesClient\*.dbc
    5. mpqe工具将魔兽的游戏信息提取到了\MPQOUT\DBFilesClient目录下,整个结构为:("C:\World of Warcraft\data\MPQOUT\DBFilesClient")
    6. 当mpqe运行结束后,可以将所有的*.dbc拷贝到你的mangos的dbc目录下:("C:\MaNGOS\dbc"),你大概有158个*.dbc文件。
    7. 你可以安全删除魔兽世界下的dbc文件目录:("C:\World of Warcraft\data\MPQOUT")了。
    七、下载安装数据库内容,前文说过,mangos只是游戏引擎,游戏的内容,建立的数据库由独立小组开发,我们这里使用著名的Silver's Database Site的库。版本号为SDB156.
    1. 将下载的CompleteSDB156-Mangos3462.rar文件解压,里面有几个数据库文件。找到其中“realm-database-full.sql”和“mangos-full-for-rev3462.sql”文件。
    2. 使用SQLyog连接到你的数据库。
    3. 在左栏找到realmd ,点击右键选择"Restore from SQL Dump",找到“realm-database-full.sql”,导入数据库文件。
    4. 同样找到mangos, 点击右键选择"Restore from SQL Dump",找到“mangos-full-for-rev3462.sql”,导入数据库文件。
    八、配置数据库,配置文件,运行开源魔兽服务器!本文只为测试游戏,在局域网中玩。
    1. 使用SQLyog连接到你的数据库。
    2. 找到realmd,展开找到"realmlist"选项。
    3. 在右下找到"Table Data"。
    4. 在name一项填入你的服务器名字,例如叫faif
    5. 在地址address一项可以使用"localhost" 或者你的IP地址。
    6. 在realmd数据库下找到account表,点击"Table Data",建立你的游戏帐号,里面已经由几个内置的帐号,你可以参照gm,普通玩家的 帐号建立 你的用户名,密码。
    7. 在mangos目录下打开realmd.conf 文件,找到
      "LoginDatabaseInfo ="
      改为:"LoginDatabaseInfo = "127.0.0.1;3306;root;[password ];realmd"
      这里的IP地址可以是你的IP,[password ]是你的密码。存盘。
    8. 在mangos目录下打开mangosd .conf 文件,找到如下的内容,并设置如下:
      • DataDir = "."
      • WorldDatabaseInfo = "127.0.0.1;3306;root;[password ];mangos"
      • LoginDatabaseInfo = "127.0.0.1;3306;root;[password ];realmd"
    同样,这里的IP地址可以是你的IP,[password ]是你的密码。存盘。
  • 到这里基本就大功告成了。先运行realmd.exe文件,稍等,运行mangosd .exe,魔兽服务器就已经运行了。
  • 连接到你的魔兽服务器,修改你的魔兽世界客户端的realmlist.wtf 的文件,将127.0.0.1 ,或者你的IP地址填在里面,例如:"set realmlist 127.0.0.1"   到此为止,开源的魔兽服务器就架设成功了,我给朋友建立了几个gm帐号,他们测试了一下,觉得这个版本的做的很不错了,开源的宗旨是知识的分享,开源社区黑客们的探索精神页不得不让人佩服。
  • 分享到:
    评论

    相关推荐

      开源的魔兽世界参考架构——mangos

      ### 开源魔兽世界服务器架构——mangos #### 一、引言 随着网络游戏的兴起和发展,越来越多的人开始关注网络游戏背后的服务器架构和技术实现。暴雪娱乐的《魔兽世界》作为一款全球知名的大型多人在线角色扮演游戏...

      mangos开源魔兽世界服务器代码

      《mangos开源魔兽世界服务器代码详解》 在IT领域,尤其是游戏开发和服务器编程方面,mangos项目是一个不容忽视的重要存在。mangos是一个开源的、基于Linux的魔兽世界服务器实现,它允许开发者和爱好者研究、学习...

      开源魔兽争霸源代码Stratagus

      Stratagus是一款开源的即时战略(RTS)游戏引擎,其设计灵感来源于经典的《魔兽争霸》。这个项目的核心目标是为开发者和爱好者提供一个可自定义、可扩展的游戏平台,让他们能够创建自己的策略游戏,或者对现有的游戏...

      魔兽世界网站WoWFailureCMS

      《魔兽世界网站WoWFailureCMS详解》 在深入探讨WoWFailureCMS之前,我们首先要理解的是,魔兽世界(World of Warcraft,简称WoW)是一款由暴雪娱乐开发并发行的大型多人在线角色扮演游戏,自2004年发布以来,吸引了...

      DirectX版本的WOW魔兽世界游戏客户端源码.zip

      这个"DirectX版本的WOW魔兽世界游戏客户端源码.zip"文件很可能包含的是魔兽世界游戏客户端的部分源代码,这些源代码可能涉及到了DirectX的使用,用于游戏的图形渲染、音频处理以及与玩家输入设备的交互。源码分析...

      bnade, 魔兽世界拍卖行相关数据的查询和分析.zip

      《bnade:魔兽世界拍卖行数据的开源查询与分析》 在魔兽世界这款大型多人在线角色扮演游戏(MMORPG)中,拍卖行是玩家交易物品的重要场所。bnade 是一个开源项目,专注于提供魔兽世界拍卖行相关数据的查询和分析...

      C# 编写的魔兽挂,开源

      魔兽挂,即魔兽世界的自动化脚本或插件,它们通常用于帮助玩家完成重复性任务,如自动打怪、采集资源等。这个开源的C#魔兽挂项目,无疑为开发者提供了一个深入理解游戏客户端自动化、多线程处理、网络通信以及游戏...

      魔兽世界(WOW)3.13版本源码2

      魔兽世界(WOW)3.13版本的源码,大家可以看看,挺不错的东西

      魔兽世界 源码 part2

      客户端版本:3.1.3(10146) 只能校验zhCN登录文件,不可选其它语种 由于战网对reamlist服务程序作了专门改动,所以连不上官网,只能连私服。 服务器ip设置方法1: 下载登录器运行一次。 服务器ip设置方法2: ...

      CypherCore:CypherCore是用C#编写的《魔兽世界》的开源服务器项目。 支持的游戏版本:9.0.2.37176

      密码核心 CypherCore是用C#编写的《魔兽世界》的开源服务器项目。 当前的支持游戏版本是:9.0.2.37474先决条件带有.NET 5.0的Visual Studio 2019Mysql Database 5.6或更高版本服务器设置下载并编译提取器运行wow...

      server, Mangos一个是魔兽世界的服务器.zip

      server, Mangos一个是魔兽世界的服务器 生成状态:Linux Windows Codacy状态 燃烧远征分支是魔兽世界的一个魔兽世界服务器,它拥有燃烧革命它是开源项目,内置于 C ,它是快速运行的,可以在多个平台上存储游戏数

      魔兽世界服务器Arcemu.zip

      Arcemu是开源的魔兽世界服务器,与x86兼容(包括奔腾®和Athlon™),AMD64兼容,和PowerPC兼容。它由一个团队来开发和维护。服务器由C 实现并提供先进的网络性能,以及游戏中反黑客的安全和独特的功能。

      魔兽世界模拟服务器源代码

      芒果的魔兽服务器源码,国内大部分服务器开发人员参考过里面的代码,使用C++书写,不适合初学者。好东西不敢独享,拿出来分享。(ps:密码在解压界面右边)

      WOW插件制作指南PDF+WOW魔兽世界的APIs教程。

      在魔兽世界(WOW)中,插件是玩家用来增强游戏体验的重要工具。它们可以提供各种功能,如自动化任务、增强界面、统计战斗数据等。本指南将带你深入理解WOW插件的制作过程,并介绍如何利用WOW的APIs(应用程序编程...

      魔兽世界模型察看器4.8e(含源码)

      《魔兽世界模型察看器4.8e:游戏编程与模型解析》 魔兽世界模型察看器4.8e是一款专为《魔兽世界》爱好者和游戏开发者设计的工具,它提供了查看和分析游戏内模型的功能,同时也包含了源代码,使得开发者能够深入理解...

      Laravel开发-trinitycore-auth

      Trinity Core,另一方面,是一个流行的开源魔兽世界服务器端实现。它通常用于创建和维护私人魔兽世界服务器,允许玩家在非官方环境中体验游戏。Trinity Core与Laravel的结合,意味着我们可以利用Laravel的强大力量来...

      服务器配置文件中文说明.rar

      在IT领域,尤其是游戏服务器管理中,Mangos是一个非常知名的开源魔兽世界模拟器。它允许玩家在私人服务器上运行魔兽世界游戏环境。配置文件是Mangos服务器的核心组成部分,它们定义了服务器的行为、规则以及各种参数...

      Pegasus Wow Bot:目标是尝试开发一个不可检测的魔兽世界机器人。-开源

      一年前,在我的最后一个假期中,我挑战自己制作一个不可检测的魔兽世界机器人,它可以在没有人为干预的情况下旅行。 我看过人们这样做的视频,所以我决定我必须尝试自己制作它,作为一个纯粹的挑战。 我做到了。 ...

      AfenarUI, 魔兽世界用户界面.zip

      AfenarUI, 魔兽世界用户界面 | |工程师:如果你想支持我的热情 ^_^:PayPal - https://www.paypal.me/AfenarWMZ - Z208490309215| |你好,我的名字是 Afenar@Lich-King ( Wars

    Global site tag (gtag.js) - Google Analytics