‘壹’ 游戏服务器与普通服务器有什么区别
游戏服务器与普通服务器在复杂程度、业务逻辑执行位置、数据组织方式以及技术栈方面存在明显区别。
游戏服务器的复杂程度通常高于普通app和web服务器,尤其是当涉及MOBA类手游时。这类服务器由局内战斗服务器和局外系统服务器两部分组成,局内战斗服务器程序具有专属性,难以在普通app服务器上应用,两者在技术方面存在明显差异。
局内战斗服务器分为帧同步和状态同步两种类型。帧同步服务器通过简单转发客户端命令实现数据同步,而状态同步服务器包含游戏运行逻辑,能有效支持重连和杜绝外挂问题。然而,帧同步服务器存在流量消耗大、外挂难防、断线重连体验差等缺点,而状态同步服务器则具有相反的优点。
游戏服务器在局外部分与普通web和app服务器类似,均使用互联网应用基础架构,如MySQL、Redis、protobuf、消息队列等。然而,游戏服务器的数据存储以玩家为单位,确保数据即使在程序挂掉时也不丢失,而web和app服务器则无需绑定用户。
从技术角度来看,游戏服务器更倾向于自行实现网络传输协议,而非使用流行框架,这种做法与传统互联网行业形成对比。游戏服务器通常采用c++开发,兼顾性能和开发效率,而局外服务器也可使用其他语言如Java、Go或PHP,近年来Go的使用越来越普遍。客户端开发人员数量通常多于服务器开发人员,且客户端开发人员工作更为繁忙。