📦egametang / ET
← 返回首页
Unity3D Client And C# Server Framework
⚖️ NOASSERTION#c-sharp#server#game-engine#actor#unity📅 创建于 2010-06-27🔄 更新于 2026-08-26

📄 仓库 README

在 GitHub 查看 ↗
来自 GitHub 仓库自述文件 · 版权归原作者所有

English: please use AI to translate to english

ET10 The AI Native Framework

ET10 is a next-generation game development framework designed for the AI coding era.

Unlike traditional game frameworks that only focus on runtime performance, ET10 is built to make AI-assisted game development practical for large-scale online games.

ET10 combines:

Distributed MMO architecture Fiber-based actor runtime Cloud-native server infrastructure Hot reload workflows Automated gameplay testing AI harness skills Unity runtime bridge Analyzer-enforced architecture

so AI can safely develop, test, and maintain complex online game projects without breaking project structure.

Built for AI-Assisted Development

Most AI coding tools can generate code.

ET10 ensures the generated code can:

compile successfully pass gameplay tests obey architecture rules survive hot reload scale across distributed servers integrate safely with existing systems

before being accepted into production.

ET10 includes a powerful analyzer ecosystem to enforce large-scale project architecture, including:

async safety rules entity lifecycle protection package dependency constraints actor usage validation runtime safety checks

This allows AI to work within strict architectural boundaries instead of generating uncontrolled code.

Designed for Large-Scale Online Games

ET10 provides a modern MMO runtime with:

distributed actor model dynamic room scaling service discovery cloud-native deployment location services hotfix workflows runtime observability multi-process server architecture

The framework is designed for long-running, scalable online games rather than small standalone projects.

AI Harness + Automated Verification

ET10 goes beyond code generation.

It provides a complete AI development workflow including:

automated compilation gameplay verification multi-bot testing Unity Editor integration runtime log analysis test harness execution automated validation pipelines

AI is not only able to write code, but also verify whether the game actually works.

Unity Runtime Integration

ET10 includes a Unity runtime bridge that allows AI to interact directly with the engine runtime.

Examples include:

creating GameObjects modifying components controlling Play Mode refreshing assets reading logs running gameplay tests inspecting runtime entities

This enables a true AI-driven game development workflow instead of simple file-based code generation.

Why ET10?

Traditional frameworks are designed for human developers.

ET10 is designed for a future where:

AI writes code analyzers enforce architecture automated systems verify gameplay cloud infrastructure scales dynamically developers focus on game design instead of repetitive engineering tasks ET10 AI writes code. ET10 makes it production-ready.

For running instructions, please refer to Book/1.1Running Guide.md.

