网站设计模块,怎样做网站备案,昆明做网站ynlongtou,触屏网站对于一款网络游戏#xff0c;服务器开发是不可或缺的一部分。游戏服务器主要负责的是游戏联网的那一部分。那么游戏服务器到底解决哪些问题呢#xff1f;总体来说#xff0c;主要有以下三个方面。
第一#xff0c;移动设备与服务器之间的点对点网络通信
移动设备从登录游…对于一款网络游戏服务器开发是不可或缺的一部分。游戏服务器主要负责的是游戏联网的那一部分。那么游戏服务器到底解决哪些问题呢总体来说主要有以下三个方面。
第一移动设备与服务器之间的点对点网络通信
移动设备从登录游戏开始就必须跟游戏服务器之间建立连接这部分称为网关。从客户端发送消息到服务器到服务器推送消息到客户端。这里所说的消息对于网络通信来说其实就是一些字节流就像水管里的流水一样数据间没有间隙没有首尾。对于游戏服务器来说必须人为来规定怎样才算一个完整的消息帧这部分每个游戏项目的定义一般都不完全一样所以也叫做私有协议栈一般都包含消息头以及消息体。
对于消息体来说服务器与客户端之间可以选择的数据编解码方式比较多例如jsonxml或者protobuf均可只需通信双方编解码规则一致即可。
第二游戏规则配置及业务逻辑处理
游戏服务器开发人员需要将游戏策划人员定义的游戏规则翻译成计算机能够理解的代码。对于一个完整的游戏服务器项目由于整体的游戏架构都已经成型稳定了业务开发才是大部分服务器开发人员的日常工作。业务逻辑是服务器代码最错综复杂的组成部分了由于游戏本身的开发迭代周期比较短以及游戏业务的复杂性业务逻辑也是经常出现bug的。
一个游戏功能不仅有业务规则也有数据规则。数据规则可以说是数值策划与服务器开发人员沟通的桥梁了。服务器开发人员通过一些自定义的配置格式以表格的方式通常是excel暴露给策划同学。例如玩家每升一级需要多少经验值额外提高多少属性这些都需要配置数据。
第三玩家数据落地
网络游戏相对于单机游戏来说数据的持久化方式是完全不一样的。单机游戏的程序与数据是保存在同一个设备上通常是放在同一个安装目录下。如果设备损坏或更换数据将面临丢失风险当然专业人员可以选择性迁移数据文件达到数据恢复的目的。
网络游戏的数据主要存在于游戏服务器上客户端设备也有小量数据保存类似浏览器的本地保存即使玩家更换游戏设备只要登录同一个游戏服数据都会自动恢复。
游戏服务器将玩家数据保存在数据库里一般选择关系型数据库mysql非关系型数据库MongoDB、Redis等。