- 博客(16)
- 收藏
- 关注
原创 ET8.1框架中MMORPG游戏账号注册登录方案
ET 框架中 “先注册登录再选区服” 的标准流程是“客户端→Realm 服→Account 服→Realm 服→Gate 服”,核心是让 Realm 服承担 “入口调度” 职责,Account 服专注 “账号校验”,Gate 服负责 “业务通信”,完全符合 “全局账号 + 分布式区服” 的架构设计。职责分离,符合 ET 组件化架构,便于扩展和维护;隐藏核心服务(Account 服)地址,提升安全性;支持负载均衡,可横向扩展(多 Account 服、多 Gate 服),适配高并发;
2025-11-23 02:49:40
690
原创 ET8.1框架服务端 Map 服(场景服)的核心消息工具类
封装实体同步(创建 / 销毁)、消息单播 / 广播、Actor 通信等核心流程;屏蔽底层网络路由、AOI 管理、跨服通信细节,提升开发效率;适配 MMORPG 场景需求,保障性能和安全性。独立开发者使用时,无需修改该工具类,只需基于其提供的方法快速实现业务逻辑(如实体视野同步、技能广播、跨实体通信),大幅减少重复编码和踩坑概率。
2025-11-22 23:56:57
619
原创 ET8.1框架客户端 Demo 场景切换的资源加载与组件初始化流程
这段代码的核心是「Demo 场景的资源加载与初始化」:通过订阅场景切换开始事件,加载 Unity 底层场景资源(搭建地图骨架),并挂载核心交互组件(赋予场景交互能力),为后续实体创建和玩法运行铺路。它的角色是场景切换流程中的 “资源加载员 + 场景初始化员”,与(实体创建)、发起切换 → 发布事件 → 本代码加载场景资源 + 挂载组件 →创建实体 → 场景可正常交互。
2025-11-21 02:23:25
871
原创 ET8.1框架 TransferHelper 跨场景/跨服务端「Unit 实体传送」核心工具类
是 ET 框架分布式场景的「核心传送工具」,核心作用是安全、高效地将Unit实体跨场景 / 跨服务端传送核心流程:延迟帧末执行→序列化 Unit 及可传送组件→销毁原实例→分布式加锁→跨服务请求→目标场景重建;设计亮点:通过「序列化 + 锁 + 延迟执行」,解决了跨服务传送的数据一致性、消息顺序、并发冲突三大核心问题;应用场景:玩家进入地图、跨地图传送、副本进入 / 退出、怪物跨场景迁移等所有需要Unit实体跨场景的业务。
2025-11-20 16:41:25
893
原创 ET8.1框架中的Gate网关登录流程
身份验证:通过 Realm 服下发的临时密钥,确保客户端合法接入;实体管理:初始化 / 复用Player实体,绑定客户端会话,作为业务交互的枢纽;分布式支撑:注册Player和到 Location 模块,支撑跨服务端节点通信;重连兼容:处理战斗 / 非战斗场景的重连,同步游戏状态,提升用户体验。
2025-11-19 23:56:34
749
原创 ET8.1框架的客户端登录流程
核心代码的直接消息流向是「Main 纤程 → NetClient 纤程」(客户端内部跨纤程通信),目的是委托网络纤程处理服务端交互;间接消息流向是「客户端 NetClient 纤程 → 服务端 Realm 认证服」(对外网络通信),完成实际登录认证。这种设计的核心价值是「纤程隔离 + 职责分离」,既保证了客户端 UI 流畅性,又简化了网络逻辑的维护,是 ET 框架客户端异步通信的典型实践。
2025-11-17 00:09:20
871
原创 ET8.1 框架 OuterMessage 消息常量解析
功能划分清晰:按「登录、地图交互、心跳、测试、压测」分类,每个消息对应单一职责;命名规范统一前缀C2X:Client→服务端模块(如C2G= 客户端→网关、C2M= 客户端→地图、C2R= 客户端→认证服);前缀X2C:服务端模块→Client(如G2C= 网关→客户端、M2C= 地图→客户端、R2C= 认证服→客户端);ID 有序分配:消息 ID 按功能模块连续分配(如路由相关 10002-10003、登录相关 10023-10026),便于维护和排查问题;覆盖全场景。
2025-11-16 18:38:20
711
原创 ET8.1框架的场景分类
SceneType的划分是 ET8.1 框架「分布式架构 + 模块化设计」的核心体现 —— 服务端通过场景拆分实现分布式部署和高并发支持,客户端通过场景拆分实现功能隔离和性能优化。将复杂系统拆分为多个独立的、可复用的场景模块,既降低了开发维护成本,又提升了系统的稳定性、扩展性和可运维性,是 ET 框架能支撑大型分布式游戏 / 应用的关键设计之一。
2025-11-16 18:16:43
1021
原创 ET8.1 框架的网络消息基类MessageObject
所有业务网络消息都需继承,示例如下:csharp// 客户端→服务端的登录消息(继承自 MessageObject)// 消息字段(自动支持序列化)set;set;// 可选:重写 Dispose(),自定义回收逻辑// 重置字段值,避免复用时有脏数据// 调用基类 Dispose(确保 IsFromPool 等标记正确)简化开发:子类只需定义消息字段,无需关心序列化、对象池、生命周期,专注业务逻辑;性能优化:强制对象池复用,减少高频消息的 GC,提升游戏 / 服务端的并发承载能力;
2025-11-15 21:43:17
834
原创 ET8.1框架的目录结构
ET8.1 的目录结构本质是「框架核心 + 业务逻辑 + 资源工具跨端分离清晰:客户端和服务端代码互不干扰,支持独立开发、独立部署;代码分层合理:底层框架和业务逻辑分离,维护时不用牵一发而动全身;工具化程度高:配置、协议、导航网格等都有自动工具,减少重复劳动;扩展性强:支持分布式部署(服务端多进程)、热更新(Hotfix 目录)、资源热更(Bundles 目录)。对开发者来说,日常开发主要聚焦(客户端逻辑)、(服务端逻辑)、(配置)三个目录,其他目录(如ShareTools。
2025-11-15 17:40:25
660
原创 ET8.1 的服务器划分
ET8.1 的服务器划分核心是—— 本质是把游戏的 “不同业务功能” 拆到独立进程(服务器),既提升稳定性(一个功能挂了不影响整体),又能横向扩容(热门功能单独加机器)。
2025-11-14 12:13:02
677
原创 ET8.1框架中的Entity
Entity类的核心作用是提供一个通用、高效、可扩展的游戏对象模型,统一管理对象的「组件、父子关系、生命周期、资源复用、数据存储」,让开发者无需重复编写基础逻辑,专注于业务功能(如战斗、UI、网络)的实现。简单说:ET 中所有 “有功能、需管理” 的对象,本质都是Entity或其子类,它是整个框架的 “对象基石”。
2025-11-13 17:47:38
356
原创 uni-app 使用Vuex+ (强制)登录
一、在项目的根目录下新建一个store文件夹,然后在文件夹下新建一个index.js文件二、在新建的index.js下引入vue和vuex,具体如下://引入vue和vueximport Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)const store = new Vuex.Store({//全局变量定义 ...
2020-03-25 21:21:10
2029
原创 uni-app 保持登录状态 (Vuex)
在小程序中,保持登录状态是很常见的需求,今天就把写一写使用uni-app框架的保持登录状态功能是怎样实现的。一、场景需求1、场景:初始打开---登陆---关闭,再次打开---(已登录)上次关闭前的页面2、cookie:传统应用保持登录状态的方式是通过读取 cookie 来判断是否是登录状态,但是uni-app不支持对cookie的读写。3、实现:uni-app 的官网的API...
2020-03-25 21:19:25
2235
转载 Delphi的打开文件对话框-TOpenDialog
1.TOpenDialog组件的典型用法“打开”对话框是用TOpenDialog组件实现的,TOpenDialog组件是非可视组件。Filter属性用于设置文件过滤器,让对话框只列出特定类型的文件。在设计时可以单击Filter属性旁的省略号“.”按钮,打开“Filter.Editor”对话框,在“Filter.Name”栏键入关于过滤器的简短说明,在“Filter”栏键入通配符,在设计期,...
2020-03-02 22:16:47
1826
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