Kercylan98 Minotaur Versions Save

A comprehensive Go (golang) game server framework supporting multiplae network protocols such as TCP, UDP, WebSocket, and KCP. Features include networking, time ticker, connection shunting, geometry, movement, pathfinding, and config table export......

v0.5.8

2 weeks ago

0.5.8 (2024-05-01)

Features | 新特性

  • server 新增 NewOfflineConn 函数,兼容部分特殊操作 (147f0a3)

v0.5.7

4 weeks ago

0.5.7 (2024-04-23)

Bug Fixes | 修复

  • 修复 timer.Pool 在获取到池中 Ticker 时,可选项不生效的问题 (be6af14)

v0.5.6

1 month ago

0.5.6 (2024-04-19)

Bug Fixes | 修复

  • 修复 timer.Ticker 死锁 (45024f3)

v0.5.5

1 month ago

0.5.5 (2024-04-10)

v1 最后一个版本,进行了一些问题的修复,包含了 v2 的部分内容

v0.5.4

2 months ago

0.5.4 (2024-03-12)

Other | 其他更改

  • 升级 go 版本至 1.22.0 (7333101)

Features | 新特性

  • geometry 包新增 SimpleCircle 结构体,用于表示仅由圆心及半径组成的圆形,包含投影、距离等常用函数。优化 geometry 中的计算函数,所有计算入参均会转换为 float64 运算,输出时转换回原有的泛型类型 (6846c9d)
  • modular 包新增 Block 接口,当模块化服务实现 modular.Service 后可选择的实现 Block 接口,该接口将适用于具有阻塞等待需求的服务,例如网络服务器。 (3549fcc)
  • modular 包新增 dimension 概念,适用于根据特定宿主进行模块化,例如房间与房间之间的各组件相互隔离 (1402b85)
  • super 包新增 StopWatch 和 StopWatchAndPrintln 函数,用于追踪函数运行时间 (7fa0e68)
  • 完善 stream 包对于 []string 的操作 (a2695f4)

Bug Fixes | 修复

  • 修复 geometry 包 SimpleCircle.Projection 函数不正确的问题。优化部分注释及添加部分函数 (f7c3701)
  • 修复 server 包 WebSocket 路由兼容性问题 (590d0a1)
  • 修复 server 包死锁检测中 Message 读写的竞态问题 (b81f972)
  • 修复 timer.Ticker 并发问题 (d1d5bd4)
  • 移除 modular.go 中不必要的代码,修复 timer.Ticker 释放后 handler 指针污染的问题 (17cdad2)

Docs | 文档优化

v0.5.3

3 months ago

0.5.3 (2024-02-04)

Other | 其他更改

  • 移除 modular 包部分日志 (04a92b2)

Features | 新特性

  • collection 包新增 MergeSlice 函数,用于将多个同类型对象合并为一个切片 (4799a8c)
  • server.MultipleServer 支持绑定 Service (6b24b7c)
  • timer 包新增 GetCurrWeekDate 和 GetLastWeekDate 函数 (ad4777a)
  • 新增 modular 包,用于实现模块化项目 (c95b206)

Bug Fixes | 修复

  • 修复 server 使用 WebSocket 模式下,路由不支持 :1234/ws 的格式问题 (f8e368a)
  • 修复 server.LoadData 函数签名的错误 (e585e12)
  • 修复 times.GetCurrWeekDate 和 times.GetLastWeekDate 在 week 参数与今日 week 相同的情况下,会多获取到一周的问题 (902dada)
  • 移除 modular 包的自动注入,优化 modular.Service 接口说明 (d531939)

v0.5.2

3 months ago

0.5.2 (2024-01-24)

Other | 其他更改

Features | 新特性

  • collection 包新增 ConvertSliceToBatches、ConvertMapKeysToBatches、ConvertMapValuesToBatches 函数,用于将切片或 map 转换为按特定数量分批的批次切片 (9dba7ff)
  • collection 包新增 Equel 命名前缀的用于比较切片和 map 元素是否相同的函数,新增 Loop 命名前缀的用于遍历切片和 map 元素的函数 (756f823)
  • huge 包 NewInt 函数支持 string、bool、float 类型 (c4605cc)
  • server.Server.LoadData 函数支持加载 any 类型的数据 (ebe7a70)
  • super 包新增 TryReadChannel、TryReadChannelByHandler 函数用于对 channel 尝试写入 (959abff)
  • 支持向 server.Server 绑定一些数据 (acc4684)

Bug Fixes | 修复

  • 修复 server 包 None 网络类型启动阻塞的问题。增加传入不支持网络类型将导致 panic 的特性。优化 WebSocket 服务器将不再使用 http.DefaultMuxServer,转而使用 http.NewServeMux (1645ae4)
  • 修复 super 包 JSON 解析部分零值不正确的问题 (36de593)

Docs | 文档优化

  • 优化 README.md 函数签名 (bd7a3fe)
  • 优化 README.md 包级函数不显示泛型签名的情况 (a026e4c)
  • 优化 README.md 可读性 (22449ff)
  • 优化 README.md 导航中无法跳转结构体的情况 (e7e679e)
  • 优化 README.md 的测试用例描述 (cb340da)
  • 优化 README.md 的测试用例描述 (580bab2)
  • 优化泛型结构体函数的文档展示 (6e6f338)
  • 完善 collection 包部分文档 (5ea3202)
  • 完善根目录 README.md,增加项目实践记录内容。生成子目录 README.md 文档 (fc14e73)

