首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >分布式多人游戏服务器体系结构

分布式多人游戏服务器体系结构
EN

Game Development用户
提问于 2014-04-07 22:43:31
回答 1查看 3.4K关注 0票数 -1

我正在为手机设计一个多人游戏,我正在开发一个分布式服务器架构来处理很多并发玩家。

这里是我脑海中的建筑:

关于该体系结构的一些问题:

1)如何在login Server上提供安全登录?

  • 客户端连接到登录服务器。
  • 登录服务器发送其公钥(RSA加密)
  • 客户端使用登录服务器的公共key.Then加密其用户名和密码,将该数据包发送到登录服务器。
  • 登录服务器与连接数据库服务器验证用户名-密码信息。
  • 登录服务器创建auth令牌并将其发送回客户端。

2-)如何保护数据库查询的安全性?这是否可能太慢?下面是我的想法:

  • 客户端用查询发送其令牌,packet.Also客户端发送其随机公钥。
  • 数据库服务器验证该令牌。
  • 数据库服务器使用加密(使用客户端随机公钥)应答数据包进行应答。
  • 客户端用它的私钥解密它。

3)如何将游戏服务器合并成一个游戏服务器?

我是否采用了正确的方式进行mmo服务器设计?我正在使用Java和Kryonet库进行服务器编程。

EN

回答 1

Game Development用户

回答已采纳

发布于 2014-04-07 23:35:23

不要与数据库服务器进行客户端对话。客户端只与前端游戏服务器交谈,而没有其他任何内容。然后,该服务器将客户端请求分发给适当的后端服务器。

前端服务器和(大多数)其他服务器都是地理分布的。不像图中那样分发前端服务器,几乎会破坏每个区域服务器的全部功能。您真正想要共享的唯一东西是一个帐户服务器,然后尽可能少。

客户端连接到前端服务器。前端服务器然后连接到登录/帐户服务器、电子商务服务器、聊天服务器和游戏/地图服务器。服务器可以根据需要相互交谈,因为它们都在您的专用网络中。唯一的攻击点是公共前端服务器。

对于服务器之间的通信,您通常可以使用某种类型的消息队列服务,如RabbitMQ或大量类似的软件包之一。

多年来,GDC已经就这个问题进行了大量的讨论和论文,当它们已经在真实的环境中为您设计和测试时,没有理由发明您自己的体系结构。GDC Vault免费内容

票数 3
EN
页面原文内容由Game Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://gamedev.stackexchange.com/questions/73092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档