ET10.0(昭君)

  1. 开源版本使用ET License,只可以用于学习,不可二次修改开源,商业使用需要购买许可,价格4999,具体请看LICENSE文件
    | 包名 | 详细内容 |
    |------|------| | cn.etetet.harness | ai各种skills跟分析器,包括et-code, et-async, et-excel, et-luban, et-build, et-test, et-tdd等skills,还有包分析器, await分析器等等分析器, 主要用于严格限制ai行为 |
    | cn.etetet.unitybridge | 该包是Unity Skills, 实现了各种Unity操作,并且极其方便扩展,提出需求让ai实现即可。目前注册的68个指令全部包括:状态与生命周期 Ping、HostState、Compile、Refresh、RegenProject、EnterPlay、ExitPlay、Reload、EditorGetStateRequest、EditorPauseRequest、EditorUndoRequest、EditorRedoRequest;资源 AssetSearchRequest、AssetFindRequest、AssetGetPathRequest、AssetLoadRequest、AssetImportRequest、AssetRefreshRequest、AssetReadTextRequest;场景 SceneGetHierarchyRequest、SceneGetActiveRequest、SceneLoadRequest、SceneSaveRequest、SceneNewRequest;选择集 SelectionGetRequest、SelectionSetRequest、SelectionAddRequest、SelectionRemoveRequest、SelectionClearRequest;GameObject GameObjectCreateRequest、GameObjectDestroyRequest、GameObjectDuplicateRequest、GameObjectFindRequest、GameObjectGetInfoRequest、GameObjectRenameRequest、GameObjectSetActiveRequest;Transform TransformGetRequest、TransformSetPositionRequest、TransformSetRotationRequest、TransformSetScaleRequest、TransformSetParentRequest、TransformLookAtRequest、TransformResetRequest、TransformSetSiblingIndexRequest;Inspector InspectorGetComponentsRequest、InspectorGetPropertiesRequest、InspectorGetPropertyRequest、InspectorFindPropertyRequest、InspectorSetPropertyRequest、InspectorSetPropertiesRequest、InspectorAddComponentRequest、InspectorRemoveComponentRequest;Prefab PrefabInstantiateRequest、PrefabSaveRequest、PrefabUnpackRequest、PrefabGetInfoRequest、PrefabGetHierarchyRequest、PrefabApplyRequest;GameView GameViewGetResolutionRequest、GameViewListResolutionsRequest、GameViewSetResolutionRequest;其它 ConsoleGetLogsRequest、EditorLogRequest、ScreenshotCaptureRequest、UnityTestRunRequest、MenuItemExecuteRequest、BatchExecuteRequest、TestEcho |
    | cn.etetet.test | 测试框架,可以模拟整个游戏环境,实现整条客户端跟服务器交互。比如组队功能,可以写一个test,里面创建5个客户端机器人,然后让机器人发送消息实现组队,从而可以测试整个客户端跟服务端的组队逻辑。有了test框架,ai的工作检查变得极其轻松,只需要让ai写test,然后 review自己的test,确保test执行通过即可。不仅成实现逻辑层Test,UI Test也完全可以实现|
    | cn.etetet.behaviortree | 行为树包,提供BTNode、Sequence、Selector、Not、Condition、Action等行为树节点定义与运行时支持,并带有Unity编辑器可视化编辑、节点参数配置、运行路径调试和配置代码导出能力,适合实现怪物AI、任务流程、技能释放、复杂条件判断等可配置决策逻辑。 |
    | cn.etetet.servicediscovery | 服务发现包,提供服务注册、注销、查询、订阅、心跳、租约和变更通知能力,进程级ServiceDiscoveryAgent会把请求转发到当前服务发现主节点,并支持主节点切换、故障恢复和多客户端并发访问,适合多进程多服务器架构下动态发现服务 |
    | cn.etetet.conditionexpr | ConditionExpr包,可以把Excel/Luban中填写的条件表达式编译成行为树运行,支持数值比较、&&、||、!、括号、错误码绑定、多owner key和专用条件节点,适合副本进入条件、奖励领取条件、任务接取条件、功能开启条件等策划可配置条件判断 |
    | cn.etetet.spell | Spell包,提供技能与Buff系统,包含Spell/Buff配置模型、运行时施法逻辑、客户端表现组件和相关Unity编辑器工具,并复用行为树配置导出链路,适合实现技能释放、Buff结算、技能表现和复杂战斗流程配置。Unity菜单 ET->Spell->Spell Editor提供集成化的编辑器。甚至直接让ai自己配置即可 |
    | cn.etetet.aspire | Aspire包,整合ET框架与.NET Aspire,会根据StartConfig为每个ET进程和副本创建Aspire服务,自动传递SceneName、StartConfig、内外网端口等启动参数,并接入OTLP/OpenTelemetry,适合分布式应用编排、运行观测和监控 |

  2. game develop ai harness支持,ET10遥遥领先! 绝大部分框架要么客户端要么服务端,要想实现完善的vibe coding test框架是非常不舒服的,只有ET10这种前后端一起,才能极其方便开发双端test,直接打通前后端逻辑,联调都不用,test直接完成双端逻辑开发,完成联调工作。逻辑开发的工作量只剩下UI了。

  3. 使用请参考 Book/1.1Running Guide.md

讨论QQ群 : 474643097 (已满) 新手请加新手群:688514974


商业项目(已出现多个一个人开发的MMO上线,足以证明ET的强大):

  1. 千古风流 大型mmo,团队100人2年开发完成
  2. 神选誓约
  3. 危境 一个技术一个策划开发的mmo,抖音可以搜索危境看直播
  4. 魔力回忆 许木大厨一个人开发的魔力宝贝
  5. 新生 steam上,一个人开发的科幻mmo
  6. 怒斩屠龙之乾坤剑指 传奇项目
  7. 魔法点点2 一个人开发
  8. 养不大
  9. 天天躲猫猫2(ios2019春节下载排行19)
  10. 牛虎棋牌
  11. 五星麻将
  12. 代号肉鸽:无限 一个人开发
  13. 卡车人生
  14. 掌门太闲 一个人开发
  15. 万世镜
  16. Culture & Chest
  17. 史莱姆大乱斗
  18. 魔灵幻想 一个技术
  19. Tank Clash: Blitz!
  20. 黑山之巅
  21. 赴江湖 一款武侠类MMO

