最新要闻
- 每日快讯!凯华推出“黑莓冰淇淋”轴体:加长轴心敲击更清脆
- 全球速读:北斗导航年产值超5000亿元!12nm芯片重大突破
- 摩托“骑士”双手离把耍酷还发抖音炫技 被“顺网线”找到_今亮点
- 安卓用户正在加速逃离:为何买苹果手机的人越来越多了?
- 1499元起 努比亚N5发布:6nm国产芯 今日报
- 煜邦电力: 关于回复上海证券交易所《关于北京煜邦电力技术股份有限公司向不特定对象发行可转换公司债券的审核中心意见落实函》的公告
- 幺妹带你慢慢耍歌词完整版_请问老师们有谁知道幺妹带你慢慢耍歌词曲谱 这首歌确实不错好听
- 拒绝录用有文身员工 老板回应被威胁:看不惯年轻人必教育到底
- 滚动:《塞尔达传说:王国之泪》掉帧严重:任天堂Switch性能不够用了
- 排面!理想L7成卢森堡大使馆官方用车:“这是中国最棒的车”_关注
- 环球今日讯!预制半成品、来“料”加工、网上销售 普陀警方捣毁一伪造、买卖身份证件黑色产业链
- 今日精选:万家基金尹诚庸离任6只基金
- iQOO首款降噪无线耳机来了:将与Neo8系列同步推出
- 悲惨的5G基站:你敢建?我就敢拆!
- 害怕失去灵魂?大众汽车:我们没使用华为车机软件|环球快讯
- 焦点热议:小黑旗舰升级13代酷睿!联想2023款ThinkPad X1 Carbon国内发布
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
ET介绍——强大的基于.dotnet7+Unity3d的双端C#开源游戏框架-全球报资讯
ET是一个开源的游戏客户端(基于unity3d)服务端双端框架,服务端是使用C# .net core开发的分布式游戏服务端,其特点是开发效率高,性能强,双端共享逻辑代码,客户端服务端热更机制完善,同时支持可靠udp tcp websocket协议,支持服务端3D recast寻路等等,作者为熊猫(Egametang),曾在网易工作多年,是游戏开发行业中的佼佼者。
ET的功能:
1.可用VS单步调试的分布式服务端,N变1
一般来说,分布式服务端要启动很多进程,一旦进程多了,单步调试就变得非常困难,导致服务端开发基本上靠打log来查找问题。平常开发游戏逻辑也得开启一大堆进程,不仅启动慢,而且查找问题及其不方便,要在一堆堆日志里面查问题,这感觉非常糟糕,这么多年也没人解决这个问题。ET框架使用了类似守望先锋的组件设计,所有服务端内容都拆成了一个个组件,启动时根据服务器类型挂载自己所需要的组件。这有点类似电脑,电脑都模块化的拆成了内存,CPU,主板等等零件,搭配不同的零件就能组装成一台不同的电脑,例如家用台式机需要内存,CPU,主板,显卡,显示器,硬盘。而公司用的服务器却不需要显示器和显卡,网吧的电脑可能不需要硬盘等。正因为这样的设计,ET框架可以将所有的服务器组件都挂在一个服务器进程上,那么这个服务器进程就有了所有服务器的功能,一个进程就可以作为整组分布式服务器使用。这也类似电脑,台式机有所有的电脑组件,那它也完全可以当作公司服务器使用,也可以当作网吧电脑。
(资料图)
2.随意可拆分功能的分布式服务端,1变N
分布式服务端要开发多种类型的服务器进程,比如Login server,gate server,battle server,chat server friend server等等一大堆各种server,传统开发方式需要预先知道当前的功能要放在哪个服务器上,当功能越来越多的时候,比如聊天功能之前在一个中心服务器上,之后需要拆出来单独做成一个服务器,这时会牵扯到大量迁移代码的工作,烦不胜烦。ET框架在平常开发的时候根本不太需要关心当前开发的这个功能会放在什么server上,只用一个进程进行开发,功能开发成组件的形式。发布的时候使用一份多进程的配置即可发布成多进程的形式,是不是很方便呢?随便你怎么拆分服务器。只需要修改极少的代码就可以进行拆分。不同的server挂上不同的组件就行了嘛!
3.跨平台的分布式服务端
ET框架使用C#做服务端,现在C#是完全可以跨平台的,在linux上安装.netcore,即可,不需要修改任何代码,就能跑起来。性能方面,现在.netcore的性能非常强,比lua,python,js什么快的多了。做游戏服务端完全不在话下。平常我们开发的时候用VS在windows上开发调试,发布的时候发布到linux上即可。ET框架还提供了一键同步工具,打开unity->tools->rsync同步,即可同步代码到linux上
./Run.sh Config/StartConfig/192.168.12.188.txt
即可编译启动服务器。
4.提供协程支持
C#天生支持异步变同步语法 async和await,比lua,python的协程强大的多,新版python以及javascript语言甚至照搬了C#的协程语法。分布式服务端大量服务器之间的远程调用,没有异步语法的支持,开发将非常麻烦。所以java没有异步语法,做单服还行,不适合做大型分布式游戏服务端。例如:
// 发送C2R_Ping并且等待响应消息R2C_PingR2C_Ping pong = await session.Call(new C2R_Ping()) as R2C_Ping;Log.Debug("收到R2C_Ping");// 向mongodb查询一个id为1的Player,并且等待返回Player player = await Game.Scene.GetComponent().Query (1);Log.Debug($"打印player name: {player.Name}")
可以看出,有了async await,所有的服务器间的异步操作将变得非常连贯,不用再拆成多段逻辑。大大简化了分布式服务器开发
5.提供类似erlang的actor消息机制
erlang语言一大优势就是位置透明的消息机制,用户完全不用关心对象在哪个进程,拿到id就可以对对象发送消息。ET框架也提供了actor消息机制,实体对象只需要挂上MailBoxComponent组件,这个实体对象就成了一个Actor,任何服务器只需要知道这个实体对象的id就可以向其发送消息,完全不用关心这个实体对象在哪个server,在哪台物理机器上。其实现原理也很简单,ET框架提供了一个位置服务器,所有挂载MailBoxComponent的实体对象都会将自己的id跟位置注册到这个位置服务器,其它服务器向这个实体对象发送消息的时候如果不知道这个实体对象的位置,会先去位置服务器查询,查询到位置再进行发送。
6.提供服务器不停服动态更新逻辑功能
热更是游戏服务器不可缺少的功能,ET框架使用的组件设计,可以做成守望先锋的设计,组件只有成员,无方法,将所有方法做成扩展方法放到热更dll中,运行时重新加载dll即可热更所有逻辑。
7.客户端使用C#热更新,热更新一键切换
可以使用csharp.lua或者ILRuntime稍加改造即可做客户端热更。再也不用使用狗屎lua了,客户端可以实现所有逻辑热更新,包括协议,config,ui等等。
8.客户端热重载
开发不用重启客户端即可修改客户端逻辑代码,开发极其方便
9.客户端服务端用同一种语言,并且共享代码
下载ET框架,打开服务端工程,可以看到服务端引用了客户端很多代码,通过引用客户端代码的方式实现了双端共享代码。例如客户端服务端之间的网络消息两边完全共用一个文件即可,添加一个消息只需要修改一遍。
10.KCP ENET TCP Websocket协议无缝切换
ET框架不但支持TCP,而且支持可靠的UDP协议(ENET跟KCP),ENet是英雄联盟所使用的网络库,其特点是快速,并且网络丢包的情况下性能也非常好,这个我们做过测试TCP在丢包5%的情况下,moba游戏就卡的不行了,但是使用ENet,丢包20%仍然不会感到卡。非常强大。框架还支持使用KCP协议,KCP也是可靠UDP协议,据说比ENET性能更好,使用kcp请注意,需要自己加心跳机制,否则20秒没收到包,服务端将断开连接。协议可以无缝切换。
11. 3D Recast寻路功能
可以Unity导出场景数据,给服务端做recast寻路。做MMO非常方便,demo演示了服务端3d寻路功能
12. 服务端支持repl,也可以动态执行一段新代码
这样就可以打印出进程中任何数据,大大简化了服务端查找问题的难度,开启repl方法,直接在console中输入repl回车即可进入repl模式
13.提供客户端机器人框架支持
几行代码即可创建机器人登录游戏。机器人压测轻而易举,机器人跟正常的玩家完全一样,上线前用机器人做好压测,大大降低上线崩溃几率
14.AI框架
ET的AI框架让AI编写比UI还简单
15.测试用例框架
跟市面上的测试用例不同,ET的测试用例都是一个完整的游戏环境,针对协议级别,不需要搞各种接口去mock。写起来非常快速
16.还有很多很多功能,我就不详细介绍了
a.及其方便检查CPU占用和内存泄漏检查,vs自带分析工具,不用再为性能和内存泄漏检查而烦恼b.使用NLog库,打log及其方便,平常开发时,可以将所有服务器log打到一个文件中,再也不用一个个文件搜索log了c.统一使用Mongodb的bson做序列化,消息和配置文件全部都是bson或者json,并且以后使用mongodb做数据库,再也不用做格式转换了。d.提供一个同步工具
ET框架是一个强大灵活的分布式服务端架构,完全可以满足绝大部分大型游戏需求。使用这套框架,客户端开发者就可以自己完成双端开发,节省大量人力物力,节省大量沟通时间。
ET开源地址地址:egametang/ET: Unity3D Client And C# Server Framework (github.com) qq群:474643097
关键词:
-
ET介绍——强大的基于.dotnet7+Unity3d的双端C#开源游戏框架-全球报资讯
ET是一个开源的游戏客户端(基于unity3d)服务端双端框架,服务端是使用C netcore开发的分布式游戏服务端
来源: ET介绍——强大的基于.dotnet7+Unity3d的双端C#开源游戏框架-全球报资讯
热推荐:Java设计模式-外观模式
python包管理工具:Conda和pip比较
债市日报:5月18日
每日快讯!凯华推出“黑莓冰淇淋”轴体:加长轴心敲击更清脆
全球速读:北斗导航年产值超5000亿元!12nm芯片重大突破
摩托“骑士”双手离把耍酷还发抖音炫技 被“顺网线”找到_今亮点
安卓用户正在加速逃离:为何买苹果手机的人越来越多了?
1499元起 努比亚N5发布:6nm国产芯 今日报
煜邦电力: 关于回复上海证券交易所《关于北京煜邦电力技术股份有限公司向不特定对象发行可转换公司债券的审核中心意见落实函》的公告
热文:【一步步开发AI运动小程序】一、准备工作
python标准模块介绍 -Base64: Base64, Base85等数据编码|全球时讯
学系统集成项目管理工程师(中项)系列22b_信息化知识(中)
express框架的基本使用 环球新资讯
幺妹带你慢慢耍歌词完整版_请问老师们有谁知道幺妹带你慢慢耍歌词曲谱 这首歌确实不错好听
拒绝录用有文身员工 老板回应被威胁:看不惯年轻人必教育到底
滚动:《塞尔达传说:王国之泪》掉帧严重:任天堂Switch性能不够用了
排面!理想L7成卢森堡大使馆官方用车:“这是中国最棒的车”_关注
环球今日讯!预制半成品、来“料”加工、网上销售 普陀警方捣毁一伪造、买卖身份证件黑色产业链
论文、专利、文献检索及图像数据工具总结 时讯
工控老曹说——TSN标准化如何赋能多领域以太网新发展
焦点讯息:2023最佳python编辑器和IDE
git 常用指令-当前聚焦
今日精选:万家基金尹诚庸离任6只基金
iQOO首款降噪无线耳机来了:将与Neo8系列同步推出
悲惨的5G基站:你敢建?我就敢拆!
害怕失去灵魂?大众汽车:我们没使用华为车机软件|环球快讯
焦点热议:小黑旗舰升级13代酷睿!联想2023款ThinkPad X1 Carbon国内发布
世界快看点丨马斯克再度催生:再不生娃人类就要灭亡了
苏联题材科幻动作游戏《原子之心》Steam 史低促销
微服务圣经1:零基础搭建一套SpringCloud微服务脚手架(SpringCloud+Dubbo+Docker+Jenkins) 环球速递
低代码开发——进最热的赛道,啃最硬的骨头-视焦点讯
Python字符串替换的3种方法-播资讯
Django SQL注入漏洞复现 (CVE-2022-28347)
每日机构分析:5月18日
天天热资讯!斗罗大陆:为何唐三成为海神后,只赠予了吉祥一个神赐魂环,
我国本月将发射神舟十六号载人飞船:与神舟十五号乘组在轨交接-消息
【世界速看料】充电时 先插手机还是充电器?这几种方法都错了
正面挑战微软!谷歌宣布将推出AI写代码功能
来了!消息称RTX 4060 Ti今晚发布:NV定8/16GB版价格 或399美元
环球今头条!小米13旗舰主摄下放!小米Civi 3关键参数曝光:IMX800加持
陈张开展“进企业促发展”人大代表履职建功主题活动 焦点精选
九头蛇的安装与使用 世界热议
焦点热门:第二章:数据模型与查询语言
P1344 [USACO4.4] 追查坏牛奶 Pollutant Control (网络流)
MySQL 迁移至 SQLite 问题记录 全球通讯
全球今日报丨【新华500】新华500指数(989001)18日下跌0.14%
当前时讯:最高检发新文:NFT法律属性定调哪般?
天天日报丨黄桃+椰果!林家铺子双色水果罐头8罐仅19.9元
天天头条:比亚迪再掀桌子!新款汉DM-i冠军版上市:18.98万起合资还怎么玩
同事都说买高像素就对了 四款热门高像素全画幅相机推荐-天天百事通
微资讯!HTC U23 Pro发布:性价比这么低的手机不多了
世界热点评!日赚4亿还嫌多?移动联通电信现在和10年前日赚一样多:手机资费下降95%等
百度投资卡车整车研发商载合汽车科技_环球快讯
环球热点![MySQL 如何分析性能]
天天速递!Python从零到壹丨图像增强的顶帽运算和底帽运算
知识拷问:工作站和服务器哪个更适合做CST电磁仿真?|每日观察
今日讯!3万多买钻戒如今只值2000元 网友称还是黄金保值:你会买钻戒吗?
60Hz显示器配120帧显卡是浪费?答案意外_世界即时看
最新资讯:包含多家中国造车新势力!马斯克预言一年内必有车厂倒闭
360 AIGC产品定名360智脑、360鸿图
三星量产12nm DDR5内存:功耗骤降23% 全球新视野
追讨欠款的有效期限是多久?欠钱不还电话不接微信不回怎么办?
ChatGPT 插件,组合后更妙了
快报:零跑汽车在杭州成立动力系统公司,注册资本1亿元
地球母亲怎么了?世界气象组织警告:未来五年全球气温将创新高-热头条
全球最新:知名女演员最新大片引争议 网友惊呼:这花有毒!
用这些C#代码混淆器保护你的代码安全_速递
环球微头条丨港元1个月拆息升至近5个月高 报4.57238厘
215英寸口袋巨幕!雷鸟Air Plus发布:首发2299元
世界快消息!男子在路边花5600元买到战国青铜剑:捐赠给博物馆
《王者荣耀》安琪拉/亚瑟520限定皮肤公布 传说品质-每日聚焦
周星驰担任网飞版《美猴王》执行制作:定档8月18日 大圣外形被吐槽|世界速讯
《权力的游戏》演员称曾被网暴到退网:就因为角色不讨喜
5月18日河北中昌化肥硫酸铵价格动态
世界最资讯丨MongoDB + SpringBoot 的基础CRUD、聚合查询
开源即时通讯IM框架MobileIMSDK的Uniapp端开发快速入门
【世界独家】TimescaleDB VS TDengine:写入性能和查询性能是 TDengine 的 1/6、1/28
世界百事通!夜莺官方文档优化第一弹:手把手教你部署和架构讲解,消灭所有部署失败的 case!干!
直播预告 | 员工在公司体验感UP,原因竟然是这个......
美国债务上限谈判出现曙光 日元价格跌破年内新低
全球热点评!小米Civi 3首发天玑8200 Ultra!小米影像大脑更强了:连拍提速235%
报告称:81%员工不认为其工作可以被AI取代-天天热点
7450MB/s!三星990 Pro旗舰SSD价格腰斩:2TB只要1229元
每日时讯!发条朋友圈就能赚钱?支付宝辟谣:“朋友圈出租”是骗局
头条:魔兽国服关了114天 暴雪选择躺平:工作室脚本泛滥 玩家遭殃
国家金融监督管理总局官方微信公众号今日上线 世界讯息
《安富莱嵌入式周报》第312期:开源磁场照相机,仿生神经元PCB,开源无线耳机,手机系统PalmOS移植到各种单片机,开放系统组装协议OSAP 环球聚看点
今日精选:第141篇:微信小程序wx.request接口报错(errno: 600001, errMsg: "request:fail -2:net::ERR_
阿里云微服务引擎 MSE 全新升级,实用能力更普惠,最高降幅 75%
焦点信息:沉默的答案!直播源码禁言技术的实现
spring框架_常见工厂后处理器 最新资讯
预售价13.98-14.98万元 北京现代MUFASA定名沐飒 全球时讯
稻香村旗舰店:稻香私房粽子4只9.9元狂促(4粽4味)|今日快讯
天天百事通!Redmi Book 14轻薄本第三大升级公布:4000元档颜值绝了
一老年代步车当街起火:爷孙两人被严重烧伤
纯白YYDS!魅族20白色款3199元起开始预约:3年质保
女生遭两闺蜜PUA长达8年被骗百万 网友提醒:警惕“贬低式关系”
2023广州李荣浩演唱会需要预约吗?
全球热资讯!HTTP1.0、HTTP1.1、HTTP2.0 协议的特点