适用于安卓回合制多人游戏的PHP服务器


PHP server for Android turn based multiplayer game?

我为Android开发了一款回合制游戏,现在我想添加多人游戏。我不想使用像"skiller"这样的提供程序,我想开发自己的服务器。

我没有专用服务器,但我有一个带有"1 和 1"的 php 托管。像游戏服务器一样使用此主机是个好主意吗?我的想法是,我的Android游戏每X秒轮询一次服务器,等待对手的移动。

对此,你怎么看?

我已经考虑过使用它们进行托管,并且我听说过他们的支持。但是,除非您使用他们提供的专用服务器(而不是基本级别的共享主机服务),否则您可能没有可用的资源来支持游戏服务器。

如果您可以自己处理服务器配置,或者对如何设置服务器有详细说明,那么我强烈建议您使用每月 20 美元的基本计划 linode.com。我正在使用它进行网站托管,它在性能和灵活性方面有很大的不同。此外,我还看到了它在Slicehost,rackspace和Amazon S3之间进行的一些性能基准比较,它将它们(尤其是Amazon)都吹了出来。基准是 2 或 3 年的历史,但它仍然相当有说服力。

Linode 将允许您在法律范围内对服务器做任何您想做的事情。因此,如果您想托管成人网站,他们不会有问题。他们可能会在设置垃圾邮件服务器或类似的东西时遇到问题。但他们似乎对其他一切都很酷。此外,它们可能是最实惠的选择。

我想补充一点,你可以研究一下APE服务器(AJAX Push Engine)背后的技术。它是一个高效的聊天系统,几乎可以与任何服务器端语言和前端一起使用。

http://www.ape-project.org/

这就是

我会这样做的方式,因为您的游戏要求服务器提供拉取请求,让我们跳过一个步骤。这是在问MySQL服务器。这就是我会这样做的方式。

从听起来像是一个html5游戏,这意味着您可以在用户手机上设置cookie。我会有一个cookie甚至一个javascript var,然后存储JSON或ARRAY字符串。由此,您将能够将 1 或 0 推送到 PHP 脚本,希望能够将其发送给用户或将其存储为.txt文件 众所周知,从 MySQL 获取数据的速度较慢,如果您有 400 个用户都以 5 秒的间隔执行此操作,您将关闭大多数共享服务器, 他们只是不够强大,无法做你想做的事。

如果您的预算很小,我建议您查看此选项。我真的想不出你可以在不将数据存储在某处的情况下做到这一点。

你不应该听编程语言特定的论点,大多数时候它们是个人喜好。当然,你想做的事情是可以用PHP实现的。你可以用每种语言做好的和坏的编程。对于回合制游戏,如果你知道如何使用它,PHP 是完全足够的。使用你最熟悉的编程语言,你会没事的。

更重要的是:您希望您的游戏成功,1und1 无法处理"成功"的方式,因为它具有本地化且不可按需扩展的性质。如果你想赚钱或传播,你真的不应该害怕投资一些钱,去亚马逊的基础设施。你将不得不学习一点,但这绝对是值得的。

大多数IDE(Zend Studio,PHP Storm等)甚至已经有了很好的集成。共享托管商或本地化存储托管商不是您想要的,因为如果您的应用程序出名,它们根本无法处理全球需求。而且你会遇到安全问题。如果你真的希望你的游戏成功,即使是VPS也几乎会立即达到极限。

您可以尝试先使用 1und1 来发展您的游戏,然后根据需要提供更好的解决方案。但相当多的游戏因为需求远高于预期而奄奄一息。最糟糕的是,你必须少一些欣快的想法,但要更现实。

总结一下:只要用你最舒服的语言,如果你相信你的想法,不要害怕投入很少的钱来满足全球市场,创建自己的协议,尽可能少地传输数据,并且请比"x秒"更频繁地轮询,因为等待对手的一秒钟感觉就像三天。你正在路上。

进步好!完成后发布链接:)

您可以使用 Firebase 消息服务来实现相同的功能。此外,您必须有一个Web服务器(例如.PHP)。

  1. 使用您的安卓代码将请求发送到网络服务器上的PHP文件。
  2. 通过此网络服务器,您可以以 Firebase 消息传递的形式发送广播消息,该消息将发送到您订阅的主题的所有设备。
  3. 所有侦听此 FCM 的 android 设备都可以响应(取决于您的代码设置的参数)。