Tests | 新增或优化测试用例

  • server 包完善部分测试用例 (bbf70fa)
  • super.BitSet 完善测试用例 (f08f068)

v0.5.1

4 months ago

0.5.1 (2024-01-14)

Other | 其他更改

Features | 新特性

Docs | 文档优化

  • 优化文档展示,适配部分无目录文档,适配非结构体的类型定义,增加测试用例文档 (b2fdaa2)
  • 优化文档详情部分,优化文档导航包含详情部分的问题 (f9d3188)
  • 优化泛型约束类型文档显示 (65c10f2)
  • 优化项目文档 (83beeb4)

v0.5.0

4 months ago

0.5.0 (2024-01-12)

Other | 其他更改

  • 优化 collection.map 相关函数签名,优化使用体验 (8d0cbed)
  • 优化 server 包 http 包装器使用体验 (8eb9965)

Features | 新特性

  • server 支持通过 WithLowMessageDuration、WithAsyncLowMessageDuration 函数设置慢消息阈值 (4e1d075)
  • server.Server 在执行 Shutdown 时将会等待所有消息分发器被释放 (4f2850b)
  • sher 包增加部分转换和去重相关函数 (2ff360c)
  • sher 包新增 FindInSlice 和 FindInSliceByBinary 函数 (96953d7)
  • sher 包新增将任一切片转换为 []any 的函数 (bb06cbf)
  • 优化 log 包,支持动态修改日志级别 (3e41068)

Bug Fixes | 修复

  • 修复 dispatcher.Dispatcher 在消息归零的时候使用协程运行处理函数可能导致不可知问题的情况,修复消息消费时获取生产者可能已经被释放的问题。修复在无消息时候设置消息完成处理函数不会触发一次的问题 (7528dc4)
  • 修复 server 包异步分流消息的回调函数在取消分流渠道绑定后会在系统分流渠道执行的问题 (e760ef2)
  • 修复 server 包连接断开消息分发器阻塞的问题,优化等待消息时打印的日志频率 (af23744)
  • 修复 server 包部分问题,修复 log 包在 init 函数调用可能产生的空指针问题 (3402c83)
  • 修复 server.Service 初始化的 for 循环指针问题 (b633f1a)
  • 修复配置导出 go 代码文件时,引用包错误的问题 (790e317)

Styling | 可读性优化

  • 优化 server 包部分代码可读性 (3b71eca)

Code Refactoring | 重构

  • 移除 slice 包和 hash 包,新增 listings、mappings 包存放数组、切片、映射等数据结构,原 slice、hash 包中的工具函数迁移至 collection 包,与 sher 包合并并移除 sher 包。完善 collection 包测试用例 (66d9034)
  • 迁移 concurrent.BalanceMap 至 mappings.SyncMap,优化泛型函数签名 (e3475c6)
  • 迁移 concurrent.Pool 至 hub.ObjectPool,并将 concurrent 包更名为 hub (161fbfe)
  • 迁移 concurrent.Slice 至 listings.SyncSlice (e28a5a2)
  • 重构 log 包,由 zap 改为 slog (71a3b34)
  • 重构 server 包分流渠道设计,修复部分问题 (3408c21)

Tests | 新增或优化测试用例

  • collection 包完善测试用例 (e3d966e)
  • dispatcher 包完善测试用例 (6f78684)
  • dispatcher 包完善测试用例 (90b7e4c)
  • 完善 collection 包测试用例 (e30c578)
  • 完善 dispatcher.Dispatcher 注释及测试用例 (a2a9199)
  • 完善 hub.ObjectPool 测试用例 (c439ef6)

v0.4.4

4 months ago

0.4.4 (2024-01-03)

Other | 其他更改

  • server 包部分内容可读性优化,增加健壮度 (472fdc3)

Features | 新特性

  • sher 包新增 map 相关映射操作 (7086281)
  • sher 包新增将任一切片转换为 []any 的函数 (bb06cbf)
  • super 包新增 TryWriteChannel 函数,支持尝试性的对 channel 进行写入 (5b53e8a)
  • super 包新增 TryWriteChannelByHandler 函数,支持尝试写入 channel,如果 channel 无法写入则执行 handler (efbde3e)
  • 修复 HTTP 服务器慢消息空指针问题 (31c68e4)
  • 修复 HTTP 服务器满消息空指针问题 (68bc005)
  • 新增 utils/sher 包,包含了对 slice 及 hash 常用的操作函数。用于未来对 utils/slice 和 utils/hash 包进行替换 (515cbc6)

Bug Fixes | 修复

  • 修复 server.hub 广播时未解锁的问题,优化处理逻辑 (80f38ff)

Code Refactoring | 重构

  • 优化 slice 包中的 Copy 和 CopyMatrix 的函数签名和实现方式,不影响已有代码 (cf42ed6)
  • 移除 reflects.DeepCopy 无效函数 (a7b0497)
  • 重构 log 包,由 zap 改为 slog (71a3b34)

Performance Improvements | 性能优化

  • 优化 server.Server 连接管理机制,优化 GetOnlineCount、GetOnlineBotCount 性能 (5e5fe8a)