|
|
3b84572455
|
fix(fight): 修复空变更提交问题
|
2025-11-10 04:17:27 +00:00 |
|
|
|
4b34445dfc
|
```
refactor(fight): 重构战斗逻辑中技能实体传递方式
将战斗逻辑中使用的 action.SelectSkillAction 替换为 info.SkillEntity,
以统一技能数据结构。同时更新相关函数签名和字段引用。
此外,移除了未使用的 Attack 字段,并调整了部分逻辑实现以提高代码清晰度。
还修复了 effect_power_doblue.go 中对输入参数的错误引用问题。
最后,修改了通道命名规范(ActionChan -> actionChan, GetActionChan -> GetOverChan),
并引入 overchan 用于战斗结束通知,提升并发安全性与语义明确性。
```
|
2025-11-10 02:29:00 +08:00 |
|
|
|
de3fb29407
|
fix(fight): 修复空变更提交问题
|
2025-11-09 04:37:15 +00: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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
8376068bb6
|
fix(socket): 移除debug.Stack并统一使用cool.Loger记录panic错误
|
2025-10-29 15:50:48 +00: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 |
|
|
|
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 |
|
|
|
448943ca75
|
修改底层
|
2025-10-27 09:36:49 +00:00 |
|
|
|
03aea8ae6c
|
```
feat(player): 实现玩家主动退出并优化踢出逻辑
将原有的踢出玩家逻辑提取到 Player 结构体的 Kick 方法中,统一处理登录状态判断、
发送错误码、关闭连接等操作。同时在 QuitSelf 方法中调用该逻辑,确保所有玩家被正确踢出。
移除了 server.go 中重复的踢出实现,并调整了相关包导入路径。
```
|
2025-10-26 14:56:29 +08:00 |
|
|
|
4306e2db53
|
```
feat(item): 实现批量购买物品功能并优化物品添加逻辑
新增 BuyMItem 方法支持批量购买多个物品,并在 Controller 中完善错误处理流程。
修改 ItemAdd 方法以返回添加结果,增强对物品数量限制和异常情况的控制。
调整任务完成时的物品发放逻辑,确保只有成功添加的物品才会被返回给客户端。
修复新手任务中初级体力药剂的数量从 3 改为 5。
将 defer 调用提前执行以避免潜在的数据不一致问题。
```
|
2025-10-25 15:06:05 +08:00 |
|
|
|
9739598df2
|
```
feat(xml): 更新任务配置结构以支持新能量节点解析
将原先的 TalkCount 和 TalkEntry 结构替换为 TalkRoot 和 Energy,
以适配新的 XML 配置格式。同时更新了相关引用代码以确保类型一致性。
refactor(item): 优化物品添加方法支持可变参数传入
调整 ItemAdd 方法签名,从接收数组改为接收可变参数,
提升调用灵活性,并同步修改控制器中对物品添加逻辑的处理方式。
feat(login): 修复每日重置逻辑并引入 gtime 时间管理
修正登录时每日任务重置区间错误(400~100 改为 400~500),
并改用 gtime.Now().Time 提供更准确的时间戳记录与比较,
同时增强挖矿次数等
|
2025-10-23 01:02:19 +08:00 |
|
|
|
a69e9882d9
|
feat(fight): 调整战斗逻辑与初始化流程
- 移除 initplayer 中重复的 InitAttackValue 调用
- 启用 battleLoop 的超时时间为 60 秒
- 优化切换宠物时的出手顺序逻辑
- 修复 processSkillAttack 中缺少的 else 分支
- 在 enterturn 中重新初始化双方攻击值
- 清理无用的日志打印和冗余代码
- 修复 SendPack 中连接判断逻辑,确保类型安全
|
2025-10-21 22:14:30 +08:00 |
|
|
|
ee119a0f0f
|
fix(fight): 修复对战中行动处理逻辑
优化了战斗循环中不同行动类型的处理流程,确保在非技能行动时能正确回退到空技能,
避免因类型断言失败导致的 panic。同时完善了注释与代码可读性。
fix(player): 增加发送数据包前连接有效性检查
在玩家发送数据包之前增加 MainConn 是否为 nil 的判断,防止因连接未建立或已断开
造成的空指针异常
|
2025-10-21 00:41:59 +08:00 |
|
|
|
08fcc72b6d
|
``feat(socket): 完善踢人流程日志记录,添加CloseChan确保数据保存完成``
|
2025-10-16 18:59:38 +00:00 |
|
|
|
fccdda3c9d
|
``` fix(player): 优化战斗结束处理逻辑,避免线程阻塞并修复格式问题
|
2025-10-14 15:12:08 +00:00 |
|
|
|
fead9ed6b5
|
``` refactor(player): 移除登录等待机制,前端是登录后才进入地图的,及相关同步逻辑
|
2025-10-14 14:36:39 +00:00 |
|
|
|
600fc29cbd
|
```
refactor(socket): 统一使用 gnet.Conn 替代自定义 Conn 结构体
- 将 logic/controller 和 logic/service/player 中的 *player.Conn 替换为 gnet.Conn
- 移除 player.Conn 结构体及相关封装逻辑
- 调整 SendPack 方法至 Player 实体,直接操作 gnet.Conn 发送数据
- 增加 Mu 锁保护并发写入,确保 WebSocket 和 TCP 连接安全性
- 更新 ServerEvent.go 中跨域标记设置位置
```
|
2025-10-14 03:07:55 +08:00 |
|
|
|
e84d55aec0
|
```
feat(player): 优化玩家连接与消息发送逻辑
- 为 `Conn` 结构体新增 `Close()` 方法,并在多处替换原有的 `GetConn().Close()` 调用,
统一通过 `MainConn` 操作以提高代码一致性。
- 在 `SendPack` 和 `GetPlayer` 等方法中增加互斥锁保护,确保对 `MainConn` 的访问是线程安全的。
- 移除冗余的 `GetConn()` 方法,直接使用 `MainConn` 提升性能并简化结构。
refactor(rpc): 临时将 RPC 客户端地址硬编码为本地地址
- 将 rpcaddr 临时设置为 "127.0.0.1",便于调试和开发环境测试。
refactor(handler): 扩展 JSON-RPC 方法过滤条件
- 增加了对 "Kick" 和 "RegisterLogic" 方法的排除,防止其被注册到 RPC 处理器中。
refactor(fight): 精简战斗服务中的判断逻辑
- 简化 `IsFirst` 函数返回表达式。
- 移除了多余的 defer 语句,提前设置 `closefight` 标志位。
refactor(pet): 改进宠物经验添加机制
- `AddPetExp` 方法新增布尔参数 `bro` 控制是否广播更新。
- 修改调用点以适配新参数,修复潜在的数据同步问题。
- 初始化宠物时禁止触发经验变更广播。
chore(build): 删除旧版二进制文件 logic1
- 清理无用的编译产物,避免混淆项目结构。
```
|
2025-10-14 01:26:59 +08:00 |
|
|
|
eff23d5bd0
|
fix(login): 深拷贝用户信息以避免数据竞争
在登录逻辑中,使用 `copier.CopyWithOption` 进行深拷贝,确保发送给其他玩家的
玩家信息不会因为引用同一对象而导致数据异常。同时修正了部分字段注释和默认值说明。
feat(maps): 更新地图角色信息结构体字段描述
更新 `OutInfo` 结构体中的 `Action`、`Direction` 和 `ChangeShape` 字段的注释,
使其更准确地反映其用途和含义,便于后续维护与开发理解。
fix(player): 完善登录位置判断条件
在玩家完成登录时,除了判断 `MapID > 10000` 外,增加对 `MapID == 0` 的处理,
确保角色能正确被传送到默认地图。
refactor(walk): 移除无用上下文导入并优化日志记录
移除了未使用的 `context` 包导入,并调整了行走逻辑中的赋值顺序,使代码更清晰。
同时注释掉不再需要的调试日志输出语句。
|
2025-10-13 23:38:48 +08:00 |
|
|
|
79213c67d6
|
```
fix(socket): 修复TCP连接处理中逻辑取反错误
修复了`handleTcp`函数中对`s.discorse`的判断条件错误,导致CORS配置未正确应用的问题。
feat(player): 增加地图切换标记支持
在`Player`结构体中新增`Changemap`字段,用于标识玩家是否切换过地图,并在相关业务逻辑中进行设置和判断。
feat(pet): 重构精灵生成与经验处理逻辑
将`GenPetInfo`方法从model包迁移至player包,增加个体值、性格、特性等随机生成逻辑,优化技能学习处理方式。
refactor(service): 优化定时任务与连接管理
使用`cool.Cron`替代原生ticker实现刷怪定时任务,优化连接获取方式,确保并发安全。
refactor(model): 移除冗余代码并优化结构
从`pet.go`中移除已迁移至`player`包的函数定义,精简模型结构,提升模块清晰度。
refactor(config): 更新部门及字典名称配置
将`base_sys_department.json`和
|
2025-10-13 18:51:41 +08:00 |
|
|
|
6c9ee0c73a
|
fix(player): 移除GetAction方法中的冗余return语句
移除了Player结构体中GetAction方法内不必要的return语句,
该语句在方法末尾没有实际作用,清理后使代码更加简洁。
|
2025-10-10 23:38:43 +08:00 |
|
|
|
df6606b021
|
修改底层map
|
2025-10-10 04:49:23 +00:00 |
|
|
|
0c07da5d1b
|
修复崩溃
|
2025-10-10 02:10:25 +00:00 |
|
|
|
15bbffd3f5
|
fix(player): 添加空指针检查避免崩溃
在 LeaveMap 函数中添加对参数 c 的空指针检查,防止当传入 nil 时程序崩溃。此修复确保了玩家离开地图时的安全性检查。
|
2025-10-08 23:10:06 +08:00 |
|
|
|
4e2073e185
|
修复rpc问题
|
2025-10-05 02:00:00 +00:00 |
|
|
|
f847386b7c
|
feat(fight): 优化技能命中逻辑与效果触发流程
重构了技能攻击处理逻辑,调整了命中判断和效果应用的顺序。
新增 `Calculate_Pre` 接口方法用于实现无视类效果。
修复技能是否命中的判断逻辑,确保效果命中状态正确传递。
清理上回合缓存的效果数据,保证每回合初始状态干净。
统一使用 `IsFirst` 方法判断先后手,提升代码一致性。
完善玩家离线时的数据保存顺序,避免重复操作。
更新依赖模块版本信息。
|
2025-10-05 00:29:22 +08:00 |
|
|
|
290e678559
|
refactor(socket): 优化TCP连接处理逻辑,新增错误连接计数并调整返回值处理
|
2025-09-27 17:35:12 +00:00 |
|
|
|
d46849a020
|
refactor(fight/effect): 重构能力操作类型枚举命名,统一使用大写形式(ADD/SUB/COPY/RESET)并更新相关调用点
|
2025-09-26 18:39:59 +00:00 |
|
|
|
c52c409ffc
|
feat(player): 新增玩家累计经验查询接口
新增 PlayerExp 控制器方法,用于返回玩家的累计经验值。同时调整了经验池字段类型为 uint32 并修复相关使用逻辑。
feat(pet): 实现宠物经验增加与升级逻辑
在 Player 结构体中新增 AddPetExp 方法,支持宠物经验增长、自动升级及进化判断。升级后会重新计算面板属性并推送更新包。
feat(fight): 重构战斗伤害计算与效果系统
引入 DamageZone 和 EnumDamageType 类型,统一红伤处理流程;移除旧有的 Pet/Skill/Prop 属性获取临时修改机制,改为直接访问真实属性。更新多个技能效果实现以适配新结构。
refactor(effect): 优化技能效果初始化和生命周期方法
统一技能效果初始化方式,明确各阶段回调函数职责,如 PreActionStart、PreAttacked 等。删除已废弃的属性修改钩子函数,并更新状态类效果实现。
refactor(input): 移除 deepcopy 依赖并替换为 go-deepcopy
将原先使用的 mohae/deepcopy 替换为 barkimedes/go-deepcopy,用于战斗节点中的 effect 拷贝逻辑,提升性能和安全性。
refactor(model): 调整玩家信息字段类型
将 PlayerInfo 中的 GoldBean 字段由 int32 改为 uint32,ExpPool 字段由 int64 改为 uint32,确保数据类型一致性与合理性。
feat(nono): 增加 Nono 跟随/收回协议结构定义
新增 NonoFollowOrHomeInInfo 和 NonoFollowOutInfo 结构体,用于处理 Nono 宠物的跟随与收回操作指令。
chore(deps): 添加 go-deepcopy 依赖
在 go.mod 中引入 github.com/barkimedes/go-deepcopy 依赖库,用于替代原有的 deepcopy 工具。
|
2025-09-26 13:33:55 +08:00 |
|
|
|
3f37ce63de
|
refactor(fight): 重构战斗模式与状态枚举,新增加载进度功能并优化战斗初始化逻辑
|
2025-09-25 14:51:11 +00:00 |
|
|
|
1245471129
|
refactor(fight/xmlres): 重构效果参数处理逻辑,新增JSON解析支持并优化战斗伤害计算
|
2025-09-23 17:34:58 +00:00 |
|
|
|
47fd6da6b2
|
refactor(fight): 重构战斗结束逻辑,统一使用Over方法处理逃跑、掉线和超时情况
|
2025-09-23 16:42:10 +00:00 |
|
|
|
dc46cd5b66
|
feat(global): 添加时间轮支持并优化玩家登录逻辑,移除冗余地图ID检查
|
2025-09-22 06:07:58 +00:00 |
|
|
|
691cfc878b
|
feat(capture): 重构捕捉系统,实现状态倍率计算和保底机制
|
2025-09-21 14:56:37 +00:00 |
|
|
|
6577a13da4
|
feat(map): 重构刷怪逻辑,将怪物生成功能移至Player结构体并添加Canmon控制标志
|
2025-09-21 08:00:58 +00:00 |
|
|
|
30453045c7
|
feat(fight): 重构PVP邀请系统,使用PVPinfo结构体替代原有map存储方式
|
2025-09-21 07:22:42 +00:00 |
|
|
|
9c25ccc214
|
```
feat(fight): 实现玩家间战斗邀请与处理功能
新增战斗邀请与处理逻辑,包括邀请发送、邀请接受/拒绝流程。
添加战斗模式支持(1v1 和 6v6)及相关数据结构定义。
优化玩家战斗准备逻辑,完善战斗初始化流程。
修复玩家离线保存数据时的空指针问题。
调整战斗相关枚举类型,统一管理战斗模式。
完善邀请战斗消息结构体及通信协议。
```
|
2025-09-20 00:17:29 +08:00 |
|
|
|
a2eb88e9d3
|
修改战斗系统
|
2025-09-19 00:29:55 +08:00 |
|
|
|
72e6b8c706
|
refactor(fight): 重构战斗系统效果处理逻辑
- 移除 Effect0 基类效果
- 调整 Input 结构,删除未使用的属性
- 优化 Effect 接口,增加 GetMaxStack 方法
- 重构效果初始化逻辑,支持不同类型效果的初始化
- 优化效果的添加和移除操作
- 调整宠物效果信息结构,合并参数
|
2025-09-16 22:51:22 +08:00 |
|
|
|
93ae004683
|
refactor(fight): 重构战斗逻辑和数据结构
- 重构了 Input 结构体和相关方法,新增 NewInput 函数
- 优化了 NodeManager 结构体和 Exec 方法的实现
- 调整了 FightC 结构体和 enterturn 方法的逻辑
- 修改了 BattleSkillEntity 结构体,移除了冗余字段
- 更新了 EffectNode 中的相关方法,使其适应新的逻辑
|
2025-09-14 04:48:38 +08:00 |
|
|
|
5e01837f78
|
refactor(logic): 重构逻辑层代码
- 移除未使用的 SocketHandler_Tomee.go、ai.go、effect_1.go 文件
- 更新 player 包名引用,替换原 service 包
- 调整 TomeeHeader 和相关处理逻辑至 player 包
- 更新各控制器中的 Player 引用为 player 包中的类型
- 移除冗余的 GetPlayer 方法,使用新逻辑
|
2025-09-14 01:35:16 +08:00 |
|