我曾尝试搜索如何制作 MMO,但总是找到相同的回复,这是不可能的或需要很多钱,但从未给出如何制作指南。
我想构建一些非常可扩展的东西,我目前关于如何构建 MMO 的想法如下:
组件:
行动:
以及我的问题:
而且我认为我暂时没有忘记任何事情要问,并为这个大帖子感到抱歉......
克里斯蒂安是对的,你太依赖DB了。通常,游戏及其玩家的当前状态在运行时存储在实际服务器中。你可以制作一个功能,自动频繁更新玩家位置或状态的数据库,这在MMO中很常见,但最终数据库只是启动时提取数据的参考,而不是运行时。
我不认为你的解决方案会扩大规模。问题是你的位置数据库需要为每一个球员动作更新。您可能使用这种方法来允许游戏服务器共享数据,这是一个坏主意,因为数据库并不意味着允许系统的分发。将数据库视为真正的离线存储,仅在玩家或对象被激活时加载状态。
您需要摆脱位置数据库并存储分布在游戏服务器中的玩家状态。
还可以考虑让前端服务器始终保持与客户端的一个连接,将消息中继到正确的游戏服务器等。这样,您可以避免客户端必须连接到“正确”的游戏服务器以及该信任级别带来的所有问题。
分布式编程相当困难,但编程语言Erlang比Python/C等更容易实现。
我正开始为演示游戏编写一个简单的mmo服务器。我正在使用UDP协议(UdpClient ),但我想知道,其他服务器是如何工作的?: 只有 1 个 UDP 客户端处理所有连接的客户端和消息并响应它们 服务器为每个连接的播放器创建一个新的 UDP 客户端实例? 我测试了连接50个发送“Ping”消息的客户端,服务器必须用“Pong”回复。第50个“Pong”发送大约需要10秒(在本地主机上)(同时,服
我正在尝试制作最简单的REST API服务器和客户端,服务器和客户端都用Python编写并在同一台计算机上运行。 来自本教程: https://blog.miguelgrinberg.com/post/designing-a-restful-api-with-python-and-flask 我将此用于服务器: 如果我从命令行运行此命令: 我明白了: 很好,现在我的问题是,如何使用请求来编写Pyt
问题内容: 我如何才能向中添加一堆类,然后再从中检索一个类(派生自,但不是),并使用它来生成实际检索到的类的新对象(即,因为那不是抽象的) 所有需要添加的类都源自同一个 抽象 基类() 我真的想不出另一种方法来实现自己的目标,所以希望这是可能的…? 问题答案: 为了防止使用反射,您可能正在寻找抽象工厂模式。这是一个简单的示例,说明如何使用Java 8实现它:
我使用sw-precache生成Polymer-CLI构建过程中的服务工作,因此它旨在更新更新文件的散列,以表示需要更新缓存。但是缓存中没有替换我更新的内容,因此如果我使用ctrl-r刷新,它将获得旧版本,但如果使用ctrl-shift-r刷新,它将获得新版本。原因可能是我的服务人员没有更新。 这份文件说 如果与当前相比,服务辅助程序文件中甚至有一个字节的差异,它就认为它是新的。 ,但如果我的新服
nestjs 一个服务如何既做微服务也做http服务器? 比如一个接口既可以做 http 又可以做微服务.不想再写一个专门的http 服务器. 接口是否可以相同?
我已经使用了ffmpeg和mp4box来获取必要的文件,就像公会制作自己的简单MPEG-DASH服务器一样。然后,我将所有文件(包括MPD和短划线段)放入我的http服务器文件夹(我使用的是nginx,文件夹是**/wwwroot/default/)。 但我无法通过akamai player或dash if reference player等播放器播放我的视频。url是正确的,因为我可以直接使用“