Tcp 为我的游戏选择服务器

Tcp 为我的游戏选择服务器,tcp,Tcp,我即将发布一个MMORPG。在我的游戏中,每1秒,每个玩家发送30条TCP消息,然后从服务器返回30条。并不是每条信息都很长。大约20个字符 关键是我从来没有参与过多人游戏。我已经为所有服务器和客户端编程,但我不知道我需要什么服务器。我是说,RAM,CPU等等。。。我仍然不知道该准备些什么,但让我们假设为15K个同时客户。如前所述,每1秒,每个客户端需要获取并发送30条TCP消息,在大多数情况下,我还需要用数据更新我的非SQL数据库 更新:这是一个多人游戏,我必须有30毫秒/秒。大多数MSG用于

我即将发布一个MMORPG。在我的游戏中,每1秒,每个玩家发送30条TCP消息,然后从服务器返回30条。并不是每条信息都很长。大约20个字符

关键是我从来没有参与过多人游戏。我已经为所有服务器和客户端编程,但我不知道我需要什么服务器。我是说,RAM,CPU等等。。。我仍然不知道该准备些什么,但让我们假设为15K个同时客户。如前所述,每1秒,每个客户端需要获取并发送30条TCP消息,在大多数情况下,我还需要用数据更新我的非SQL数据库


更新:这是一个多人游戏,我必须有30毫秒/秒。大多数MSG用于球员的当前位置。另外,我使用C++。

如果你知道你每秒发送30条消息,为什么不把它们捆绑成1个请求,每秒钟?在服务器资源方面有很大的不同

您将使用哪种语言运行服务器?我希望你能写一些专门处理/管理这些连接的东西?如果是这样的话:做一些分析,仅仅测量你需要什么。。。 你的处理器每秒做什么来处理这些30*15K的消息


你的问题没有一般性的答案。这完全取决于您的软件。

这取决于您已经实现的服务器需要什么。你永远不会知道,直到你尝试一些特定的硬件。租用一台功能强大的专用服务器一个月,并配置您的游戏服务器。至少检查一下CPU的使用情况。您将需要多线程异步网络

您提供的详细信息帮助仅用于计算您需要的带宽: +~20字节您的数据=每个数据包114字节*30每秒*15000个用户=~50MBps*8位=~400Mbps的传入和传出流量。看来你有麻烦了。考虑一些比在单独的TCP帧中发送每个包更明智的做法。例如,实现缓冲区,该缓冲区收集准备发送的数据,并由游戏逻辑线程和将该数据发送到网络的单独线程填充。在这种情况下,您的几个软数据包可以组合成一个TCP数据包,从而大大降低您的带宽需求

但即使这样,你还是有麻烦。我建议在投资复杂的解决方案之前先等待用户。当您拥有它们时,您需要实现某种类型的集群。这是另外一个故事,比简单的网络要复杂得多


尝试通过单个服务器处理至少1K个用户。这会给你带来一些钱,让你雇佣一个在游戏网络/集群方面有经验的人。

客户端是否与服务器有稳定的TCP连接,或者每次需要发送消息时都会连接?因为它是MMORPG。。。你看到与你一起玩的玩家,你不能每1秒更新其他玩家的位置。。。服务器C++。它会更新数据库,除非没有变化,例如球员的位置。谢谢。我想模拟1000个没有真正游戏客户端的客户端,你有什么想法吗?我已经有一台服务器了。利诺德。作为起点,我想处理500个用户。你想要什么样的想法?只要这样做,模拟他们。模拟可以非常简单,只需连接到服务器的虚拟客户端,向服务器发送有效数据包,并可以从服务器接收数据包,无需移动,无需逻辑或非常复杂—类似于由AI控制的全功能客户端。我需要非常复杂—AI是什么?@Eli:谢谢。我想我将只做非常简单的lol,所以只运行很多TCP客户端?