Matchvs作为国内首款落地的商业化游戏服务器引擎,本文将以它的GameServer”的自定义服务端框架作为例子进行分享。

与skynet等游戏服务器开源框架不同,作为一款商业版的游戏服务器引擎,由于Matchvs本质上是将一整套联网功能集成为一个高可用的SDK,开发者只需根据游戏逻辑,通过SDK提供的API接口来调整所需要的参数即可。但封装的API也带来了拓展性不足的局限性。为此,Matchvs除了提供SDK基础联网服务外,还提供一套名为“GameServer”的自定义服务端框架,以满足更为复杂的联网需求。

GameServer架构

GameServer和引擎的高交互性,以及游戏低延迟的要求,决定了GS和引擎最好物理上接近。Matchvs游戏云提供的GS托管服务实际是一个PaaS服务(提供了应用程序的开发、运行环境),作为一个服务众多CP的PaaS平台,在Matchvs引擎引入GS需要解决如下几个关键问题:

(1)不同语言、框架依赖、运行环境如何满足?

(2)多个CP的GS如何管控,资源如何限制和分配?

(3)自动化的缩、扩容、监控、高可用如何保证?

针对上述问题,我们将CP开发的GS容器化,通过基础镜像来解决框架、依赖等环境差异的问题;将GS统一纳入K8S集群,使用namespace隔离不同CP资源调度、分配;GS被抽象成service形式存在,使用K8S的对应扩容、高可用机制。

GameServer SDK框架与接口

gameServer 与Matchvs server之间使用基于长连接、二进制协议的高性能RPC组件通信,能很好地支持 Matchvs 全双工低延迟通信、验证授权等功能要求。
gameServer framework 主要提供了以下功能:
1. 接收并处理房间匹配、对战数据等消息;
2. 为gameServer SDK提供主动推送数据的能力;
3. 在独立部署方案下,向Matchvs注册gameServer。
gameServer SDK提供面向开发者的房间、玩家、对战数据等API接口。开发者能够以此获取并控制每一个房间和玩家的状态,从而实现更丰富的游戏功能。
自定义服务端逻辑。开发者基于gameServer SDK实现定制化的功能,例如控制游戏进程、仲裁、数据持久化等等。

gameServer 与Matchvs server之间使用基于长连接、二进制协议的高性能RPC组件通信,能很好地支持 Matchvs 全双工低延迟通信、验证授权等功能要求。

gameServer framework 主要提供了以下功能:
1. 接收并处理房间匹配、对战数据等消息;
2. 为gameServer SDK提供主动推送数据的能力;
3. 在独立部署方案下,向Matchvs注册gameServer。
gameServer SDK提供面向开发者的房间、玩家、对战数据等API接口。开发者能够以此获取并控制每一个房间和玩家的状态,从而实现更丰富的游戏功能。
自定义服务端逻辑。开发者基于gameServer SDK实现定制化的功能,例如控制游戏进程、仲裁、数据持久化等等。

