|
|
689e7c51e2
|
Merge branch 'main' of github.com:72wo/blazing
|
2025-11-04 10:47:35 +08:00 |
|
|
|
4da683d5ea
|
feat(base): 添加邮件验证码发送功能并注释机器人测试代码
|
2025-11-04 02:46:28 +00:00 |
|
|
|
84875585b5
|
```
feat(logic): 重构状态效果技能的注册与触发逻辑
- 重构 Effect10 结构体,增加状态类型注释
- 重命名工厂函数 newp 为 newEffectStatus,提升可读性
- 使用 registerStatusEffects 统一注册所有状态类技能,提高扩展性
- 优化 OnSkill 方法逻辑,支持命中判定和持续回合配置
- 默认持续回合数为 1~3 随机,也可通过参数指定
```
|
2025-11-04 10:43:40 +08:00 |
|
|
|
3735309f1b
|
feat(base): 修正IP查询逻辑使用实际客户端IP而非固定测试IP
|
2025-11-03 17:23:12 +00:00 |
|
|
|
ed4d961e32
|
feat(utils): 添加QQWry IP数据库解析功能及HTTP查询服务
|
2025-11-03 16:38:53 +00:00 |
|
|
|
f61e6cc937
|
refactor(utils): 移除QQWry IP数据库子模块依赖
|
2025-11-03 16:36:03 +00:00 |
|
|
|
abaa51af38
|
feat(log): 添加QQWry IP数据库支持并实现IP地址解析功能
|
2025-11-03 16:19:24 +00:00 |
|
|
|
e86e138d94
|
refactor(rpc): 重构服务器信息获取逻辑,移除冗余锁机制并优化踢人逻辑
|
2025-11-03 15:30:41 +00:00 |
|
|
|
35935549bd
|
refactor(effect): 重构效果节点生命周期管理及属主控制逻辑
- 将Alive()方法改为Alive(bool)可设置方法,替代NotALive()
- 将GetOwner()改为Owner(bool)可设置方法
- 修复效果初始化时默认激活状态
- 优化效果叠层和取消逻辑
- 修正超时处理日志输出
|
2025-11-03 14:46:33 +00:00 |
|
|
|
1ebf500121
|
```
feat(logic): 重构状态效果技能的注册与触发逻辑
- 重构 Effect10 结构体,增加状态类型注释
- 重命名工厂函数 newp 为 newEffectStatus,提升可读性
- 使用 registerStatusEffects 统一注册所有状态类技能,提高扩展性
- 优化 OnSkill 方法逻辑,支持命中
|
2025-11-03 19:35:56 +08:00 |
|
|
|
e8776d9884
|
feat(fight): 重构状态效果处理器并激活睡眠状态清除逻辑
- 重构 Effect10 结构体及初始化逻辑,简化状态效果的注册方式
- 更新技能触发函数 OnSkill 实现,优化命中判定与持续回合计算
- 激活睡眠状态下受击清除效果的处理逻辑
- 移除未使用的 math/rand 包引用及冗余代码注释
|
2025-11-03 19:31:17 +08:00 |
|
|
|
88f4fa7c8f
|
```
feat(rpc): 更新客户端映射变量命名以符合导出规则
将 rpc.go 中的 clientmap 变量重命名为 Clientmap,使其可被其他包访问。
同时修复了拼写错误 useid1 -> userid,并在 RegisterLogic 方法中调用 Refurh 函数。
fix(socket): 移除无效的读超时设置
删除 ServerEvent.go 中 OnOpen 方法内无意义的 SetReadDeadline 调用。
refactor(controller): 调整 COMMEND_ONLINE 接口返回结构引用路径
将 getserver.go 中 COMMEND_ONLINE 方法的响应结构体引用从 user 包切换至 rpc 包,
并替换为 rpc.NewInInfo 和 rpc.GetServerInfoList1 方法。
refactor(fight): 修改技能持续回合默认值及部分逻辑注释
将 effect_10-16_94_99_114.go 中默认随机回合数由 1~3 改为 10~12。
注释掉 fightc.go 中关于睡眠状态清除的部分代码。
refactor(effect): 调整效果叠加判断条件
在 node.go 的 AddEffect 方法中调整 MaxStack 判断逻辑,
将 "<" 条件改为 "<=" 以确保最大叠层数正确处理。
feat(player): 新增 XOR 解密函数支持数据解密
在 SocketHandler_Tomee.go 中新增 XORDecrypt 函数用于解密客户端数据,
并在 OnEvent 方法中对 header.Data 使用该函数进行解密。
refactor(user): 删除冗余结构定义并迁移至 rpc 包
移除 user/CommendSvrInfo.go 中的结构体定义及相关方法实现,
相关功能已迁移到 rpc 包中统一管理。
```
|
2025-11-03 19:25:49 +08:00 |
|
|
|
9b73de4faf
|
```
feat(rpc): 更新客户端映射变量命名以符合导出规则
将 rpc.go 中的 clientmap 变量重命名为 Clientmap,使其可被其他包访问。
同时修复了拼写错误 useid1 -> userid,并在 RegisterLogic 方法中调用 Refurh 函数。
fix
|
2025-11-03 19:14:34 +08:00 |
|
|
|
9a802ce948
|
```
fix(socket): 调整连接读超时与数据包解析逻辑
- 在 `OnOpen` 中为连接设置 3 秒读超时
- 简化 `handleTcp` 中不完整数据包的处理流程,移除手动唤醒逻辑
- 修改 `SocketCodec_Tomee.go` 中最大包体长度限制从 10MB 降至 10KB
- 修复 `Decode` 方法中未处理 `c.Next` 错误的问题
- 更新 .gitignore 忽略重复的 logic/logic1 文件路径
```
|
2025-11-03 05:46:13 +08:00 |
|
|
|
f9279e75fa
|
fix(fightc): 修复睡眠状态清除逻辑
在处理技能攻击时,只有当技能类型不是状态类技能时,
才会清除目标的睡眠状态效果。这样避免了状态类技能
误清除睡眠效果的问题。
|
2025-11-03 04:17:41 +08:00 |
|
|
|
09612067d8
|
```
refactor(socket): 优化消息处理逻辑,避免顺序执行问题
将消息处理的循环从协程外部移入协程内部,确保每个消息在独立的 goroutine 中处理,
避免因并发导致的消息顺序错乱问题。同时移除了多余的空行,使代码更简洁。
fix(controller): 为低 ID 用户设置 VIP 标志
在 COMMEND_ONLINE 接口逻辑中,新增对 UserID 小于 10000 的用户设置 IsVip = 1,
用于标识测试或特殊用户身份。
refactor(fight): 重构状态类技能效果注册与触发逻辑
- 使用 map 统一管理技能 ID 与状态类型映射关系,简化注册流程
- 重命名工厂函数 newp 为 newEffectStatus,提升可读性
- 增加命中判断和持续回合数随机逻辑,提高技能触发的灵活性
- 支持通过 SideEffectArgs 配置持续时间,默认 1~3 回合
refactor(fight): 重构能力操作类效果(Effect3)
- 重命名字段 Rev、Etype 为 Reverse、OpType 提高语义清晰度
- 优化结构体初始化方式,使用匿名结构体数组进行批量注册
- 明确能力变化作用对象(自身/对手)逻辑,增强可维护性
refactor(fight): 重构能力值变化效果(Effect4/5)
- 重命名构造函数 NewEffectStat 为 newEffectStat,符合 Go 命名规范
- 优化参数解析逻辑,防止 SideEffectArgs 越界访问
- 统一处理加减类型判断和属性变更逻辑,减少重复代码
refactor(fight): 重构技能威力翻倍条件判断逻辑
- 引入全局函数注册表 statusFuncRegistry 管理所有状态判断逻辑
- Effect96 改为通过 StatusID 查找对应函数,提升扩展性
- 合并多个相似效果注册逻辑,统一初始化入口
refactor(fight): 优化状态效果获取逻辑
- 修改 GetEffect 方法返回单个 Effect 而非数组,简化调用逻辑
- 在 fightc.go 中更新状态持续时间获取方式
- 修复部分未使用的代码注释,提高代码整洁度
fix(fight): 限制治疗后血量不超过最大值
在 Heal 方法中增加血量上限判断,防止因治疗导致当前血量超出最大值。
refactor(fight): 移除调试日志打印
删除 loop.go 中多余的 fmt.Println 日志输出语句,避免影响性能和日志干扰。
refactor(fight): 优化精灵切换相关逻辑
- 移除未实现的 panic 抛出,避免运行时异常
- 注释掉不必要的下场清除 effect 逻辑,待后续确认是否需要恢复
feat(nono): 移除 PetCureInboundInfo 中的 Type 字段
该字段原用于控制飞行模式开关,现已移除,后续功能将通过其他方式实现。
feat(player): 新增 SaveDone channel 支持保存完成通知
在 ClientData 结构体中添加 SaveDone channel,用于异步通知保存操作完成状态。
fix(user): 设置推荐服务器在线人数默认值
当 ServerInfo.OnlineID == 2 时,强制设置 UserCnt = 300 并使用测试 IP,
便于客户端识别测试服节点。
```
|
2025-11-03 04:16:30 +08:00 |
|
|
|
30ed47a30c
|
```
refactor(socket): 优化消息处理逻辑,避免顺序执行问题
将消息处理的循环从协程外部移入协程内部,确保每个消息在独立的 goroutine 中处理,
避免因并发导致的消息顺序错乱问题。同时移除了多余的空行,使代码更简洁。
fix(controller): 为低 ID 用户设置 VIP 标志
在 COMMEND_ONLINE 接口逻辑中,新增对 UserID 小于 10000 的用户设置 IsVip = 1,
用于标识测试或特殊用户身份。
ref
|
2025-11-03 03:59:59 +08:00 |
|
|
|
7a8be1c23a
|
feat(element): 优化元素计算器并发安全与缓存机制
- 使用 sync.Map 替代 map+锁,提升并发读写性能
- 预加载所有元素组合,避免运行时重复创建
- 攻击系数计算结果加入缓存,提高查询效率
- 完善缓存键命名与错误处理机制
- 调整元素组合字符串展示格式,增强可读性
fix(item): 修复购买物品时价格为0仍扣除金币的问题
- 在购买逻辑中增加对物品价格是否为0的判断
- 防止免费物品被误扣金币
|
2025-11-02 23:52:06 +08:00 |
|
|
|
038bd0ce0c
|
```text
build(go): 升级 gf/v2 框架至 v2.7.0
统一将 common、login 和 mysql driver 中的 github.com/gogf/gf/v2 依赖版本从 v2.6.3 更新到 v2.7.0。
feat(logic): 优化道具服务逻辑与数据结构
- 修改 Item 结构体,去除 Data 字段,新增 ItemId 和 ItemCnt 字段以提高可读性和查询效率。
- 调整 Item 相关方法实现,包括 Item(), AddItem(), SubItem() 和 CheakItem() 方法,支持直接按范围获取及增减物品
|
2025-11-02 18:56:16 +08:00 |
|
|
|
2b3c4b6ccd
|
```
refactor(nono): 优化非诺相关结构体字段命名与初始化方式
将 nono 包中多个结构体的字段初始化方式改为键值对形式,提升可读性。
同时统一字段命名风格,增强代码一致性。
feat(fight): 移除冗余战斗循环逻辑并调整部分依赖引用
删除 fightc.go 中的 battleLoop 方法及相关逻辑,简化战斗流程控制。
移除未使用的包引用,并调整结构体成员顺序以提高清晰度。
refactor(player): 修改数据库字段类型为 jsonb 提升灵活性
将 Player 结构体中的 Data 字段由 text 类型修改为 jsonb 类型,
便于后续进行更灵活的数据存储与查询操作。
```
|
2025-11-01 18:36:21 +08:00 |
|
|
|
ea4ca98e49
|
fix(socket): 修复连接处理逻辑并优化数据解码流程
- 修复 `OnOpen` 中网络类型判断位置不正确的问题,提前过滤非 TCP 连接
- 移除 `OnTraffic` 中重复的网络类型判断
- 优化 `TomeeSocketCodec` 的解码逻辑,使用 `InboundBuffered` 和 `Next` 提高效率
- 调整 `ByteArray` 创建方法参数,避免可变参数带来的性能损耗
- 在 `ClientData` 中将 `IsCrossDomain` 改为 `sync.Once` 避免重复处理
- 使用 `AsyncWrite` 替代 `Write` 提升写入异步性
- 修复连接关闭流程,使用
|
2025-11-01 14:31:19 +08:00 |
|
|
|
008701d3de
|
```
fix(player): 修复玩家发送数据包时的空指针异常
- 将 `ClientData` 中的 `sync.Mutex` 替换为 `sync.RWMutex` 以支持读写锁
- 在 `ServerEvent.go` 中添加读锁保护对客户端数据的访问
- 增加对 `MainConn` 及其上下文是否存在判断,防止空指针引用
```
|
2025-11-01 01:08:47 +08:00 |
|
|
|
eac1d41043
|
fix(rpc): 修复日志输出格式并修正logic服务器注册逻辑
修复了rpc模块中日志输出时参数拼接错误的问题,同时修正了RegisterLogic函数中端口映射的逻辑错误。
feat(socket): 替换错误处理方式为panic
在ServerEvent.go中将网络启动失败的返回错误改为panic处理,提高错误可见性。
feat(fight): 增加战斗加载进度控制
在LoadPercent函数中增加对FightC非
|
2025-11-01 00:40:19 +08:00 |
|
|
|
06c30c6113
|
```
feat(blazing): 更新依赖并修改金豆字段的 JSON 标签
新增 goja、sourcemap 和 pprof 相关依赖,用于支持新功能或性能分析。
同时将 player.go 中的 GoldBean 字段的 json 标签从 "nieo_gold_bean" 修改为 "gold_bean",
以统一命名规范。
```
|
2025-10-31 21:26:12 +08:00 |
|
|
|
f1ff5a8dbc
|
`` refactor(fight/effect): 重构效果系统,优化效果存储结构和叠层逻辑,移除EffectID结构``
|
2025-10-31 11:21:24 +00:00 |
|
|
|
7bc7776074
|
`` refactor(fight): 重构战斗初始化逻辑,移除MAXPET字段并优化宠物列表处理方式``
|
2025-10-31 02:24:49 +00:00 |
|
|
|
4ae06f5695
|
fix(socket): 调整批量读取数量以优化性能
将 ServerOption 中的 batchRead 值从 30 调整为 8,以减少单次批量读取的数据量,提高处理效率和响应速度。
|
2025-10-31 01:58:16 +08:00 |
|
|
|
eefd368a2b
|
Merge branch 'main' of github.com:72wo/blazing
|
2025-10-31 01:46:58 +08:00 |
|
|
|
f5fbfca593
|
```
feat(common/socket): 增加批量读取数量以提升性能
将ServerOption中的batchRead值从10调整为30,以提高网络I/O处理效率。
```
|
2025-10-31 01:46:50 +08:00 |
|
|
|
566c5cc3ce
|
`` refactor(socket): 优化客户端数据校验逻辑,增加保存锁并完善日志记录``
|
2025-10-30 16:56:07 +00:00 |
|
|
|
44d3756cda
|
Merge branch 'main' of https://github.com/72wo/blazing
|
2025-10-30 16:54:50 +00:00 |
|
|
|
260e86e2cf
|
`` refactor(socket): 将ClientData结构及相关方法从wscodec.go移至SocketHandler_Tomee.go,优化代码组织结构``
|
2025-10-30 16:54:20 +00:00 |
|
|
|
cccf26788e
|
fix(socket): 玩家断开连接时增加保存锁,避免重复保存
在玩家断开连接时,使用 sync.Once 确保只保存一次玩家数据,
防止因并发或多次触发导致的数据异常。
feat(fight): 增加战斗资格判断与邀请取消功能
- 新增 Player.CanFight() 方法用于统一判断是否可以参与战斗
- 在多个战斗相关接口中加入 CanFight 检查
- 添加“取消战斗邀请”指令及处理逻辑(cmd: 2402)
- 修复部分错误码不准确的问题,提升提示一致性
refactor(login): 优化登录流程并增强健壮性
- 提前校验 session 合法性
- 增强获取玩家信息后的空指针检查
- 调整挖矿数据重置方式为 defer 执行
- 优化日志输出内容,便于调试追踪
docs(model): 更新部门、菜单等模型字段命名规范
将 orderNum 字段改为 ordernum,保持数据库列名风格一致,
同时更新了 base_sys_role 中 userId 为 userid。
perf(rate-limit): 提高登录接口的限流 Burst 容量
调整限流器配置,将请求 burst 容量从 2 提升至 5,
以应对短时间高频访问场景,改善用户体验。
chore(build): 忽略新增编译产物和临时文件
在 .gitignore 中添加 logic/logic2、login/login 等新生成文件路径,
避免误提交二进制文件到版本控制。
|
2025-10-31 00:53:22 +08:00 |
|
|
|
94e28e2601
|
``` fix(model): 限制宠物技能列表长度为4
|
2025-10-30 02:55:15 +00:00 |
|
|
|
ac75275dff
|
``` refactor(socket): 重构客户端数据处理逻辑,优化玩家信息校验和包处理流程
|
2025-10-30 01:37:53 +00:00 |
|
|
|
bb48f01e94
|
Merge branch 'main' of github.com:72wo/blazing
|
2025-10-29 23:51:52 +08:00 |
|
|
|
fdd55ed99b
|
```
refactor(socket): 移除 Lockfree 依赖并优化事件处理逻辑
将原有的基于 Lockfree 的消息队列机制移除,改为直接在协程池中调用客户端数据处理器。
同时调整了 `ClientData` 结构体和相关方法实现,使代码更简洁、易于维护。
此外,注释掉了一处调试日志输出,并修正了获取玩家对象的方式。
```
|
2025-10-29 23:51:03 +08:00 |
|
|
|
802f552903
|
Merge branch 'main' of https://github.com/72wo/blazing
|
2025-10-29 15:51:02 +00:00 |
|
|
|
8376068bb6
|
fix(socket): 移除debug.Stack并统一使用cool.Loger记录panic错误
|
2025-10-29 15:50:48 +00:00 |
|
|
|
95b2a3cd41
|
```
feat(logic): 实现角色行走位置更新与账号加载功能
- 在 walk.go 中优化 Walk 方法,手动赋值替换 copier.Copy 提高可控性
- 在 main.go 中新增 loadAccounts 函数用于从 csv 文件加载账号并注册
- 新增 strings 包引用以支持文件内容按行分割
- 注释掉调试用的 fmt 打印语句,保留逻辑结构便于后续启用
- 在 base_sys_user.go 中增加 GetEamil 方法
|
2025-10-29 20:33:43 +08:00 |
|
|
|
f06638d6b6
|
```
feat(socket): 优化TCP连接处理逻辑并引入批量读取机制
- 在 `ServerEvent.go` 中调整了 `OnTraffic` 方法的处理逻辑,
避免不必要的循环,确保跨域请求优先处理。
- 新增 `batchRead` 配置项,用于控制单次处理的最大数据包数量,
默认值设为 10。
- 修复 `OnClose` 方法中可能存在的执行顺序问题,并显式关闭 Lockfree 资源。
- 在 `ClientData` 初始化时,将 Lockfree 的阻塞策略从 Sleep 策略
替换为 ConditionBlock 策略,提升并发处理性能。
- 微调玩家登录完成时的地图ID判断条件,由 1000
|
2025-10-29 03:19:32 +08:00 |
|
|
|
c0f22cb208
|
修改
|
2025-10-29 02:05:34 +08:00 |
|
|
|
c41646eac8
|
```
fix(socket): 异步处理连接关闭逻辑
将连接关闭时的数据保存和资源清理操作提交到工作池中异步执行,
避免阻塞主线程。但需要注意可能存在执行顺序问题,需要进一步修复。
```
|
2025-10-28 23:56:15 +08:00 |
|
|
|
32d60e8d91
|
fix(socket): 移除未使用的包导入和调试日志
移除了 `blazing/cool` 和 `context` 包的导入,以及不再需要的调试日志输出。
feat(fight): 增强玩家初始化检查并返回结果
修改 `initplayer` 方法以在没有宠物时返回 false,并在 `NewFight` 中增加对初始化结果的检查,若失败则返回 nil。
|
2025-10-28 22:08:27 +08:00 |
|
|
|
a37b459793
|
``` feat(socket): 优化panic处理逻辑并添加详细堆栈打印,完善服务器退出条件检查
|
2025-10-28 07:39:11 +00:00 |
|
|
|
ec082db71d
|
```
feat(socket): 优化服务器事件处理逻辑并修复数据解码问题
- 移除重复的 `gnet.WithTicker(true)` 配置项
- 调整 `OnTick` 的执行间隔从 10 秒延长至 30 秒
- 更新 `NewClientData` 方法以传入连接对象,用于后续消息处理
- 将 `c.Read` 替换为 `c.Discard` 以正确丢弃已读数据
- 改进数据包处理逻辑,增强对不完整包的处理能力
- 修正 `TomeeHeader.Version` 类型由 string 转为 byte,并更新相关读写操作
- 在消息处理中增加错误日志打印
|
2025-10-28 02:28:15 +08:00 |
|
|
|
d1b2f8844a
|
Merge branch 'main' of github.com:72wo/blazing
|
2025-10-27 20:18:38 +08:00 |
|
|
|
96a40b559b
|
```
docs(readme): 更新pprof配置文件中的IP地址
将README.md中pprof配置的IP地址从本地地址更新为实际可访问的服务器地址,
确保开发者能够正确访问性能分析数据。
```
|
2025-10-27 20:18:23 +08:00 |
|
|
|
f977a59736
|
修改
|
2025-10-27 20:14:24 +08:00 |
|
|
|
448943ca75
|
修改底层
|
2025-10-27 09:36:49 +00:00 |
|