问题标签 [mmo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
778 浏览

php - php - 如何使事件队列在浏览器游戏中以离线模式工作

在考虑制作网页游戏时,我遇到了一个令人不安的麻烦。许多游戏都有这样的“事件队列”。我有一支“军队”并将其发送给我的对手。我需要一些时间。当我的“军队”获得对手“军队”的位置时,就会计算出一场战斗,因此我的“军队”输了或赢了。当我或我的对手在比赛中时,一切都很好。某种 ajax 工作可以管理要调用的 php 脚本并计算战斗 - 然后将其结果保存到数据库。但是如果战斗发生时我和对手都没有登录,它怎么能工作呢?这种游戏的一个很好的例子是Ogame,当您将船只发送到另一个星球时,它可以在您注销时到达目的地,进行战斗,获取敌人的来源并卷土重来,

我一直认为我可以在数据库行中节省攻击者和他的对手的攻击时间,并在任何玩家登录游戏时计算战斗,但这种解决方案有很多缺点。例如,如果在我攻击我的对手之前有第三个玩家会攻击,这将改变他的军队统计数据(因为他可以杀死他的一部分军队)并且我有很多后果。此外,如果长时间没有玩家退出,他们就会出现在游戏中,因为他们没有在战斗,这不是真的。

你知道如何制作这样的事件队列吗?我想使用 cron 也不是一个好主意——它有时很少被使用,如果有成千上万的玩家,成千上万的 cron 实例可能会成为性能杀手。任何概念都将不胜感激-希望我能很好地描述我的问题:)

0 投票
2 回答
197 浏览

java - 数据、网络、瘦客户端和 MMORPG

我正在创建一个 2D MMORPG 游戏(以小程序形式),我有一个简单的问题。

我知道,出于安全目的,作为一种通用的反黑客技术,客户端应该包含尽可能少的逻辑数据(因此它不能被操纵和利用)。

我的问题是这样的:假设我将数据从服务器发送到客户端(人们认为这种情况经常发生)。在接收到数据包的客户端代码中,我将所述数据包解析为其“块”,并将该数据逻辑地存储在其准确的对应变量中。假设其中一个变量存储了玩家的健康状况。这是否意味着这个变量实际上不能用于计算——因为它是一个逻辑数据块(因此可以操作,因为它存储在客户端上),唯一的选择是读取包含如果我需要健康金额,与健康相关的信息?

感谢您花时间阅读我的问题。-布莱恩

0 投票
1 回答
749 浏览

python - 如何在 Python MMO 游戏中最有效地存储玩家数据?

我正在开发一个 MMO 射击游戏,类似于Python 2.7中的狂神王国游戏。

游戏的玩家数据将包括游戏中每个玩家所穿的装备、玩家的姓名等,这样当他们注销角色时,他们的玩家数据将被永久保存,并在他们登录时再次,他们的玩家数据将被加载到游戏中。为了安全起见,我估计唯一玩家数据条目的数量将是 1,000,000 个条目。

将所有玩家数据存储在一个巨大的 txt 文件、26 个文件或 26*26 个文件中是否更有效?安排这些条目的最佳方式是什么?

示例条目:

0 投票
2 回答
481 浏览

c# - 我可以将 TcpClient 从一台服务器传递到另一台服务器吗?

所以基本上我正在创建一个在线游戏。我有一台保存所有用户名/密码信息的服务器(登录服务器),然后是一台或多台托管游戏的服务器(游戏服务器)。客户端连接到验证其凭据的登录服务器,检查他们在哪个游戏服务器上,然后告诉该服务器连接到客户端。

我对安全性知之甚少,但我认为让客户端监听来自其游戏服务器的连接而不是让游戏服务器监听客户端会更安全。我认为这至少会使 DDoS 攻击更容易被阻止。

