scut服务器引擎 性能,Scut游戏引擎
本词条缺少信息栏、概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
Scut游戏引擎是一款免费开源的游戏服务器引擎,适用于开发AVG、SLG、RPG、MMOG等类型的网络游戏。
Scut游戏引擎概述
编辑
语音
同时支持Http、WebSocket和Socket协议通讯,支持Window、Mac和Linux多种平台部署,支持Redis内存数据库和MicrosoftSQL、MySql数据库;服务器引擎框架基于C#编写,游戏逻辑层可以选择使用C#、Python和Lua多种脚本进行开发,支持热更新的方式部署;客户端可以使用Coscos2d、Unity3d、FlashAir与服务器引擎对接;提供了丰富的中间件,可以简单快捷的搭建您的游戏。
Scut游戏引擎引擎特点
编辑
语音
多协议:支持Http/WebSocket/Socket
脚本化:支持C#/Python/Lua脚本开发
多平台:Windows/Linux平台
多数据库:MSSQL、Mysql及NoSql
服务器框架层次结构
Scut游戏引擎层次结构
主要包括:通讯协议层,Action动作层,中间件层,数据缓存层,数据实体层,数据持久层。层次关系如下:
Scut框架[1]
通讯协议层
服务器支持同时提供Http、WebSocket和Socket两种通讯接入方式;使用二进制的通讯协议,通过“协议生成器”工具设计客户端与服务器的通讯协议Action接口,它将生成客户端与服务器两端的接口通讯代码,减少通讯协议联调时间;另外也支持自定义的通讯协议,需要实现IActionDispatcher接口。
Action动作层
它属于业务逻辑层模块,需要开发者实现,你可以选择喜欢的(C#、Python和Lua)脚本语言开发,需要为每种请求行为设计相应的Action响应数据,客户端获得数据有两种方式,一种由客户端主动请求获得响应数据,或者由服务器主动推送相应的Action响应数据。
Action层使用脚本的优先级为:Python脚本->Lua脚本->C#脚本
中间件层
提供的游戏模块中间件可以方便快速构建应用,特别对繁琐的渠道登录和充值的SDK模块接入进入封装,简单的配置即可完成接入,参考《中间件使用文档》。
数据缓存层
缓存的基本元素是数据实体对象,分为ShareEntity、BaseEntity和LogEntity子类。
缓存的类型分为共享全局的和私有的两种,共享的缓存如果在内存中不存在时,它会从数据库中加载所有的数据到内存中;而私有类型的只会根据相应的Key加载部分数据到内存中;因此玩家特有的数据(如:背包,任务,副本)定义成私有的,像排行榜类型的定义成共享的。
为了提高服务器的响应速度,我们会将需要处理的实体数据放到缓存中,减少从数据库取数据的次数,同时缓存中的实体数据被改变后,引擎以异步的方式(100ms延迟时间)将数据同步到数据库中;当缓存中的数据在24小时内(可配置)未被使用时,缓存将会过期,引擎会自动将过期的缓存回收,降低内存使用。
数据实体层
数据实体是缓存存储的基本元素,通过对它进行序列化方式持久化存储(目前只支持C#脚本定义,实体类中不能有业务逻辑处理),并且定义有数据库表结构信息,通过表结构信息可以自动创建表、列,也及生成更新sql语句等功能,开发人员不必关注数据库结构设计,需要定义自己的数据实体类及属性(类名对应数据库的表名,属性对应字段)。
数据持久层
游戏数据持久化是最重要、最复杂、也是最容易出错的部分,框架封装了对数据库数据的读取、更新、删除和表的创建维护等管理;我们支持Redis、MSSQL、Mysql等多种数据库的方式持久化。
Scut游戏引擎服务器架构
包括:用户中心服务器,分服中心服务器,游戏私服服务器,Redis服务器,数据库服务器。服务器的拓扑结构图:
Scut服务器架构
用户中心服务器
用户中心负责用户注册,登录验证等服务。
分服中心服务器
分服中心管理多个游戏私服的状态、名称、通讯地址等信息,提供获取私服列表及私服状态查询服务。
游戏私服服务器
游戏私服提供具体的游戏业务逻辑服务,支持同时多人在线;一个私服对应一个Redis服务顺和一个数据库服务器。
Redis服务器
Redis服务器主要负责存储玩家游戏数据信息,游戏私服重启后玩家的数据不会丢失。
数据库服务器
数据库提供游戏配置数据信息,玩家操作日志信息,或者提供报表分析数据。
Scut游戏引擎稳定与性能
程序稳定
游戏服超过1000小时无须进行任何维护;数据自动同步,减少因开发者技能问题造成数据丢失。
内存占用
玩家不在线,在指定时间(24H)内将数据从Cache中移除,释放内存使用。
CPU占用
16核服务器,部署20个游服平均CPU低于10%,峰值低于30%。
压力在2500个玩家并发,响应时间平均20ms。(注:取2500并发是单服在线人以2k-3k上限,超出以扩新服的方式,需要高并发量考虑使用分布的架构)
参考资料
1.
github.com:Scut游戏引擎
..[引用日期2014-04-02]
scut服务器引擎 性能,Scut游戏引擎相关推荐
- Games104现代游戏引擎入门-lecture12游戏引擎的粒子和声效系统
Games104现代游戏引擎入门-lecture12游戏引擎的粒子和声效系统 1 粒子系统 1 粒子系统的历史 2 粒子系统的概念 1 位置,速度,大小,颜色,生命周期. 2 粒子系统的生命周期: 3 ...
- Games104现代游戏引擎入门-lecture14游戏引擎的引擎工具高级概念与应用
Games104现代游戏引擎入门-lecture14游戏引擎的引擎工具高级概念与应用 1 Glance of Game Production 2 World Editor 1 viewport 2 不 ...
- Games104现代游戏引擎入门-lecture2游戏引擎层次
Games104现代游戏引擎入门-lecture2游戏引擎层次 1 游戏引擎的层次 1 工具层: 2 功能层 3 资源层 4 核心层 5 平台层 6 第三方层 2 资源层 3 功能层 4 核心层 1数 ...
- LayaAir引擎放弃Canvas API,打造次世代3D引擎与云游戏引擎,提供AI赋能!
LayaAir引擎放弃Canvas原生API,并不等于放弃2D,而是为更好的发展2D和3D!那为什么要放弃Canvas原生API,以及LayaAir引擎未来的发展规划,这里我们来和大家聊一聊! 1.C ...
- 天涯明月刀游戏引擎是什么 游戏引擎解读
天涯明月刀电影级游戏画面感刷新了国产武侠3D网游图形.技术和画面表现能力的上限.无论是极具写实的场景效果还是人物一招一式,都成为玩家对这部电影网游期待的理由. 对于天涯明月刀这款国产大作来说,游戏引擎 ...
- 2018html游戏引擎,跨平台三维游戏引擎Unity Pro 2018.1 Win x64
跨平台三维游戏引擎Unity Pro 2018.1 Win x64 Unity是由Unity Technologies开发的跨平台游戏引擎,主要用于开发三维和二维视频游戏和计算机.控制台和移动设备的模 ...
- DTOS帝拓思的3D引擎将取代游戏引擎巨兽,实现国产化替代
7月11日-7月22日为期两周的"科技瞭望塔"2022联想CVC创投周活动,正在北京联想全球总部进行.期间,联想新视界3D引擎Z-Engine 4.2在业界引起了剧烈反响.该产品系 ...
- Games104现代游戏引擎入门-lecture16游戏引擎的Gameplay玩法系统基础_AI Basic
1 Navigation Navigation Steps: 1 Map Representations-Walkable Area 2 Formats 1 Waypoint Network 把空间抽 ...
- 十五开源的Android(2D或3D)Android开发游戏引擎
Android游戏开发Android游戏引擎是非常有用的,这里是10个开源的Android(2D或3D)Android开发的游戏引擎. 1. Rokon:Android的开源2D游戏引擎 Rok ...
最新文章
- 调查显示企业对 Linux 开发人才需求日渐增长
- 从小一看到数字,脑子里就开始搞颜色......
- sql语句基础学习(不涉及多表查询)
- WCF从理论到实践(10):异常处理 (转)
- jquery ready() 与window onload的区别
- 主题样式之花里胡哨之鼠标点击效果
- SQL Prompt
- 操作系统实验报告,适用与大一大二学生
- 小游戏学习--获取已发布微信小游戏源码
- Evolutionary Acyclic Graph Partition
- 记一次失败的小米前端面试经历
- 将csv文件分割成多个文件
- 浙大PAT甲级-1017
- 在腾讯这一年,坚守初心持续单纯!
- python中使用cv2遍历图片像素点以及改变像素点的像素值
- MYSQL语句优化:limit和count的优化
- 极客大学产品经理训练营:运营思维 第19课总结
- maven已支持支付宝开放平台SDK
- 武汉市2022年东湖高新区外资企业投资发展补贴政策申报指南
- 硬盘柱面损坏怎么办_【已解决】郁闷了。。。笔记本硬盘0柱面坏道。。。分享下教训、经验...