虚幻引擎5服务器



我想创建多人纸牌游戏,在那里我托管服务器,并完全控制正在发生的事情(数据库、游戏、玩家、帐户(

所以客户端基本上只是登录并在正确的位置显示卡片

因为我有0任何游戏引擎,但我是一个后端开发人员-我可以看到自己做服务器(这不是硬卡游戏(和管理所有

但是我想不出一个好的通信解决方案

我看到的都是TCP/IP插件(一个付费,一个免费,识别差异(

但是,对于这样的事情,有什么好的解决方案吗?虚幻文档显示了他们自己的网络API,但它主要用于需要同步和效果的FPS/RPG游戏,而这正是我不想想要的-只有来自服务器的简单命令,服务器说ex;现在卡片就在这个地方"游戏结束"玩家1使用了咆哮"客户端只显示此更改

对于Unreal引擎本身,您不需要任何类型的插件,因为Unreal使用复制UE5 的复制文档自行处理网络

正如您所指出的,复制所做的正是游戏本身所需要的(跨客户端和服务器复制状态(,但与您所寻找的有点不同。

在Unreal的任何原生多人游戏架构中,您都会让服务器模拟游戏并";播放";它自己,然后告诉客户端复制发生了什么(该对象将是服务器上的克隆状态,具有服务器权限(。这是一个简化的解释,您可以在UE论坛或文档中找到有关复制的所有信息,如这里和那里

您所描述的内容看起来很像外部API服务器(类似于用于任何类型的后端web(,可以在虚幻上使用,但这是一场噩梦。原因是您需要自己执行所有复制代码:请求服务器采取行动,等待答案,减少错误的数据或网络,处理所有回退情况,然后在服务器上再次实现您想要进行多人游戏的每个逻辑。我甚至不会谈论服务器将很难处理虚幻场景本身的事实。

有关API-kind网络的更多上下文,您可以查看较旧的MMO游戏,如TERA,它是这样编码的。它通常涉及到开发自己的网络堆栈来插入虚幻等等

我自己是一名后端开发人员,但现在专门研究虚幻引擎,我可以理解为什么你想遵循API的方式。但它非常扩展,如果您正在发现UE或希望启动,我强烈建议您改用本机复制。它已经够难的了。

如果你仍然真的想用API的方式来做,那么你只需要将TCP/UDP数据包伪造器集成到Unreal中(我的意思是自己编码,或者使用一个插件来做(,而不是做所有肮脏的事情来伪造数据包并将其转发到你必须创建的自定义API服务器(Nod.js或其他东西(。它会起作用,但在虚幻的一端,你绝对不会有任何形式的自动化。

最好的选择是将WebSockets或HTTP连接到您的项目。

相关内容

最新更新