十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

ET 游戏框架快速上手:用一份 C 代码库同时构建 Unity 客户端和游戏服务端

ET 游戏框架快速上手:用一份 C 代码库同时构建 Unity 客户端和游戏服务端 ET 游戏框架快速上手用一份 C# 代码库同时构建 Unity 客户端和游戏服务端【免费下载链接】ETUnity3D Client And C# Server Framework项目地址: https://gitcode.com/GitHub_Trending/et/ETET 是一个面向 Unity3D 客户端与 C# .NET 服务端的双端游戏框架客户端和服务端共享同一套代码。官方基准测试中单机网络层完成 100 万次 Ping-Pong 消息平均只花约 4 秒折合每秒收发约 20 万条。如果你是独立开发者或小团队打算做带服务端的在线游戏尤其是 MMO这是一个开箱就能搭起完整链路的候选方案。图ET9 起功能拆分为独立 Package见 Packages/ 目录包注册表可在 Unity 编辑器内配置做带服务端的游戏通常会撞上这两堵墙第一堵墙是协议与逻辑的双份维护。客户端和服务端各写一套消息结构在两边各定义一遍改一个字段要改两处时间久了两端必然漂移联调变成找茬游戏。第二堵墙是分布式服务端的调试成本。传统做法要启动一堆进程登录服、网关服、战斗服……断点根本没法打开发基本靠打 log 猜。功能以后想从中心服拆到独立进程又是一大轮代码迁移。ET 的设计就是冲着这两点去的双端共享代码消除第一堵墙组件挂载式的进程设计消除第二堵墙。用 ET 做在线游戏你能拿到这几样东西双端共享同一个 C# 代码库网络消息、逻辑层代码只写一遍客户端和服务端直接引用同一份文件。新增一条协议改一个地方就够了两端协议天然一致。单进程开发发布时再拆多进程服务端所有功能都是组件开发时可以把全部组件挂进一个进程一个进程就是整组分布式服务器可以随便单步调试N 变 1。发布时换一份配置按进程拆分组件即可1 变 N拆服基本不改代码。纤程Fiber让多核利用不改变写法纤程就像进程里轻量级的任务比线程便宜得多客户端和服务端都能创建多个纤程并行跑网络、寻路、逻辑。开发时你写的还是单线程代码多核收益是架构自动给的。KCP 可靠 UDP 加 MemoryPack 序列化收发 0GC网络层是纯 C# 实现的 KCP底层还能切 TCP/WebSocketUDP 联不通时运行时动态切换、玩家不掉线序列化用 MemoryPack网络收发不产生 GC。竞技类游戏丢包、闪断场景下比 TCP 更稳。F7 热重载服务端不停服更新开发中改完代码按 F7 立即生效不用重启客户端或服务端线上服务端也能动态更新逻辑省掉停机维护窗口。机器人压测复用客户端逻辑代码机器人直接共享客户端逻辑层代码官方案例里 4 台 24 核机器模拟 1 万人跑任务上线前把服务端压力测一遍。测试用例就是完整游戏环境每个单元测试拉起一整条客户端加服务端的真实交互例如起 5 个机器人客户端测组队不用 mock 接口。这也是 ET10 主打的 AI 协作开发基础让 AI 写完逻辑再让它写测试跑通即可验证。帧同步与状态同步的 demo 都有仓库自带预测回滚帧同步cn.etetet.lockstep和状态同步cn.etetet.statesync两套可运行 demo按你游戏的玩法选同步模型不用自己从零搭。从零到跑通状态同步 Demo 的 5 步环境准备清单Unity 2022.3.62锁定版本新手不要换Rider最新版与 .NET 8Windows 可经 Visual Studio 安装macOS 用 Homebrew全程保持稳定代理否则 Unity 包与 NuGet 包下载会失败运行步骤克隆全新工程官方反复强调必须全新克隆别拿旧工程改git clone https://gitcode.com/GitHub_Trending/et/ET项目根目录执行初始化pwsh ./Scripts/Initialize-Project.ps1Unity Hub 打开 ET 目录Edit → Preferences → External Tools 里外部编辑器选 Rider再 Assets → Open C# Project 打开 ET.sln在 Rider 中完整编译 ET.sln保持代理开启双击Packages/cn.etetet.statesync/Scenes/Init场景点 Play客户端连上自带服务端即可登录想单独起服务端用 Unity 菜单 ET → Loader → Server Tools → Start Server详见 运行指南看数字性能与规模的三个佐证官方 Benchmark100 万次 Ping-Pong 约 4 秒跑完平均每秒收发 20 万条消息README 里附了自检方法Unity 菜单 ServerTools → select Benchmark → Start Watcher。商业 MMO《千古风流》64 核 128G 的单服单物理机做到 1.5 万在线100 人团队 2 年开发完成官方称 Release 版优化后还有翻倍空间。规模下限同样被验证README 的商业项目列表里神选誓约、新生、魔力回忆等多款 MMO 由 1 个人基于 ET 开发并上线。当前主版本为 ET10锁定的 Unity 版本是 2022.3.62配套 .NET 8。ET 适合谁谁可以绕道适合做 MMO 或任何需要长连接服务端的游戏、希望一人或小队同时搞定前后端、愿意接受框架规定架构的 C# 团队——它的编译期分析器会强制你写出符合规范的代码这既是约束也是护栏。不适合纯单机客户端游戏服务端、网络、纤程这套机制对你只是负担团队主力语言不是 C#以及不愿按指定工具链Rider .NET 8 固定 Unity 版本走的开发者。另外注意许可开源版使用 ET License仅限学习商业使用需要购买商业许可README 中标价 4999。现在就动手克隆仓库通读 Book/1.1Running Guide.md然后按上面 5 步把状态同步 Demo 跑起来——第一个能登录的客户端出现之前别急着讨论架构。【免费下载链接】ETUnity3D Client And C# Server Framework项目地址: https://gitcode.com/GitHub_Trending/et/ET创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表