V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Admstor
V2EX  ›  问与答

例如WOW这种大型游戏,其架构是怎样的呢?

  •  
  •   Admstor · 2014-02-07 13:47:34 +08:00 · 4741 次点击
    这是一个创建于 3950 天前的主题,其中的信息可能已经有所发展或是发生改变。
    尤其是数据库,游戏每个人物的数据几乎每秒都会有大量的变动
    还有WOW的判定,似乎除了移动,其他的全部又服务器来完成,这个似乎性能要求也是非常恐怖的,但是除了除了某些高峰,完全没有什么延迟啊
    13 条回复    1970-01-01 08:00:00 +08:00
    lsylsy2
        1
    lsylsy2  
       2014-02-07 14:41:39 +08:00
    WOW的后台是Bigworld,一家第三方公司
    关于判定什么的……应该是灯塔算法?
    aisk
        2
    aisk  
       2014-02-07 14:44:27 +08:00
    可以参考私服的实现 https://github.com/TrinityCore/TrinityCore
    akira
        3
    akira  
       2014-02-07 16:51:04 +08:00
    数据库不是实时的。
    wow的服务器不卡。。。呵呵呵呵。。。
    molinxx
        4
    molinxx  
       2014-02-07 17:07:16 +08:00
    WOW在国内由网易运营,我记得网易运行WOW的服务器组在TOP500上还有排名,具体的架构方式和传统大型网游大体相同,例如:通过多台节点并行处理当前大区的人物装备数据,然后10G光纤内网连接到缓存服务器组,数据变更后再返回到客户端,当人物下线时,再将不再变动的数据写入数据库服务器组。用户数据是分成很多块,由不同的服务器组进行处理的。
    题外话,美国区WOW的服务器组已经全面更换SSD了,国内的不清楚,感叹一下美国运营商的财大气粗,SSD只划分50%的空间使用,另外50%作为OW区,全部采用Raid 10的方式,相当于真正能用的容量只有25%……


    @akira 国内应该是受限于网络条件才比较卡吧……
    likuku
        5
    likuku  
       2014-02-07 18:09:32 +08:00
    @molinxx 只记得当年EVE由光通运行,跑在超级计算机(IBM/HP)上,当时的确在TOP500有上榜,排名还不低。

    2005~2007年 有家登记为 Gaming Company (B) 的公司,地区是 China 榜上有名:

    http://top500.org/site/49765


    List Highest Rank Systems
    2007/11 379 3
    2007/06 168 3
    2006/11 399 3
    2006/06 268 2
    2005/11 149 2
    2005/06 152 1

    排名最高的 2005/11:
    http://top500.org/list/2005/11/?page=2

    Rank Site System Cores Rmax (TFlop/s) Rpeak (TFlop/s) Power (kW)

    149 Gaming Company (B)
    China Blade Cluster BL-20P, Pentium4 Xeon 3.2 GHz
    Hewlett-Packard 860 3.1 5.5
    150 Gaming Company (B)
    China Blade Cluster BL-20P, Pentium4 Xeon 3.2 GHz
    Hewlett-Packard 860 3.1 5.5
    151 Gaming Company (B)
    China Blade Cluster BL-20P, Pentium4 Xeon 3.2 GHz
    Hewlett-Packard 860 3.1 5.5
    152 Gaming Company (B)
    China Blade Cluster BL-20P, Pentium4 Xeon 3.2 GHz
    Hewlett-Packard 860 3.1 5.5
    153 Gaming Company (B)
    China Blade Cluster BL-20P, Pentium4 Xeon 3.2 GHz
    Hewlett-Packard 860 3.1 5.5
    momo5269
        6
    momo5269  
       2014-02-07 18:35:39 +08:00
    咱就知道不少游戏后台是erlang服务器集群
    molinxx
        7
    molinxx  
       2014-02-07 19:04:11 +08:00
    @likuku 网易运营魔兽的那套超算我记得最高排过180名左右,在运营魔兽的时候已经下降到450+名次了~
    dorentus
        8
    dorentus  
       2014-02-09 07:42:17 +08:00 via iPad
    @lsylsy2 网易的天下三什么的据说是用了 BigWorld,没听说暴雪的 WoW 也是用它的。(或者你说的 WOW 是 wargaming.net 的另一款游戏?)

    暴雪的客户端和服务器端都是自己开发的,客户端里面用到的哪些第三方技术相对都还公开,服务器端的具体情形外界根本没人知道吧。
    dorentus
        9
    dorentus  
       2014-02-09 07:44:52 +08:00 via iPad
    @dorentus 另外 BigWorld 不主要是客户端引擎么…
    lsylsy2
        10
    lsylsy2  
       2014-02-09 11:53:56 +08:00
    @dorentus Bigworld的优势就是后端,你放狗搜下,山口山后端用的Bigworld,前端用的是暴雪自己引擎
    dorentus
        11
    dorentus  
       2014-02-10 16:50:49 +08:00
    @lsylsy2

    嗯,我后来仔细看了看,Bigworld 确实是前后端都有的。

    不过我依然没有找到魔兽世界后端是用 Bigworld 的证据。Google 英文搜索结果里面没有看到任何相关的内容,中文的消息来源似乎就只有 http://bbs.iieeg.com/viewthread.php?tid=68 这篇帖子,当然这个不一定是原始来源。

    帖子里面有意思的有两点:
    1) 网易的人说魔兽世界是用了 Bigworld 的。(回帖一)
    问题是只是一面之词,没有干货。

    2) 原帖的长断内容。
    帖子里面说了那么多,关键的只有一段:

    「Vivendi Universal Interactive 提出收购Micro Forté,并提出将开发中的《魔兽世界》交由Micro Forté开发完成,虽然最终Micro Forté拒绝了此次收购,但Vivendi Universal Interactive 获得了当初看中的BigWorld引擎技术的使用授权并交由Blizzard总部,Blizzard总部经过评估将BigWorld引擎的服务器技术部分应用于《魔兽世界》的开发。按照双方约定这次交易从未被公开宣布,但是在Micro Forté公司的介绍中可以看到如下隐晦的文字“Late in 2001 during the final stages of the development of the technology, the company received a buyout offer by one of the world’s leading multinational interactive entertainment companies. They offered a major IP fantasy MMOG property for the company to develop as part of the deal. The deal was not consummated as the offer was considered by the Board to be too low”(翻译:2001年,在这个技术(指BigWorld引擎)完成的最后阶段,Micro Forté收到了一家世界领先的跨国互动娱乐公司的收购邀请,作为收购交易的组成部分,这家公司同时提出将其一个重要的梦幻般的大型多人在线游戏项目的开发交由Micro Forté完成,由于Micro Forté董事会认为这家公司出价过低,因此最终拒绝了这次收购交易);
    参见 http://www.microforte.com.au/company/history03.php

    问题在于,仔细看那段英文(或者直接看翻译也可以),里面只是说交易没成功,上半段「Blizzard总部经过评估将BigWorld引擎的服务器技术部分应用于《魔兽世界》的开发」完全不知道是从何而来。
    dorentus
        12
    dorentus  
       2014-02-10 17:00:09 +08:00
    @dorentus
    另外,魔兽世界于 2001 年公开,实际开发于 1999 年[1],上面说到的交易发生于 2001 年,时间上稍微有点不合理。

    上面那段英文里面,其实也没有明说是 Vivendi 和 Micro Forté 的交易。

    然后(至少在 2000 年前后,)虽说 Vivendi 是母公司,但基本上只管商业部分,很少插手暴雪的具体运作,「提出将开发中的《魔兽世界》交由 Micro Forté 开发完成」似乎有些不太可能。

    ----
    1. http://en.wikipedia.org/wiki/World_of_Warcraft#Development
    Admstor
        13
    Admstor  
    OP
       2014-02-10 23:07:26 +08:00
    技术方面我不太明白,不过WOW早期版本以及内测公测版本变化蛮大的
    尤其是服务器负载部分早期似乎几百人就爆了,后期增加到了3000人,目前应该更多了
    虽然硬件提升是一个方面,不过游戏复杂程度也在不断的提升
    那么架构发生变化似乎也是很正常的
    这点似乎也应该考虑到
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2566 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 06:40 · PVG 14:40 · LAX 22:40 · JFK 01:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.