# ET **Repository Path**: JackLei/ET ## Basic Information - **Project Name**: ET - **Description**: 包含C#游戏框架ET的服务器、客户端独立版本,核心代码与灵感来源于 egametang https://github.com/egametang/ET - **Primary Language**: C# - **License**: MIT - **Default Branch**: V6.0 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 4 - **Created**: 2022-01-04 - **Last Updated**: 2023-04-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ET 这是一个简配版ET,运行简单,方便测试学习,由泰课肉饼维护的分支。 包含C#游戏框架ET的服务器、客户端独立版本,核心代码与灵感来源于 egametang https://github.com/egametang/ET ## ET运行指南 1.安装.NetCore SDK: 要求.Net5.0 https://dotnet.microsoft.com/download 2.如果使用vs code开发,需要设置netsdk的windows环境变量,在用户变量中设置 配置环境变量名: MSBuildSdksPath 环境变量值:C:\Program Files\dotnet\sdk\5.x.xxx\Sdks (根据你自己的安装目录) 3.win下安装 .NETFramework ,下载页面上的 Developer Pack https://dotnet.microsoft.com/download/dotnet-framework ### 前端运行 1 客户端要求unity2018.3以上 ### 后端运行 1 用Visaul Studio 打开Server解决方案编译运行,或者命令行运行生成的Server.App.dll 2 需要单独编译Server/Hotfix/Server.Hotfix.csproj  ## 使用ET6.0时,注意下面两个问题: 1 框架是通过UnitGateComponent添加Unit到Actor字典中的,我觉得没有必要,就改了UnitComponent,用这个组件添加Unit到Actor字典中,原ET一定要使用UnitGateComponent组件,不然发Actor消息时,就会找不到Actor。 2 框架逻辑中消息转发时,会判断指令是 >=20000 才会认为是外网消息或需要网关转发到客户端的消息。所以你生成消息协议时,要设置所有的外网消息指令自增值20000起,不然不会向客户端转发消息。 ### ET网络斗地主案例教学(基于ET5.0网络通信,附ET核心框架构建解析) https://www.taikr.com/course/1053 ### 原ET框架作者:熊猫 ### 框架地址:https://github.com/egametang/ET ## ETServer c#游戏服务器框架 这是肉饼负责维护的一个ET框架的纯服务器版本,同步原框架更新。 ET框架使用C#做服务端,现在C#是完全可以跨平台的,在linux上安装.netcore,即可,不需要修改任何代码,就能跑起来。性能方面,现在.netcore的性能非常强,比lua,python,js什么快的多了,做游戏服务端完全不在话下。 ET框架不但支持TCP,而且支持可靠的UDP协议(ENET跟KCP),ENet是英雄联盟所使用的网络库,其特点是快速,并且网络丢包的情况下性能也非常好,这个我们做过测试TCP在丢包5%的情况下,moba游戏就卡的不行了,但是使用ENet,丢包20%仍然不会感到卡,非常强大。框架还支持使用KCP协议,KCP也是可靠UDP协议,据说比ENET性能更好,使用kcp请注意,需要自己加心跳机制,否则20秒没收到包,服务端将断开连接。三种协议可以无缝切换。 ## 视频教程: [肉饼老师主讲:](http://www.taikr.com/course/972) http://www.taikr.com/course/972 __讨论QQ群 : 474643097__