瀏覽代碼

整理readme

tanghai 4 年之前
父節點
當前提交
711b7e90b6
共有 1 個文件被更改,包括 13 次插入99 次删除
  1. 13 99
      README.md

+ 13 - 99
README.md

@@ -38,31 +38,25 @@ erlang语言一大优势就是位置透明的消息机制,用户完全不用
 ### 6.提供服务器不停服动态更新逻辑功能  
 ### 6.提供服务器不停服动态更新逻辑功能  
 热更是游戏服务器不可缺少的功能,ET框架使用的组件设计,可以做成守望先锋的设计,组件只有成员,无方法,将所有方法做成扩展方法放到热更dll中,运行时重新加载dll即可热更所有逻辑。
 热更是游戏服务器不可缺少的功能,ET框架使用的组件设计,可以做成守望先锋的设计,组件只有成员,无方法,将所有方法做成扩展方法放到热更dll中,运行时重新加载dll即可热更所有逻辑。
 ### 7.客户端使用C#热更新,热更新一键切换  
 ### 7.客户端使用C#热更新,热更新一键切换  
-因为ios的限制,之前unity热更新一般使用lua,导致unity3d开发人员要写两种代码,麻烦的要死。之后幸好出了ILRuntime库,利用ILRuntime库,unity3d可以利用C#语言加载热更新dll进行热更新。ILRuntime一个缺陷就是开发时候不支持VS debug,这有点不爽。ET框架使用了一个预编译指令ILRuntime,可以无缝切换。平常开发的时候不使用ILRuntime,而是使用Assembly.Load加载热更新动态库,这样可以方便用VS单步调试。在发布的时候,定义预编译指令ILRuntime就可以无缝切换成使用ILRuntime加载热更新动态库。这样开发起来及其方便,再也不用使用狗屎lua了  
-### 8.客户端全热更新  
-客户端可以实现所有逻辑热更新,包括协议,config,ui等等  
-### 9.客户端服务端用同一种语言,并且共享代码  
+可以使用csharp.lua或者ILRuntime稍加改造即可做客户端热更。再也不用使用狗屎lua了,客户端可以实现所有逻辑热更新,包括协议,config,ui等等  
+### 8.客户端服务端用同一种语言,并且共享代码  
 下载ET框架,打开服务端工程,可以看到服务端引用了客户端很多代码,通过引用客户端代码的方式实现了双端共享代码。例如客户端服务端之间的网络消息两边完全共用一个文件即可,添加一个消息只需要修改一遍。  
 下载ET框架,打开服务端工程,可以看到服务端引用了客户端很多代码,通过引用客户端代码的方式实现了双端共享代码。例如客户端服务端之间的网络消息两边完全共用一个文件即可,添加一个消息只需要修改一遍。  
-### 10.KCP ENET TCP Websocket协议无缝切换  
+### 9.KCP ENET TCP Websocket协议无缝切换  
 ET框架不但支持TCP,而且支持可靠的UDP协议(ENET跟KCP),ENet是英雄联盟所使用的网络库,其特点是快速,并且网络丢包的情况下性能也非常好,这个我们做过测试TCP在丢包5%的情况下,moba游戏就卡的不行了,但是使用ENet,丢包20%仍然不会感到卡。非常强大。框架还支持使用KCP协议,KCP也是可靠UDP协议,据说比ENET性能更好,使用kcp请注意,需要自己加心跳机制,否则20秒没收到包,服务端将断开连接。协议可以无缝切换。  
 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,也可以动态执行一段新代码
+### 10. 3D Recast寻路功能  
+可以Unity导出场景数据,给服务端做recast寻路。做MMO非常方便,demo演示了服务端3d寻路功能  
+### 11. 服务端支持repl,也可以动态执行一段新代码  
 这样就可以打印出进程中任何数据,大大简化了服务端查找问题的难度,开启repl方法,直接在console中输入repl回车即可进入repl模式  
 这样就可以打印出进程中任何数据,大大简化了服务端查找问题的难度,开启repl方法,直接在console中输入repl回车即可进入repl模式  
+### 12.提供客户端机器人框架支持  
+几行代码即可创建机器人登录游戏。机器人压测轻而易举,机器人跟正常的玩家完全一样,上线前用机器人做好压测,大大降低上线崩溃几率    
 
 
-### 13.打包工具  
-ET框架带有一整套打包工具,完全傻瓜式。一键打包,自动分析共享资源。对比md5更新  
-
-### 14.还有很多很多功能,我就不详细介绍了  
+### 13.还有很多很多功能,我就不详细介绍了  
 a.及其方便检查CPU占用和内存泄漏检查,vs自带分析工具,不用再为性能和内存泄漏检查而烦恼  
 a.及其方便检查CPU占用和内存泄漏检查,vs自带分析工具,不用再为性能和内存泄漏检查而烦恼  
 b.使用NLog库,打log及其方便,平常开发时,可以将所有服务器log打到一个文件中,再也不用一个个文件搜索log了  
 b.使用NLog库,打log及其方便,平常开发时,可以将所有服务器log打到一个文件中,再也不用一个个文件搜索log了  
 c.统一使用Mongodb的bson做序列化,消息和配置文件全部都是bson或者json,并且以后使用mongodb做数据库,再也不用做格式转换了。  
 c.统一使用Mongodb的bson做序列化,消息和配置文件全部都是bson或者json,并且以后使用mongodb做数据库,再也不用做格式转换了。  
