ad208三国

 找回密码
 加入
搜索
热搜: 活动 交友 discuz
查看: 179|回复: 2

MaNGOS魔兽单机学习之路

[复制链接]
发表于 2024-3-27 11:56:07 | 显示全部楼层 |阅读模式

pc2g,电脑好游戏 以下文字转载自https://www.cnblogs.com/lmoonx/articles/9988454.html
最近看到各种学习的伙伴想学习MaNGOS的技术,但不知道怎么入手,于是我整理了一下,希望对大家有帮助。
如果了解过各个芒果团队的人,看下图就更清晰了。(绿色底色的是表示有专业团队维护)
<ignore_js_op>

一、大芒果 MaNGOS是什么
        首先mangos项目是一个开源的自由软件(如同linux或者firefox),并且遵守其中最为严格的GPL协议,也就是保证源代码绝对的自由,要了解什么是开源软件,自由软件请自己搜索这方面的资料。其次开发小组一再强调,这是个研究,教育性质的对怎样开发大型网游的服务器端有好处的项目,是一个技术细节毫无保留向公众开放的软件,是一件很有意义的事情,如果你使用它作为盈利目的,那你本身就违反了软件的协议。所以任何利用mangos项目进行私服活动的组织和个人都违反了mangos的宗旨,mangos项目也不会对它们负责。
