我正在编写一个MMO塔防游戏(客户端服务器架构)。由于作弊保护,服务器需要有逻辑。但我有真正的设计问题。假设 10 个人互相进行死斗,每个塔射都需要计算并发送给玩家。当许多塔建成时。(如 10 名玩家 * 10 塔 = 100 塔) 流量非常高。(一个播放器每秒导致多条消息)如何解决这个问题?
服务器是用Java编写的(Smartfox 2x)客户端是用C#编写的(Unity 3d)
先谢谢你。
由于作弊保护,服务器需要有逻辑。
这是一个错误的假设。服务器需要有足够的逻辑来运行游戏逻辑,并确保所有玩家的动作都有意义,但不需要发回结果。客户机都可以并行运行相同的逻辑,并自行计算结果。
在服务器上使用强大的简化单位和战斗规则。如果有人进入塔周围的“伤害区域”,只要通过影响持续伤害来编程你的伤害算法。
你可以在服务器上使用两个维度战场,所有的单位、塔和伤害区域都只是圆形或圆点和圆形。你也可以使用几个伤害环,每秒伤害在外圈较低,在防御塔周围的内圈较高。
您可以使用队列来管理单目标伤害/多目标伤害和区域伤害。如果单发,队列中的第一个会受到伤害区域的影响,只有第一、第二和第三个会受到多发等的影响。
如果塔每 5 秒发射一颗子弹,每颗子弹造成 40 点伤害,您只需在服务器上计算,对站在“伤害区域”或“伤害圈”中的每个目标每秒影响 8 点伤害。
在客户端上,你可以做所有的事情,比如飞来的子弹,打,飞溅,飞溅和烟花等等。
但在服务器上,所有的事情都是通过进入损坏区域,然后每秒获得损坏。(抱歉英语不好)
我目前正在使用自定义JWT身份验证进行SpringCloudGateway。身份验证后,我希望使用GlobalFilter将标头中的JWT令牌字符串传递到下游服务: JWT令牌字符串可以通过调用主体来获得。getName(); 我的问题是:我如何实现
问题内容: 我可以在Java监视程序上创建网络流量吗?该程序必须控制从计算机程序(包括OS模块)到网络驱动程序再返回的所有网络流量。如果是,如何? 注意: 我不仅要监视流量,还要对其进行控制。我想在Windows NT上实现这样的系统。仅靠Java无法实现它。如何在JNI的帮助下执行它? 也许是另一个变体。我不熟悉Windows服务,但仍然如此。我将在C 上编写一个程序并将其注册为Windows服
问题内容: 我们正在将Selenium与Java API和一些Javascript用户扩展一起使用。我们在应用程序中使用了很多AJAX调用。我们的许多测试都是随机失败的,因为有时AJAX调用的完成速度比其他时间慢,因此页面未完全加载。我们通过等待特定元素或Thread.sleep来解决此问题。我试图找到一种方法来代替等待网络流量完成。这样我们就可以做到这一点: 这样,我们可以摆脱线程hiberna
问题内容: 我们正在将Selenium与Java API和一些Javascript用户扩展一起使用。我们在应用程序中使用了很多AJAX调用。我们的许多测试都是随机失败的,因为有时AJAX调用的完成速度比其他时间慢,因此页面未完全加载。我们通过等待特定元素或Thread.sleep来解决此问题。我试图找到一种方法来代替等待网络流量完成。这样我们就可以做到这一点: 这样,我们可以摆脱线程休眠,并在服务
当客户端发出请求时,“MonoJust”会打印在第4行,但“test”会在Http响应正文中返回。我知道发布者在订阅之前不会生成数据,那么为什么Http响应包含“test”而不是“MonoJust”?
所有的, 最近,我的云提供商对数据传输收取更多费用。终于注意到一个K8吊舱有更多的数据传输。有没有一种方法可以让我找出pod级别的网络流量,比如使用本地kubernetes命令发送和接收了多少字节? 谢谢巴拉