-d.提供一个强大的ai行为树工具  
-e.提供一个同步工具  
-f.提供命令行配置工具,配置分布式非常简单  
+d.提供一个同步工具  
 
 
-ET框架的服务端是一个强大灵活的分布式服务端架构,完全可以满足绝大部分大型游戏需求。使用这套框架,客户端开发者就可以自己完成双端开发,节省大量人力物力,节省大量沟通时间。  
+ET框架是一个强大灵活的分布式服务端架构,完全可以满足绝大部分大型游戏需求。使用这套框架,客户端开发者就可以自己完成双端开发,节省大量人力物力,节省大量沟通时间。  
 
 
 使用方法:  
 使用方法:  
 [运行指南](https://github.com/egametang/ET/blob/master/Book/1.1%E8%BF%90%E8%A1%8C%E6%8C%87%E5%8D%97.md)  
 [运行指南](https://github.com/egametang/ET/blob/master/Book/1.1%E8%BF%90%E8%A1%8C%E6%8C%87%E5%8D%97.md)  
@@ -70,9 +64,6 @@ ET框架的服务端是一个强大灵活的分布式服务端架构,完全可
 相关网站:  
 相关网站:  
 [ET论坛](https://et-framework.cn)  
 [ET论坛](https://et-framework.cn)  
 
 
-有自己觉得写得不错的Module可以pr提交到下面的库中,造福大家!  
-[module共享仓库](https://github.com/egametang/ET-Modules)  
-
 群友分享:  
 群友分享:  
 [行为树与fgui分支(Duke Chiang开发维护)](https://github.com/DukeChiang/ET.git)   
 [行为树与fgui分支(Duke Chiang开发维护)](https://github.com/DukeChiang/ET.git)   
 [ET学习笔记系列(烟雨迷离半世殇写)](https://www.lfzxb.top/)   
 [ET学习笔记系列(烟雨迷离半世殇写)](https://www.lfzxb.top/)   
@@ -104,94 +95,17 @@ ET框架的服务端是一个强大灵活的分布式服务端架构,完全可
 
 
 视频教程:  
 视频教程:  
 [肉饼老师主讲](http://www.taikr.com/my/course/972)  
 [肉饼老师主讲](http://www.taikr.com/my/course/972)  
-[官剑铭主讲]https://edu.manew.com/course/796
+[官剑铭主讲](https://edu.manew.com/course/796)  
 [ET新手教程-初见主讲](https://pan.baidu.com/s/1a5-j2R5QctZpC9n3sMC9QQ) 密码: ru1j  
 [ET新手教程-初见主讲](https://pan.baidu.com/s/1a5-j2R5QctZpC9n3sMC9QQ) 密码: ru1j  
 [ET新手教程新版-初见主讲](https://www.bilibili.com/video/av33280463/?redirectFrom=h5)  
 [ET新手教程新版-初见主讲](https://www.bilibili.com/video/av33280463/?redirectFrom=h5)  
 [ET在Mac上运行指南-L主讲](https://pan.baidu.com/s/1VUQbdd1Yio7ULFXwAv7X7A) 密码: l3e3  
 [ET在Mac上运行指南-L主讲](https://pan.baidu.com/s/1VUQbdd1Yio7ULFXwAv7X7A) 密码: l3e3  
-[ET框架系列教程-烟雨主讲-6.0版本](https://space.bilibili.com/33595745/favlist?fid=759596845&ftype=create)
+[ET框架系列教程-烟雨主讲-6.0版本](https://space.bilibili.com/33595745/favlist?fid=759596845&ftype=create)  
 
 
 .net core 游戏资源分享  
 .net core 游戏资源分享  
 [各种dotnet core项目收集](https://github.com/thangchung/awesome-dotnet-core)  
 [各种dotnet core项目收集](https://github.com/thangchung/awesome-dotnet-core)  
 
 
 __讨论QQ群 : 474643097__
 __讨论QQ群 : 474643097__
 
 
-# ET 6.0发布beta版! 
-1.协程锁功能,解决异步队列的大杀器  
-2.抽象出Scene的概念,realm gate map location等等,都是一个个scene, 进程变成了容器,可以容纳各种Scene  
-3.内网消息全部使用Actor消息,一个Scene也是一个actor  
-4.升级到netcore3.0
-5.还有大量更新,等你去挖掘,这是beta版本,暂时ilrt没有调通,只用来学习思想,不保证正确,出了bug不要怪我  
-6.招聘一个中级渲染, 工作地点厦门,待遇优厚  
-......
-
-# ET 5.0发布! 5.0将是一个长期支持版本,之后发现的bug,5.0也会进行修复  
-1.增加了服务端3d recast寻路功能,客户端导出数据,服务端使用,做mmo及其方便  
-2.客户端增加了组件可视化功能,组件层级关系跟字段可以在unity中显示  
-3.增加ETTask,ETTask是一个轻量级单线程的task,相比Task性能更强,GC更少  
-4.增加了ETBook,写了一些入门的文章给大家学习  
-5.升级了ILRuntime,Hotfix.dll目前完全支持Unity编译,并且mac上也能编译  
-6.增加了状态同步的demo,基本上就是一个简单的mmo demo,十分方便入门学习  
-7.增加了repl功能,可以在server进程的console中输入代码及时执行,调试服务器非常方便  
-......
-
-# ET 4.0发布! 4.0将是一个长期支持版本,之后发现的bug,4.0也会进行修复  
-1.net core升级为2.1  
-2.网络方面:tcp网络改成了SocketAsyncEventArgs实现,kcp改成了使用c库实现,protobuf升级成了3.0,网络库方面unity客户端实现了0GC!  
-3.增加了Websocket支持,websocket跟tcp,udp接口完全兼容,使用十分简单  
-4.actor方面: actor增加原生actor,并且在原生actor基础上实现location actor,实现的更加清晰,使用更加方便易懂  
-5.数据库方面: DBProxyComponent实现了lambda表达式查询, 修复了一个超级异步阻塞bug  
-6.客户端使用asmdef实现了Hotfix库自动编译功能,并且完美支持Unity2018,再也不用自己搞引用问题了  
-7.修复了一大批bug  
-1. ......  
-
-
-# ET 3.6发布! 
-1.kcp改成C版的,已经去掉所有gc,性能大幅提升,unity mono的socket udp收发还有少量gc,这个只能以后替换成C版的socket了,kcp增加了安全性检查,防止了第三方虚假包的攻击  
-2.优化了热更扫描Attribute的性能,提升服务端热更速度  
-3.修复: 热更层订阅model层事件的一个bug,mono层抛事件到热更层会抛多次  
-4.修复windows上更新资源删除Version.txt的bug  
-5.readme增加mac运行指南视频教程链接,L主讲  
-
-# ET 3.5发布! 
-1.protobuf改用官方3.0版本,不再使用protobuf-net,以消除消息反序列化GC,目前网络层真正做到了0GC  
-2.客户端资源更新直接计算本地文件的md5  
-3.修复了数据库组件一个超级bug,这个bug会导致数据库阻塞调用  
-4.修复MongoHelper一个bug,会导致CompnentWithId组件多次注册到Mongo Bson驱动,导致异常  
-5.增加了Mac平台相关工具  
-
-# ET 3.4发布! 
-1.使用SocketAsyncEventArgs重新实现了TCP跟KCP网络库,大大减少GC,网络层收消息除了protobuf已经是0GC了  
-2.修复了TimerCompnent一个bug  
-3.修复了linux跟mac在netcore2.1下启动报错的问题  
-4.增加了db的lambda表达式查询  
-5.修复SceneChangeComponent错误  
-
-# ET 3.3发布! 
-1.增加了原生actor实现,知道actor的InstanceId即可直接发送Actor消息,不需要注册跟查询location  
-2.修复了组件反序列化后注册到EventSystem中的bug  
-3.修复ResourceComponent中异步加载资源使用了同步调用的bug  
-4.加载ab包的时候先判断热更里面有没有,有则加载热更的,没有则加载StreamingAssets里面的  
-5.优化了定时器实现  
-6.修复其它一系列小bug  
-
-# ET 3.2发布! 3.2变化不大修复了一些bug,进一步完善了ET
-1.增加了ChangeSystem,可以订阅组件改变事件  
-2.修复dbcache中查询数据库一定会cache的bug  
-3.去掉了IEntityActorHandler接口,使用string来分发  
-
-# ET 3.1发布!
-1.进一步完善了entity component模型,去掉了Dispose层级,增加了ComponentWithId继承层级,Component增加了InstanceId,更好的实现了System机制  
-2.增加了DestroySystem事件,在Component Dispose时调用  
-3.actor实现代码进行了简化  
-4.升级了默认Unity版本,修复了kcp协议中UdpClient无法接收udp消息的bug  
-
-# ET 3.0发布啦! 3.0是ET非常完善的一个版本,在2.0的基础上增加了如下功能:
-1.客户端全热更支持,逻辑,消息,事件,config,UI等等全部可以热更了  
-2.System改成了事件机制,awake,update,start等system可以在不同模块多次订阅  
-3.消息去掉了继承结构,其它客户端对接起来,更方便了。  
-4.增加了初步的Module机制,目录结构更清晰,社区分享代码更方便了。  
-5.优化了代码,3.0的代码更加清晰,结构更加合理,前后端代码几乎一模一样了  
-
 
 
 # 支付宝捐赠  
 # 支付宝捐赠  
 ![使用支付宝对该项目进行捐赠](https://github.com/egametang/ET/blob/master/Book/donate.png)
 ![使用支付宝对该项目进行捐赠](https://github.com/egametang/ET/blob/master/Book/donate.png)