商业化游戏服务器引擎自定义框架设计思路相关推荐

  1. Egret与国内首个商业化游戏服务器引擎Matchvs达成深度合作

    日前,Matchvs与白鹭引擎(Egret)正式达成合作.双方在市场.产品和服务等方面达成共识,共同锁定H5游戏领域,发布前后端一体解决方案.在此次合作中,Matchvs为白鹭引擎提供后端联网解决方案 ...

  2. 类Photon游戏服务器引擎Matchvs简介

    在介绍Matchvs前,先来了解下是什么游戏服务器引擎?虽然很多人可能都听过国外的Photon,但相对于引擎,大家对游戏服务器框架这个概念可能更为熟悉.框架其实就是针对后台通讯部分搭建一个可复用的设计 ...

  3. Wind分布式游戏服务器引擎的实现

    Wind Wind是一款面向云的高性能.高效率以及高扩展性的大型分布式游戏服务器引擎.Wind利用Python语言的简洁语法以及丰富的生态库来提高游戏业务的开发效率,针对一些对性能有要求的游戏业务功能 ...

  4. Wind:一款面向云的分布式游戏服务器引擎

    Wind是一款面向云的高性能.高效率以及高扩展性的大型分布式游戏服务器引擎.Wind利用Python语言的简洁语法以及丰富的生态库来提高游戏业务的开发效率,针对一些对性能有要求的游戏业务功能(如实时战 ...

  5. 利用游戏服务器引擎Matchvs开发联网微信小游戏

    Matchvs是一款十分易用的游戏服务器引擎,开发者通过SaaS层提供的API,即可完成"就近"节点接入.玩家匹配.游戏数据通信的建立:PaaS提供GS开发框架.托管平台,无需自有 ...

  6. Scut游戏服务器引擎6.1.5.6发布,直接可运行,支持热更新

    1. 增加exe版(console),web版本(IIS)的游戏服宿主程序 2. 增加Model支持脚本化,实现不停服更新 3. 增加Language支持脚本化 4. 修改Sns与Pay Center ...

  7. 基于 Koa 的微服务 Node.js 框架设计思路与简单实现

    大家好,我是前端点线面,毕业于华中科技大学,非科班出身的一枚新时代农民工,现在是百度前端研发工程师,著有<前端百题斩>.数十篇学习思维导图(go.React.Redux.Vue.Vuex. ...

  8. 对接接口文档_接口自动化测试框架设计思路

    接口自动化测试--框架设计思路 1 前言 之前文章跟大家分享了一下自己在接口自动化测试中进行测试准备的一些相关知识点,接下来本篇文章详细分享一下接口自动化框架设计的思路总结,希望能对初次探索接口自动化 ...

  9. 游戏服务器引擎Matchvs游戏云第三方绑定教程

    众所周知,Matchvs是国内一款专注于移动游戏的游戏服务器引擎.开发者通过接入Matchvs的SDK,即便没有服务器开发人员,也可以轻松完成联网游戏的开发.近期,Matchvs开放了第三方绑定功能, ...

  10. python游戏服务器框架_有那些比较成熟的开源游戏服务器引擎/框架(编程语言不限)?...

    更新,没有看到服务器(逃. 下面仅为游戏引擎和框架推荐,需要的小伙伴简单看一下,正确的答案努力撰写中. 从角色扮演游戏到即时策略游戏,从冒险解谜游戏到动作射击游戏,甚至是只有一兆大小的迷你游戏,都有起 ...

最新文章

  1. K-means聚类自定义距离计算
  2. AI时代!我选Python因为Python是人工智能的未来
  3. Css标题中图片居中,图片居中:任意图片在div里的上下垂直都居中!
  4. ftruncate函数的功能及使用
  5. CF611F. New Year and Cleaning
  6. 初识python多线程
  7. 美国城市_泡泡图如何揭示美国最适合居住的城市
  8. Python《wallpaper abyss壁纸》
  9. flask中的static_path和static_path_url和static_folder
  10. linux先cd到mysql的运行路径下,Linux常用的服务器运维命令
  11. 全新版本的Tidy Up 5 Mac最新版!重复文件查找和磁盘清理工具
  12. Excel如何批量根据身份证号码查询出地址
  13. 电子信息技术专业名词中英文对照(三)
  14. 【数据可视化】免费开源BI工具DataEase实现了SQL数据集和Excel数据集关联?(什么?快别挡着我,冲!)
  15. Device Tree(五)移植DM9000,并挂载NFS
  16. 金盾视频加密器V2014视频加密原理分析
  17. 微信小程序云开发图片用作背景不显示
  18. 深入理解计算机系统第2版--读书笔记
  19. 快捷方式查看系统的配置信息 使用dxdiag
  20. 客户端修改opc服务器的数据,客户端读取opc服务器数据

热门文章

  1. php 数据透视表,无法打开数据透视表源文件怎么解决
  2. 《深入理解Java虚拟机》笔记04之垃圾收集算法
  3. Java最常见208道面试题:Java大土豆答案
  4. 国际贸易基础(六)外贸流程
  5. java创新创业比赛项目教程_基于JavaWeb的计算机创新创业平台的功能设计与实现...
  6. 颜色的RGBnbsp;指数
  7. 均价 和 最新价格 是啥意思 什么是MACD DIFF DEA 指标?
  8. 链家二手房成交数据分析(采用pytorch环境)
  9. 我为什么离开华为加入ThoughtWorks(思特沃克)
  10. 【面经】Thoughtworks软件开发