Architecture 多人游戏,如MMO';让我们来处理大量的请求
我问自己,mmo是如何像ragnarok一样处理发送到服务器的动作(“我猜是请求”)的?就像一个玩家使用一些物品或者杀死一个怪物,或者激活一项技能,游戏是如何以时间方式处理的,为了在其他玩家的游戏中立即展示这一点,我看到有一次似乎是一些事件驱动的架构,玩家改变游戏的状态,并将事件发送到服务器,但是如何?在大量的多个游戏客户端打开。这是一个非常大的问题。但我会给你最简短的回答。若你们想知道更多,你们可以通过阅读这本书来了解更多细节 大多数MMO游戏都是服务器-客户端游戏(有些游戏是点对点的,但它们太小了)。有3种类型的服务器客户端游戏:Architecture 多人游戏,如MMO';让我们来处理大量的请求,architecture,game-engine,distributed-system,Architecture,Game Engine,Distributed System,我问自己,mmo是如何像ragnarok一样处理发送到服务器的动作(“我猜是请求”)的?就像一个玩家使用一些物品或者杀死一个怪物,或者激活一项技能,游戏是如何以时间方式处理的,为了在其他玩家的游戏中立即展示这一点,我看到有一次似乎是一些事件驱动的架构,玩家改变游戏的状态,并将事件发送到服务器,但是如何?在大量的多个游戏客户端打开。这是一个非常大的问题。但我会给你最简短的回答。若你们想知道更多,你们可以通过阅读这本书来了解更多细节 大多数MMO游戏都是服务器-客户端游戏(有些游戏是点对点的,但它们
- 权威服务器:游戏服务器对游戏的模拟被认为是正确的。如果客户端发现自己与服务器处于不同的状态,它应该根据服务器所说的游戏状态更新其游戏状态
- 专用服务器:它们只运行游戏状态并与所有客户端通信。专用服务器进程完全独立于运行游戏的任何客户端进程。这意味着专用服务器通常是无头的,实际上不显示任何图形。大多数游戏运行在专用服务器上,这种类型也是权威服务器的子分类
- 监听服务器:其中一个玩家可以使用他们的机器作为服务器和客户端。游戏发行商不需要租用云提供商的服务器。一个要求是,作为侦听服务器运行的用户机器必须足够强大,并且具有足够快的连接来处理这种增加的负载
- 是一部分,但从2015年起停止发展。著名的游戏使用RAKNET是服务器,然后叉起java(而不是C++作为原件)。
- 是谷歌云计算和刺客信条奥德赛游戏的合作项目。他们的服务器和客户端演示是
- 权威服务器:游戏服务器对游戏的模拟被认为是正确的。如果客户端发现自己与服务器处于不同的状态,它应该根据服务器所说的游戏状态更新其游戏状态
- 专用服务器:它们只运行游戏状态并与所有客户端通信。专用服务器进程完全独立于运行游戏的任何客户端进程。这意味着专用服务器通常是无头的,实际上不显示任何图形。大多数游戏运行在专用服务器上,这种类型也是权威服务器的子分类
- 监听服务器:其中一个玩家可以使用他们的机器作为服务器和客户端。游戏发行商不需要租用云提供商的服务器。一个要求是,作为侦听服务器运行的用户机器必须足够强大,并且具有足够快的连接来处理这种增加的负载
- 是一部分,但从2015年起停止发展。著名的游戏使用RAKNET是服务器,然后叉起java(而不是C++作为原件)。
- 是谷歌云计算和刺客信条奥德赛游戏的合作项目。他们的服务器和客户端演示是
这是一个非常大的问题。但我会给你最简短的回答。若你们想知道更多,你们可以通过阅读这本书来了解更多细节 大多数MMO游戏都是服务器-客户端游戏(有些游戏是点对点的,但它们太小了)。有3种类型的服务器客户端游戏: