腾讯云云开发-使用Unity开发服务器逻辑并自动部署
成亮 大中华区技术经理 Unity & 余多 腾讯游戏云高级解决方案架构师 腾讯云
我们想让客户端同学可以独立完成联机游戏的开发
我们从一个关于服务器的,小需求开始,统计一下客户端启动次数?
-
添加基础联机功能需要几步?
-
服务端
买一台云主机,装系统、配置网络
装数据库、数据库建表
编写计数服务、发布和运行计数服务
-
网络
对齐网络协议
对齐ip端口
对齐消息格式
-
客户端
收发包处理
发起请求
上线前还有 监控体系、主机安全、网络安全、灾备机制、扩缩容...
-
-
这是一个简单快捷的演示,使用
腾讯云开发
来搞定脚本
com.unity.cloudbase // 1. 引入云开发sdk
// 2. 指定云开发环境ID
// 3. 通过云函数名调用相关云函数
// 点击函数调用一次云函数
// 4. 把云函数返回值打印
服务器端
- 打开腾讯云官网
- 搜索云开发,找到CloudBase
- 进入控制台,新建云函数 -> 部署新环境 // 相当于第一步,对齐云端服务器部分
- 进入环境,数据库 -> 新建集合 -> 添加文档
- 新建云函数 // 1. 找到数据库 2. 获取数据库命令列表 3. 找到数据,++ 4. 返回
-
云开发做了哪些
服务端
- 开通云开发环境
- 数据库建表,编写计数服务
- 被调用时自动拉起 serverless
网络
- 对其开发环境ID
- 对其云函数参数
客户端
- 通过SDK调用云函数
监控、日志、Serverless、扩缩容
-
核心价值
- 缩减开发联网游戏所需掌握的技术栈,快速迭代
- Serverless按量计费 + 基础版1免费
- 弹性扩容,并发无忧
-
应用场景
统计玩家活跃情况,以及类似场景
单机游戏排行榜,离线竞技场
挂机,模拟经营等弱交互游戏
回合制对战游戏
Serverless,额外响应的延迟,对网络要求不敏感的场景
-
完整Demo
- https://unity.cn/mgobe
- Demo包含:使用MGOBE的联机对战功能、使用TCB云函数的排行榜功能
-
腾讯云游戏云提供针对不同游戏开发场景的PaaS服务
TCB(云开发)
- 短链接 - 适合弱交互的联机游戏
- serverless架构,靠数据库保存状态
- 云函数 + 云数据库
- 便利性极强
MGOBE(小游戏对战引擎)
- 长链接 - 适合即时对战类游戏
- 标准的对战游戏架构,服务器内存保存状态
- 房间管理,匹配机制,消息框架和服务托管
- 便利性极强
其他游戏云产品:Gme(实时语音)、MTP(客户端安全)、TcaplusDB(游戏专用数据库)、Bugly(崩溃分析)
腾讯游戏云研发者qq群:1021722015
-
Unity游戏云:一站式打造联网游戏
Unity游戏云 Unity Connected Games Unity + 腾讯云
一站式打造联网游戏
- 在线游戏服务
- 云端资源分发,用户认证/数据存储,防沉迷,云开发
- 多人联网服务
- 服务器托管,玩家匹配,实时语音,网络同步
- 开发者服务
- 云构建
与编辑器集成,一键直达
- UnityHub#游戏云
稳定出色的联网游戏体验
- multiplay VIVOX. 实时服务器托管/实时语言
游戏内容分发 Unity Cloud Content Delivery
如何实现轻量级客户端?
如何可靠,安全更新内容?
-
资源发布流程
开发者可以建立不同用户的多个”桶“,以及为每一个版本的资源建立一个"Release"
然后轻松的管理者这些版本之间的推进(Promotion)关系,让您的资源版本管理轻松便捷,清晰明了!
开发:开发桶,不能发布
验证:验证桶,接收从开发桶推送的发布项
产品:产品桶,接收从验证桶推送的发布项 -
云端资源分发
管理和分发 2D/3D内容的解决方案
计划在全球范围内将内容分发给用户
引擎无关的解决方案,但会为Unity带来集成优势
可靠的安全托管的解决方案,带有支持软件包
-
Addressable + CCD案例展示 资源更新流程
- 使用Addressable加载远程资源 -> 创建CCD 存储桶 -> 制作资源包 -> 利用CLI和图形化插件上传文件到存储桶 -> 实现资源远程加载
- TODO 考虑Addressable实现版本发布流程
- CCD编辑器插件
- CCD编辑器插件在编辑器中搭建起了云端资源分发服务和可寻址资源系统(Addressable Asset)的桥梁,祝您轻松快速搭建起资源更新系统
- 下载:CCD产品页、在Unity Package Manager中搜索Cloud Content Delivery
- 在线游戏服务