问题是我读到如果您的服务器位于某些类型的路由器或负载平衡器之后,您将无法轻松获取客户端的 ip。我需要登录服务器告诉游戏服务器要连接到谁......除非我可以转移一个打开的连接。我相信某些游戏具有服务器集群,可以让客户端在一个或另一个之间浮动,所以我认为可以通过某种方式将连接从一台服务器传递到另一台服务器。一般是怎么做的?

也许我已经走远了?

0 投票
1 回答
489 浏览

video - 学士论文 - 分布式系统视频编码云计算

我想尽快开始我的论文(计算机科学/计算机工程大学),如果您提出一些想法,我将不胜感激。

我对分布式系统感兴趣。我发现 MMOG 架构非常有趣。对象迁移似乎也很有趣。我阅读了一些论文以将上述两者结合起来,但结果项目超过了 1 人的工作量。我发现很难找到具体的参与。

除此之外,我喜欢视频编码。那个地区的东西也会很好。如果云计算参与进来,那就太好了!

如果你有时间,开火吧!谢谢

0 投票
4 回答
4009 浏览

socket.io - 使用 Firebase 为 Unity3D 提供后端以创建 MMO

Firebase 能否为基于 Unity 的 MMO 实施提供必要的后端?我看到有一个Unity-socket.io 集成。有人试过 Firebase 吗?MuchDifferent.com 确实提供了支持 Unity MMO 的完整套件。Firebase 可以用来简化架构吗?在什么情况下会建议尝试?不建议?

0 投票
0 回答
306 浏览

c# - 套接字服务器多线程

我的服务器项目中有 3 个主线程。

  1. (TCP) 套接字接受和客户端设置操作
  2. 传入数据处理程序 (TCP&UDP) 和处理器(可能是登录、大厅等)
  3. 传出数据处理程序 (TCP&UDP) 和处理器(通过 UDP 或 TCP 向客户端发送数据..)

我想在这里问一下,这样做是个好方法吗?即,可能虽然数据处理(登录)客户端#32 可以断开连接,在这种情况下,一个新客户端可以作为客户端#32 连接,这意味着他在没有登录检查的情况下登录(我想,我不知道我是对的吗? )。现在谁能告诉我一些关于这个服务器系统的事情?

0 投票
1 回答
20196 浏览

c# - 高性能套接字服务器(如 MMO)

我正在开发一个服务器项目(我想用它制作一个 MMO 服务器)。我创建了一些东西,但 IDK 是一个很好的系统。即是否有用于创建(帮助!)高性能套接字服务器(MMO)的 MMO 服务器教程/书籍?我将向每个连接的客户端发送/接收 5kb 数据(因为这是一个 MMO 系统),服务器必须处理 ~2000clients/s。谁能告诉我一个好的起点?

0 投票
1 回答
831 浏览

c# - TCP Socket 数据发送/接收操作

我正在开发 MMO 游戏服务器。我必须了解 TCP 数据发送/接收操作(不是用法,详细信息)。我想问这个:如果我从.net socket客户端发送一个5kb的数据,服务器socket可以再处理一次这个数据发送操作吗?即 5kb 的数据是否可以再接收一个操作,如 5kb = 1. operation:2kb + 2. operation:3kb?

我想再说一遍;如果客户端向服务器发送了一个数据,我们的服务器监听器的 Recv() 方法是否可以再一次将该数据传递给我们的处理程序类(回调操作)?

0 投票
0 回答
602 浏览

c# - SocketAsyncEventArgs vs NetworkStream vs BeginXXX 方法的性能?

我正在开发一个 MMO 游戏服务器项目,我必须选择一种使用套接字的方法。我已经阅读了一些文章,并且在这里提出了一些问题,但我不能很好地理解这一点:一些库使用 networkStream,一些应用程序使用 beginreceive 之类的异步。方法,有人告诉我使用 SocketAsyncEventArgs(每个人都是高性能的)。现在,如果我更喜欢使用 BeginReceive() 方法,我会犯错吗(或者这是选择效果的表现)?

编辑:它们之间有什么区别?