2024-08-04 14:55
1、ServerConfig.xlsx改名为ProcessConfig.xlsx。
2、Server.cs删除,增加了Process.cs。
3、现在内网通讯Socket移动到Scene下面,为了方便线程Scene的使用。
4、网络内部协议解包和打包使用非托管代码来优化执行效率。
5、大大的提升了TCP\KCP\WebSocket所有网络处理的负载能力。
6、调整了IdFactory生成结构。提升了RuntimeId生成效率,RuntimeId每秒每个进程能生产33554431个。EntityId每秒每个进程能生产262143个。
7、解决掉了上一版MemoryStream的GC问题。
8、调整了框架底层若干地方的结构和逻辑,让看起来更加合理,易懂。
9、增加WebSocket的支持,并通过了WebGL的测试。
10、移除掉了Fantasy.Unity的配置表系统、资源管理工具、UI系统,以后大家要自己接入前端的东西了。
11、修复了上一版本收到的所有已知BUG。
2024-06-219 20:42
1、Scene上增加了OnCreateScene事件。
2、修复了TimerScheduler中OnceTimer和OnceTillTimer方法每次回叠加时间的问题。
3、优化了AssetBundle打包工具的一些代码,避免一些极端情况下出现的错误。
4、修复了Fantasy.UI无法打包的问题。
2024-04-23 10:11
Fantasy ThreadScene版
1、增加了Scene线程功能、分为MainThread、MultiThread、ThreadPool三种类型。
2、具体可以查看Fantasy.Net/Config/SceneConfig.xlsx文件,里面有详细解释.
3、因为考虑线程Scene的线程安全问题、取消了框架内所有静态方法。
4、比如MessageHelper、Timer这些,现在统一在Scene下面、比如Scene.TimerComponent等。
5、优化了网络协议解包的效率问题,比上一代版本提升了大约1.5倍的效率,上一代因为每次申请内存过大所以耗时比较多。
6、去掉了上一代初始化框架必须要绑定配置表的问题,现在只需要再启动参数添加–c 配置表路径就可以了。比如:–c ../../../Config/Binary.
7、Fantasy.Unity去掉了Fantasy.UI功能,以后Fantasy.UI会以单独的包出现。
8、删除掉上一代版本的所有示例,后面会根据当前版本的特色来增加一些使用示例。
9、这次更新比较大,建议升级的慎重选择,大家可以切换Fantasy0.1分支找到上一代的版本。
10、导表工具的自定义导出功能增加了Custom.txt文件,用于指定自定义导出代码文件的位置,不在需要固定文件夹放自定义导出代码了。
11、修复了Fantasy.Net数据库不能正常使用的问题。
12、在导表工具源代码里增加了一个ConstValueToConst的自定义导出的代码例子。
13、Fantasy.UI改为对象池回收。
14、增加了Custom.txt文件的解释文本。
15、Fantasy.UI的AddComponent改为AddUI。
2024-01-05 10:11
1、修复了保存分表的时候不会保存root表的问题。
2、Entity.GetComponent增加了一个重载、可以指定参数当如果没有查找到这个组件的情况下会自动Add一个新的组件。
2024-01-05 10:11
1、修复了Fantasy.Unity下的UI框架无法正常处理Layer的问题。感谢@海报上的海豹提供的Bug。
2023-12-29 16:51
1、利用Emit提升Message返回消息的因为泛型约束导致实例化效率低的问题、大约能提升一倍的效率。
2、后面打算把这个返回消息给做成池化处理、这样性能会比现在还要好。
2023-12-22 17:35
1、修复了导表工具无法使用增量导出的问题。
2、如果是第一次使用这个导表可以直接使用,不需要执行下面3和4的内容。
3、更新了后需要先执行一次全量导出才可以使用。
4、如果导出出现错误、请检查下ExcelTemplate.txt是否有using Fantasy.Core;如果有需要删除下。
2023-12-18 14:46
- 客户端增加了手动注册网络协议处理的接口RegisterHandler和UnRegisterHandler.。
- 使用方法为MessageDispatcherSystem.Instance.RegisterHandler。
2023-11-20 15:46
- 修复了内部网络之间发送普通网络消息会显示不支持的问题。
- 修复了无法对Entity进行Josn序列化的问题。
2023-11-14 10:32
- Fantasy.Unity包里的TimerScheduler.Unity计时器修改为Unity的Time.time、也就是运行总时间。
- Fantasy.Unity包里的TimeHelper增加了UnityNow方法、用来获取Unity的Time.time。
- 框架更新为.net 8 、使用的同学不要忘记安装.net 8 sdk.
2023-11-10 11:22
- 修复了TCP协议下如果消息体没有定义任何字段会导致服务器无法接收到消息的问题。
- 修复了Session当强制断开的时候出现的一个空引用的错误。
- Session增加了RemoteEndPoint、用来获取连接的IP地址信息。
2023-11-09 14:42
- 更新框架所需要的第三方库为最新。
- 删除框架里的EPPlus、因为导表工具已经独立出来了、框架内部就不需要了。
- demo增加了launchSettings.json来保存启动参数、不需要新手再次配置了具体在项目的Properties\launchSettings.json。
- demo的工程调整了下工程名字和位置。
- 重新调整了导表工具的使用步骤、具体请看Tools/Exporter/README.md。
2023-10-20 20:50
- 调整WaitCoroutineLock的超时时间为30秒、能极大的降低消息超时的误判。
- 内部网络网络连接从KCP改为TCP。
2023-10-16 18:37
- Fantasy.Unity删除了多余的Editor选项。
- 导表工具从服务器工程移除、独立一个可执行文件。可执行文件在Tools目录下的Exporter、源代码在Tools目录下的SourceCode。
- 启动导表工具方法是可执行文件在Tools目录下的Exporter找到对应平台目录启动bat或sh文件就可以了。
- 移除了FantasySettings.json导表相关的所有参数配置、因为这些参数在导表工具的Windows下的bat或sh文件里配置了。
2023-10-09 16:00
- 优化了EntityReference的部分逻辑。
- 网络消息增加了IPoolMessage接口、实现了这个接口后网络消息每次发送完成后会推入对象池能消除GC。
- 需要再IPoolMessage的Dispose方法里自己实现回收到对象池的操作。
- 清理InnerPackInfo了错误日志用的是Console.WriteLine。
- 修复了Scene销毁时、执行Addressable下线操作出现的错误。
2023-09-16 18:40
- 修复了内网服务器发送OuterRouteMessage消息的时候、如果中转服务器Session已经断开导致的一个错误。
- 修复生成Proto协议对非协议的实体会多生成一个OpCode的问题。
2023-09-13
- Entity增加了ForEachEntity和ForEachMultiEntity接口、方便开发者获取Entity下的所有组件。
2023-09-05
- 修复了KCPClientNetwork断开网络连接会发生异常的问题。
- 导出网络协议增加了协议号缓存、避免生成协议的时候会发生协议号不一致的问题。