ET框架:让Unity客户端与C服务端不再各写一套
2026/9/17 22:18:41 网站建设 项目流程

ET框架:让Unity客户端与C#服务端不再各写一套

【免费下载链接】ETUnity3D Client And C# Server Framework项目地址: https://gitcode.com/GitHub_Trending/et/ET

做多人游戏时最常被卡住的,是服务端逻辑和客户端各写一遍,分布式调试又要同时开好几个进程。ET框架的做法,是让Unity客户端和C#服务端共用同一套逻辑代码,并把分布式服务端的联调压缩进单个进程,主要面向要同时管客户端与服务端的团队。

🔧 ET框架核心设计:组件化、单进程与跨平台

实体与组件:把功能拆成可拼装的块

ET把游戏对象统一拆成实体(Entity,一切事物的基本单位),实体上可以挂组件(Component,挂在实体上的独立功能块)。也就是说,Player可以按需组合网络、属性、技能这些组件,各块独立扩展、互不拖累。传统做法是在一个大类里堆方法,或者层层继承;这里是"基础实体 + 组件拼接",组合关系一眼可见。原理展开可以看组件式设计说明。

单进程联调:分布式不再要多开窗口

ET开发期把全部服务器组件挂在同一个进程上,整套分布式拓扑在一个进程里就能模拟和断点调试。所以你可以像调本地代码一样调"集群"。传统做法是多个终端手动启动、逐台同步状态;这里是开发单进程,发布时用简单配置拆成多进程部署,代码不用改。

一套C#跨平台:Windows开发、Linux发布

服务端基于.NET 8(.NET Core的当前版本)编写,Windows上用Rider或Visual Studio调试,发布直接跑Linux,同一份代码不用改写。传统做法是客户端用C#、服务端换Go或Java,两边重复实现玩法;这里两端语言统一,公共逻辑直接复用。

🚀 ET框架从克隆到运行:环境搭建步骤

环境要求:Rider 2024.3+、.NET 8 SDK、Unity 6000.0.25。

  1. 克隆仓库:git clone https://gitcode.com/GitHub_Trending/et/ET
  2. 在Unity Hub中打开ET文件夹(完整步骤见运行指南)
  3. 把外部脚本编辑器配置为Rider
  4. 获取GitHub Token,配置包管理器
  5. 安装状态同步Demo包,或帧同步Demo包
  6. 在菜单运行ET→StateSync→Init,或ET→LockStep→Init
  7. 编译ET.sln解决方案
  8. 打开Init场景点Play,即可一体化运行,也可以独立启动服务器

![ET框架帧同步演示加载画面](https://raw.gitcode.com/GitHub_Trending/et/ET/raw/5cab01f7a8bee5f49f4781eebe9e2b1c6d7ebe0f/Packages/cn.etetet.lockstep/Assets/GameRes/Loading/Sprites/Warrior_Background2 1.png?utm_source=gitcode_repo_files)

⚙️ ET框架热更新、网络协议与AI:值得展开的几件事

热更新:ET把所有逻辑方法做成扩展方法打进热更DLL,运行时重新加载DLL即可生效,不需要重启服务器。也就是说线上修数值、改行为不用停机发版。想动手可以从服务端启动流程切入,观察DLL加载时机。

多网络协议:ET除了TCP,还支持ENet和KCP两种可靠UDP协议。当客户端网络丢包率高时,这两者的延迟表现更稳,MOBA、竞技类玩法尤其用得上。建议先从TCP通路读起,再切KCP做对比测试。

内置AI框架:ET带了行为树等常见AI实现,NPC行为可以直接用节点拼出来,不必每个项目从零写状态机。切入入口就是下面两篇AI文档,AI框架总览先建立概念,行为机实现看落地方式。

顺带一个硬指标:商业MMO"千古风流"用ET在64核、128G内存的单物理机上承载1.5万在线,Release版本再开优化,性能还能翻倍。

📚 ET框架适合谁 & 延伸入口

ET适合做MMO、MOBA或任何大型多人玩法、客户端服务端都用C#的团队;如果你只是单机休闲小游戏、暂时没有分布式需求,它的分布式那套能力可能用不太上。

延伸阅读:

  • 环境搭建与运行指南
  • Actor模型:分布式通信机制
  • 协程与单线程异步
  • 为什么服务端选择.NET Core

【免费下载链接】ETUnity3D Client And C# Server Framework项目地址: https://gitcode.com/GitHub_Trending/et/ET

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询