Unity简单游戏的服务器逻辑

时间:2019-02-18 10:37:57

标签: c# unity3d server cross-platform matchmaking

我是游戏开发的新手,请问我如何在iOS和Android平台上为Unity上实现的游戏实现服务器的建议。

有一个任务:一个在线1vs1销乒乓球游戏,您可以在其中投注游戏币。 (例如)有3种游戏模式,分别下注5、20和100个硬币。玩家选择他要下注的下注并排队,然后第二名玩家为相同下注排队,并自动为他们创建一个房间,让他们彼此对战最多10点才能获胜。期望通过游戏的技能/经验来实现对对手的选择。因此,初学者与初学者一起玩,并且经验丰富(服务器上的逻辑)。 同样,房间应自动生成。不应有带有明显房间列表的大厅,只有下注的选择和对手的期望。获胜者获得全部投注(不收取任何费用)。必须有一个数据库来保存每个玩家的结果和设置。通过社交网络和电子邮件进行授权。防止作弊者的工作不那么重要。

我如何计划: 所有物理和逻辑都发生在客户端。服务器为等待对手的玩家创建房间,并通过UDP提供平台位置的交换,并通过TCP提供重要的消息/事件。服务器端将没有游戏物理和逻辑。该服务器将连接到数据库,以保存信息,排行榜和收集的硬币数量等...

主要任务: 适用于Unity的C#服务器 服务器上的自己的逻辑 能够使用数据库。

我想使用Photon服务器执行这些任务,但是我不明白是否可以绑定数据库(例如MySQL)并在服务器上处理最少的逻辑,这有可能吗? Photon之外的服务器还适合该项目?(最好是免费的)。我将很高兴获得一些帮助,并找到解决此问题的正确方法。

谢谢。

1 个答案:

答案 0 :(得分:1)

对于一些非常简单的事情,我建议您在客户端应用程序(c#)中使用您自己的socket.io实现,并在使用socket.io的情况下使用非常基本的nodeJS服务器。

您已经建立了房间,事件发送/处理非常方便。

为了统一,有一个付费资产(BestHTTP确实很不错)和一个免费资产(socket.io就是一个统一之类的东西)。

然后,您可以使用节点服务器连接到数据库,并将数据发送给unity。

希望有帮助!