ET9最新Package,在这里搜索插件ET Packages,安装请看运行指南

  1. cn.etetet.mongodb 数据库补丁工具增强db包,用于团队或者线上对数据库数据打补丁,售价100元
  2. cn.etetet.yiuinumeric 增强版数值系统,需要搭配下面的luban插件使用,售价100元
  3. cn.etetet.yiuiluban 无缝替换cn.etetet.excel成luban配置,售价100元
  4. 限免 购买luban包即赠送以下所有
  5. cn.etetet.yiuicondition 条件系统
  6. cn.etetet.yiuigameobjectpool 游戏对象缓存池
  7. cn.etetet.yiuiaudio 音乐音效
  8. cn.etetet.yiuivideo 视频播放
  9. cn.etetet.yiuidamagetips 伤害提示
  10. cn.etetet.webgl 客户端支持打包webgl,前后端websocket连接,注意微信小游戏需要自己接入,由于已经支持了webgl,小游戏接入并不复杂,不接入小游戏主要是因为有人会使用团结有人用unity,没法统一版本,售价999元(购买过et8 webgl的可以免费升级)
  11. FGUI系列插件,icepower开发,免费
  12. YIUI系列插件 ET-UGUI框架 (yiyi开发,免费)

ET9.0 发布!(西施)

  1. ET9改成了Package模式,任何功能可以制作成ET Package放到ET Package中心,用户能极其简单的集成到自己项目中。制作package请看上面的制作指南
  2. ETTask实现了传递上下文功能,可以去掉烦人的CancellationToken传递 感谢 花语梦蝶 提出的的新思路
  3. Entity简化,去掉了ChildrenDB跟ComponentDB,自定义序列化SortedDictionary,可以指定某个Child或者Componet跟不跟随Parent序列化
  4. Kcp改成非托管内存分配,GC更少,感谢 Molth 提交的代码
  5. LICENSE更改了,为了保证让的大家修改的代码所有人都能方便的使用,ET9使用了新的LICENSE,具体请看LICENSE文件
  6. YIUI Package 感谢亦亦开发
  7. FGUI Package 感谢IcePower开发

ET Packages

ET Packages制作指南

ET论坛

ET视频教程

运行指南

分析器说明

熊猫的三门课程,需要请加QQ 80081771:

  1. 网络游戏架构设计 基于ET7.2,共27集,讲解ET7.2的框架设计细节
  2. 帧同步设计 基于ET8,共12集,讲解预测回滚帧同步设计
  3. 多线程架构设计 基于ET8,共11集,讲解ET8的多线程设计
  4. WebGL小游戏框架,基于ET8,完善的网络,配置,热更等等,跟ET8使用一样

ET8.1 发布!

8.1跟8区别不大,代码结构完全没有变化,主要是编译方式的修改,可以在Unity中按F6进行编译,也可以在IDE中进行编译,运行中reload可以先按F6编译,再按F7进行热重载

ET8 发布! 貂蝉

  1. 多线程多进程架构,架构更加灵活强大,多线程设计详细内容请看多线程设计课程
  2. 抽象出纤程(Fiber)的概念,类似erlang的进程,非常轻松的创建多个纤程,利用多核,仍然是单线程开发的体验
  3. 纤程调度: 主线程,线程池,每个纤程一个线程,3种调度方式
  4. Fiber间通信的Actor消息机制
  5. Entity方面,domain改成IScene,只要实现IScene接口,Entity就是domain,这样定义domain更加自由
  6. 预测回滚的帧同步实现 想详细了解可以看帧同步课程
  7. protobuf换成了memorypack,实现无gc的网络
  8. 纯C#版的kcp库,性能非常强,由sj提交
  9. 热更dll改成用ide编译,更加方便
  10. sj利用source generater实现了代码自动模板功能,目前可以自动生成System类,开发者只需要定义Awake Update静态方法即可,特别方便
  11. sj开发了分析器,实现了EntitySystemOf,根据entity接口一键生成对应的system方法
  12. 客户端利用fiber实现网络独立线程(demo已实现),甚至可以把逻辑跟表现使用独立的纤程,更好的利用多核
  13. 帧同步demo直接利用纤程创建房间,更加方便
  14. 纯c#版寻路dotrecast,至此ET已经完全C#化,没有任何cpp代码了
  15. kcp跟软路由底层同时支持tcp跟websocket,当udp联不通的情况下,可以切换成tcp Websocket,并且支持运行时动态切换,玩家不掉线!
  16. 集成了sj的非托管容器库,性能爆炸

📈 近 7 天 Star 趋势

每日新增 Star(柱)与累计 Star(线)· 数据来自 GitHub

🏆 排名变化趋势

在各榜单中的排名历史(数字越小越靠前)

📋 历史上榜记录

每次快照的详细数据
日期 榜单 排名 周期新增 总 STAR