java – 基于多人游戏的游戏架构问题
作者:互联网
我正在努力创建一个2D游戏,以便学习一些多人游戏的细节.在战略转弯的战斗中,游戏本身将使两名玩家的军队相互对抗.我正在开发它作为一个独立的桌面客户端(最后可能是一个手机应用程序).
我用Java编写游戏,我不信任客户端,因此我考虑了安全性.玩家将拥有一个个人帐户,其中包含军队列表和服务器上的内容.另外,我计划使用mySQL在服务器上存储这种数据.
但是,我不确定如何实现这一点.我是否使用类似网络服务器的东西?这似乎是错误的,但我不知道哪些技术可用于客户端不受信任的Java前端和后端.请注意,我不是在寻找关于最佳方法的辩论,我只需要了解概念,可能是一些示例技术,也许是教程的链接.
谢谢你的帮助!
解决方法:
除非您计划将其作为浏览器游戏,否则我认为使用网络服务器并不是最好的选择.
套接字可能是您正在寻找的答案,您可以创建自己的通信协议,不信任客户端.
您的服务器需要使用服务器套接字并接受多个客户端.
您还可以使用Swing作为客户端UI.
Here是默认的Java套接字教程.
例如,您的协议可能包含以下命令:
(客户端到服务器)移动(UnitGroup,Point) – 告诉服务器要将组移动到某个点,服务器然后执行计算以确定单元到达并开始在那里移动它所需的时间.
(服务器到客户端)PositionUpdated(UnitGroup,Point) – 告诉客户端某个组移动到某个地方,可能需要在显示中更新
如果您发布协议,玩家甚至可以让自己的客户按照自己的意愿查看游戏.您的服务器只会通过向客户提供他们应该“看到”的东西来保持公平.
我不知道这可能会如何影响延迟.
标签:multiplayer,java,mysql,webserver 来源: https://codeday.me/bug/20190725/1535738.html