mangos的技术细节上是这样的,核心部分是个和特定游戏没有关系的核心框架程序,主要是进行进程调度,创造世界,建立心跳机制,处理网络接入等。数据库也是使用的开源数据库软件MySQL,编译器使用的是GCC。至于游戏内容数据库,游戏人物,时间,世界脚本,都是由这个核心程序所支持的扩展脚本来实现,所以有一些独立出来的项目专门模拟魔兽世界来开发支持mangos的核心程序。(参考百度百科 https://baike.baidu.com/item/Mangos/2115936?fr=aladdin)。
     但是我的服务端这么好,怎么能证明我的性能强劲呢?于是就找了魔兽世界作为研究例子。从客户端分析协议反算出来数据接口,于是变有了Zero、One、Two等版本,那mangos 为什么会维护魔兽世界的各个版本,而不是只有一个版本呢,从服务端的角度来看, wow 的各个版本可以看作不同的游戏。如 60 级和 70 级这两个相邻版本内容差异至少在 30% 以上,非相邻版本的差异性就更大了,所以很多 bugfix 需要各个版本重复做的。
     MaNGOS维护的版本目前有: 60地球时代,70TBC时代、80WLK时代、大灾变以及熊猫人5个版本。
     官网:https://www.getmangos.eu
     源码:https://github.com/mangos

    维护的版本代码:

    Mangos Zero - For Vanilla World of Warcraft 60
    Mangos One - For World of Warcraft: The Burning Crusade TBC
    Mangos Two - For World of Warcraft: The Wrath of the Lich King WLK
    Mangos Three - For World of Warcraft: The Cataclysm CTM
    Mangos Four - For World of Warcraft: Mists of Pandaria 熊猫人


二、CMaNGOS分离。
         在MaNGOS团队合作一段时间后,团队之间的一些成员意见出现了分歧。于是部分成员开始脱离MaNGOS,自行组成CMaNGOS团队,基础代码也是在MaNGOS分离出来的,然后独立维护。
        CMaNGOS维护的版本有三个,分别是:Classic 60年代、TBC 70、WoTLK 80年代。
        官网:https://cmangos.net
        源码:https://github.com/cmangos

三、TrinityCore建立
        在这个时候,MaNGOS已经发展得比较成熟了,但不够统一,于是UDB领袖人物Brian提出整合MANGOS、SD2、UDB、ACID以及各种补丁的新版本TrinityCore(俗称TC),并由MANGOS技术组骨干成员进行研发,在技术和经验上都有很好的保证 。
         TrinityCore维护的版本目前有2个,分别是:3.3.5a的WLK版本、master(7.3.2.25549)军团再临版本
        官网:https://www.trinitycore.org
        源码:https://github.com/TrinityCore

四、其他分支维护发展梳理
        1、Nostalrius(简称N服)(1.12.1地球时代)Elysium-project  
      魔兽世界最大的私服大约15万玩家,Nostalrius(下称N服),后来被暴雪娱乐以私服运营破坏了公司使用条款为由,正式起诉了N服的运营者,他们也无奈的宣布N服将被迫停服。在2016年4月10日服务器时间晚上11点,N服永久停服。但是N服要求暴雪重启怀旧服计划,如果嘉年华期间没有《魔兽世界》怀旧服的进一步消息,他们会重启怀旧服。暴雪在嘉年华结束后并没有给出确切消息,双方撕破脸皮。Nostalrius发布公告,将重启魔兽怀旧服,并公开所有的相关代码。同时将官推更名为“NostalriusBegins”,意为N服重新开始。
          N服为了避免法律纠纷,将源码和玩家合并到E服,高峰时段同时在线玩家达到了30500人。并建立了源码项目:
elysium-project。然而,暴增的人数让E服长期排队,日常排队2W+,E服要增设新的服务器。不过,Nostalrius对于合作并不满意,他们认为现在服务器的状态与他们的目标是相反的。他们的目标是能够获得暴雪官方服务器。但现在却从‘粉丝服务器’变成了‘盗版服务器’,Nostalrius肩负的是要求暴雪开启60怀旧服的责任,于是,出现了分歧之后,Nostalrius决定撤出。
          N服官网:https://en.nostalrius.org/
          E服源码:https://github.com/elysium-project

       2、LightsHope 项目
        在E服发展壮大之后,团队内部两位核心成员利用GM权限出售金币和装备。其中一位名叫Sheena,他被指挪用了2000欧元,约15557人民币的捐助资金,这本来是用于维持项目继续的款项,被Sheena用于了“个人经济需求”。于是部分技术骨干成员不满这种情况,在暂停服务器,COPY一份数据之后成立了新的项目LightsHope,肩负N服的使命继续前行。
       官网:https://lightshope.org
       源码:https://github.com/LightsHope 目前迁移到 https://github.com/lh-server/core

五、修复程度对比

       1.12.1版本   LH>classic>Zero
       代码规范性与友好性   TC > Mangos
       资源占用情况 LH > classic > ZERO
六、学习线路
       看到这里,相比大家已经对MaNGOS的恩怨已经了解得大概了。那学习的线路也可以很明确了,MaNGOS是基础,必须学的,至于你想学习那一个分支,就看你需求了。

好多资料都是在新闻看到,然后整理的,不对的地方,大家指出吧。
好的,下一节课:我们正式开始学习编译服务端教程。

所以无论学习哪个端,MaNGOS是必须,如果是入门我建议从MaNGOS ZERO开始吧,虽然其他版本有了一些改动,但大体上还是相似的。后续的教程也会以 MaNGOS ZERO 作为例子进行说明,服务器的编译有Windows和Linux多种,目前教程以Windows为主。

课程分三大类
基础课程规划:搭建起单机端,自己可以玩
中级课程规划:创建、修改任务、物品、NPC等常用需求(需要简单的数据库基础)
高级课程规划:自己用源码服务端、自定义法术等高级操作(需要C++与LUA基础)

其他优化版本:WLK版本 比较完善的有
TrinityCore
源码 https://github.com/TrinityCore


AzerothCore  
官网:http://www.azerothcore.org
源码:https://github.com/azerothcore/azerothcore-wotlk


SunwellCore
官网:https://sunwell.pl/

                                                                                                 MOON 2018-1-9
                大芒果技术QQ群:346428059
 楼主| 发表于 2024-3-27 12:06:42 | 显示全部楼层
献给玩1.12.X服务端朋友们 玩就玩爽
转载自http://www.mangoscn.com/forum.ph ... &extra=page%3D7

初始设置
.levelup 59
.learn all_crafts
.add 23162 11
.maxskill
.setskill 762 300 300
.modify money 9999999
.npc add
.respawn  刷新周围怪物
.lookup item

特别物品
.add 17182     萨弗拉斯,炎魔拉格纳罗斯之手
.add 19019     雷霆之怒,逐风者的祝福之剑
.add 22589     罗克迪洛尔,上古守护者的手杖
.add 17782     缚灵碎片护符
.add 13262     灰烬之剑
.add 23192     血色十字军战袍
.add 5421      炙热魔符

军衔
.honor add 100000

单刷技能
.Learn 15088 乱舞
.Learn 8358  法力之矛
.Learn 16362 风怒 4

buff技能
.aura 24425 赞达拉之魂
.aura 16609 酋长的祝福
.aura 22888 屠龙者的咆哮
.aura 22817 芬古斯的狂暴
.aura 22818 摩尔达的勇气
.aura 22820 斯里基克的机智
.aura 15366 风歌夜曲
.aura 22988 伊利丹之怒
.aura 24417 赞扎之光
.aura 8385  迅捷之风
.aura 18790 恶魔耐力

buff
.aura 13033 寒冰护体 4
.aura 10193 法力护盾 6
.aura 10901 真言盾   10

坐骑
黑色其拉共鸣水晶 21176

主城
传送到暴风城 .go -9065 434 94 0  
传送到铁炉堡 .go -5032 -819 495 0  
传送到达纳苏斯 .go 9961 2055 1329 1  
传送到奥格瑞玛 .go 1317 -4383 27 1  
传送到雷霆崖 .go -1391 140 23 1  
传送到幽暗城 .go 1909 235 53 0  

三小fb
通灵学院 .go 199 126 135 289
斯坦索姆 .go 3392 -3379 143 329
黑石深渊  .go 458.319977 26.52 -70.669998 230
厄运之槌   .go -4350.453125 1331.021606 159.233276 1  

团队fb
奥妮克希亚的巢穴  .go 30.68 -60.799999 -5.27 249
祖尔格拉布 .go -11916.520508 -1276.030396 85.384117 309
熔火之心 .go 1093.460083 -469.410004 -105.699997 409   
黑翼之巢 .go -7671 -1106.6 397 469  
安其拉废墟 .go -8418.501953 1505.941162 31.823208 509  
安其拉 .go -8212.002930 2034.474854 129.141342 531  
纳克萨玛斯 .go 3005.87 -3435.01 293.882 533

部落
2704        哈纳什                  武器大师
11870       阿基巴德                武器大师
11868       塞尤克                  武器大师
16621       伊利达                  武器大师
11869       安塞瓦                  武器大师
3042        萨尔克·狂暴图腾        战士训练师
3344        卡德里斯                萨满训练师
3352        奥玛克                  猎人训练师
3328        奥莫克                  盗贼训练师
16652       奎萨斯                  法师训练师
988         卡托什                  术士训练师
3036        凯姆·蛮鬃              德鲁伊训练师
6014        克塞拉                  牧师训练师

联盟
11866        伊琳尼雅·月火        武器大师
16773        哈戴尔                武器大师
11867        吴平                  武器大师
13084        比克斯                武器大师
11865        布里维夫·石拳        武器大师
16721        萨兰尼               德鲁伊训练师
5516         奥菲尔·铁须         猎人训练师
376          高阶牧师劳瑞娜       牧师训练师
5492         纯洁的凯瑟琳         圣骑士训练师
13283        托尼·罗曼           盗贼训练师
4087         阿雷亚斯塔·刃歌     战士训练师
5498         艾尔莎林             法师训练师
5496         山达尔               术士训练师
 楼主| 发表于 2024-3-27 15:01:25 | 显示全部楼层
手把手教你魔兽世界架设外网服务器(小白版)
https://zhuanlan.zhihu.com/p/609869574?utm_id=0
相信各位拿到一个优秀的魔兽端,在单机把玩一番之后,肯定都想着能不能假设一个外网服务器,然后让朋友们来到自己的服务器上玩耍,自己还能体会一下在众多凡人面前当神(GM)的乐趣。
网上这方面的教程有一些,但经过我的搜索,发现大多写的比较粗略,其中很多环节都是一句带过,很多小白看的云里雾里,根本看不明白。
好了,今天我就手把手,以逍遥魔兽335为例,图文并茂的为大家介绍一下如何搭建一个外网服务器。而且吧,这个服务器还不用你去网上买什么虚拟主机,就用自己的电脑,临时架设,和朋友们玩上一晚,就关机下线,不存在什么在线被攻击之类的安全隐患。(明天再玩?按照教程内容简单改改就可以)
好,下面就开始教程说明:
一、软硬件环境介绍:
本教程基于以下软硬件:
1、服务器
2、win7及以上操作系统
3、魔兽335版本
4、Navicat软件

服务端设置
1、启动魔兽335,点击“一键启动服务端”,并等待执行完毕

2、打开Navicat软件,按如图所示填写连接要素:

密码是“ascent”,如果没有被改动的话。
3、点击“确定”,如果各项信息填写正确,会进入如下界面,然后在“auth”库中找到“realmlist”表,双击打开,出现如图界面:

注意看这个新窗口,在上面的”address“字段里,将原来的“127.0.0.1”,改为你当前的公网IP,你当前的公网IP有可以直接百度“ip”获得,也可以从你的路由器首页信息中看到。


4、修改完毕后,关闭navicat的所有窗口,如果提示是否保存改动,要确认保存。
5、关闭逍遥魔兽335一键端,并重新打开,再次启动服务端。这样你刚才在数据库中改动的内容就生效了。

(三)客户端设置
客户端,你的朋友和你自己有不同的修改方法,注意区别。
1、你朋友的修改方法:在逍遥魔兽客户端文件夹中,找到“逍遥魔兽登录器.bat",将里面的IP地址,从原来的127.0.0.1,改为你的当前公网IP,保存并退出。同时删除客户端下面的cache和WTF文件夹。
2、你自己的客户端修改方法:如果你只有一台电脑,就在这台电脑上又开服务器又开客户端,那就把上面的“逍遥魔兽登录器.bat"里面的ip地址,改为你电脑当前的内网IP。例如从原来的127.0.0.1改为192.168.50.3(假设这是你这台电脑在路由器下的内网网址)。同时删除客户端下面的cache和WTF文件夹。
好了,通过以上三步设置,现在已经大功告成了,怎么样?非常简单非常直白的教程,不是吗?快让你的朋友点击登录器批处理文件,加入你的服务器来快乐游玩吧!
编写教程不易,点灯熬油,煞费苦心,收点DKP,给自己点鼓励,希望大家多多捧场!
另外该教程非常详细、是手把手辅导类型的,对广大魔兽单击爱好者具有非常高的指导意义,强烈建议版主加精,让更多人看到本帖!谢谢!
今天玩完下线后,明天再玩,可能你的朋友会发现又无法连接了,这是因为,咱们普通家庭的宽带所被分配的那个外部公网IP,是动态的,并不是固定的(你自己已经申请了固定IP或者有其他专业软件映射固定IP不在本帖讨论之内),所以你下线了或者断线了一段时间后,你的公网IP就会发生变化,没关系,你再使用上面教程里的方法,查看一下自己的当前公网IP,然后再到数据库里更改一下,然后再通知你的朋友改动一下自己的登录器批处理文件,就又也可以快乐的玩耍了。





Archiver|手机版|小黑屋|ad208三国

GMT+8, 2024-4-28 04:10

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表