Commit Graph

193 Commits

Author SHA1 Message Date
f977a59736 修改 2025-10-27 20:14:24 +08:00
e75ecd413d feat(fight): 重构战斗系统技能逻辑与精灵切换功能
- 优化技能执行流程,统一使用 SelectSkillAction 作为技能载体
- 移除冗余的技能 ID 字段,简化数据结构
- 调整命中判断和技能效果触发机制,提升准确性
- 修改精灵切换与捕获相关方法参数格式
- 更新技能列表结构为动态数组以支持灵活长度
- 完善睡眠等异常状态的处理逻辑
- 修复战斗中技能 PP 扣减及副本还原问题
- 清理无用代码,如多余的 FindWithIndex 函数定义
- 强化验证码缓存键命名规则,增强安全性
2025-10-26 20:56:03 +08:00
2678cd9685 fix(session): 调整会话保存时长为1小时
将会话保存时长从24小时调整为1小时,以提高会话安全性。

feat(socket): 添加强制踢出功能

在QuitSelf方法中增加强制踢出参数,当参数不为0时强制踢出所有玩家。
2025-10-26 15:12:29 +08:00
03aea8ae6c ```
feat(player): 实现玩家主动退出并优化踢出逻辑

将原有的踢出玩家逻辑提取到 Player 结构体的 Kick 方法中,统一处理登录状态判断、
发送错误码、关闭连接等操作。同时在 QuitSelf 方法中调用该逻辑,确保所有玩家被正确踢出。
移除了 server.go 中重复的踢出实现,并调整了相关包导入路径。
```
2025-10-26 14:56:29 +08:00
db3a21dd91 feat(login): 引入基于 IP 的限流中间件
新增 github.com/xiaoqidun/limit 依赖,替换原有的全局速率限制器,
实现针对客户端 IP 的细粒度限流控制。在服务启动时初始化限流器,
并在程序退出前确保后台任务正确停止。同时更新 go.work 和 login/go.sum
文件以包含新的依赖项。此外,在 logic/main.go 中添加了主玩家数据
保存逻辑以确保服务关闭时数据持久化。
2025-10-24 23:14:36 +08:00
18378a3ab6 feat(logic): 添加玩家外观与聊天功能并优化宠物生成逻辑
- 在 `logic/controller/item.go` 中添加了更换玩家服装后广播结果的逻辑
- 在 `logic/controller/user.go` 中新增多个控制器方法:
  - `Aimat`:瞄准操作处理
  - `Chat`:支持消息发送及过滤
  - `ChangePlayerColor`:修改玩家颜色并扣除金币
  - `ChangePlayerDoodle`:更改玩家涂鸦并扣费
  - `ChangeNONOColor`:改变 NONO 颜色
- 移动宠物信息生成函数 `GenPetInfo` 至 `modules/blazing/model/pet.go` 并重构其实现
- 更新 `logic/service/player/pet.go` 和相关引用以适应新结构
-
2025-10-24 00:31:38 +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
83fb06a229 feat(utils): 重构 OrderedMap 为 OrderMap,支持排序和非阻塞遍历
- 将原有的 `OrderedMap` 替换为 `OrderMap`,基于 `map` 和 `slice` 实现,提升性能并简化逻辑
- 支持自定义 key 排序规则,若未提供则按插入顺序维护
- 提供 `Set`、`Get`、`Delete`、`Keys`、`Values` 等基本操作,均并发安全
- 引入非阻塞遍历机制(`Iter`、`Iter
2025-10-22 21:30:05 +08:00
ae88790ed3 修改range,支持技能效果
Updated comments for clarity and consistency in the OrderedMap implementation, enhancing the understanding of the data structure and its methods.
2025-10-22 00:57:25 +08:00
b90bceafd9 ```
feat(xmlres): 添加任务数据加载与初始化逻辑

在 xmlres 包中新增 TaskMap 用于存储任务数据,并在 initfile 函数中
加载 task.xml 文件内容。同时调整 login 控制器中的任务重置逻辑,根据
任务类型每日重置任务状态。修复 pet 控制器释放宠物时的数据更新问题。
战斗系统中增加 Effect 的 OnMiss 回调处理,并修正状态效果映射关系。
修复 PVP 邀
2025-10-20 23:59:49 +08:00
7946ed190f fix(socket): 修复TCP数据处理和编解码逻辑
移除调试日志注释,修正socket编解码器中的数据丢弃逻辑。
更新TomeeSocketCodec.Decode方法,确保正确处理数据包长度并丢弃已读取的数据。
2025-10-19 02:08:27 +08:00
7de149d946 ```
refactor(socket): 优化TCP数据包处理逻辑并增加调试日志

- 修复 handleTcp 中条件判断的空格格式问题
- 在解码失败时增加详细 Debug 日志输出
- 完善不完整数据包时手动唤醒连接的处理流程

refactor(pet): 重构宠物经验系统与升级逻辑

- 将经验计算函数移至 model 层统一管理
- 优化 AddPetExp 方法逻辑,避免直接修改原字段
- 升级过程中正确扣减经验池并防止溢出
- 抽离 Update 方法用于处理宠物进化和经验更新

refactor(model): 调整 PlayerInfo 结构体引用方式及相关初始化逻辑

- 修改 PlayerEX 中 Data 字段为值类型而非指针
- 更新 NewPlayerInfo 返回值为值类型
- 修正 defaults.Set 调用传参以适配结构体值类型

refactor(service): 统一 UserService 数据传递方式

- 修复 Person 方法返回值为指针类型
- 修复 Save 方法中赋值操作使用解引用方式
```
2025-10-19 01:43:40 +08:00
2ca0898b15 ```
refactor(socket): 优化TCP数据包处理逻辑并增加调试日志

- 修复 handleTcp 中条件判断的空格格式问题
- 在解码失败时增加详细 Debug 日志输出
- 完善不完整数据包时手动唤醒连接的处理流程

refactor(pet): 重构宠物经验系统与升级逻辑

- 将经验计算函数移至 model 层统一管理
- 优化 AddPetExp 方法逻辑,避免直接修改原字段
- 升级过程中正确扣减经验池并防止溢出
- 抽离 Update 方法用于处理宠物进化和经验更新

refactor(model): 调整 PlayerInfo 结构体引用方式及相关初始化逻辑

- 修改
2025-10-18 23:58:19 +08:00
24bbf6f50f Merge branch 'main' of github.com:72wo/blazing 2025-10-18 10:12:54 +08:00
11738b84fc ```
fix(socket): 修复TCP连接处理逻辑与数据包解析问题

- 在 `ServerEvent.go` 中,移除无效的错误连接计数逻辑,明确标识 TCP 连接并直接调用 `handleTcp`
- 优化 `handleTcp` 方法中对数据解析的处理,避免空数据提交到工作池
- 在 `SocketCodec_Tomee.go` 中将 `maxBodyLen` 常量提升为包级常量,便于复用和管理
- 重构 `Decode` 方法的数据读取逻辑,确保包体正确解析并丢弃已处理数据
- 移除冗余代码和注释,提高可读性和健壮性
```
2025-10-18 10:12:44 +08:00
1
31c7687036 ``refactor(pet): 提取宠物基础属性计算逻辑到GetBasic方法,优化经验计算流程`` 2025-10-17 21:38:24 +00:00
1
7f0cde461d ``refactor(cool): 移除Service中冗余的Models字段,仅保留Model接口`` 2025-10-17 19:41:02 +00:00
1
696e6225e5 ``refactor(pet): 重构宠物服务结构,将PetService独立封装并继承cool.Service`` 2025-10-17 19:40:27 +00:00
1
7b2a22dde5 ``fix(socket): 优化TCP断包处理逻辑,添加调试日志和唤醒机制`` 2025-10-17 13:50:29 +00:00
5f8c18e7d8 ```
fix(socket): 修复TCP连接处理逻辑与数据包解析问题

- 在 `ServerEvent.go` 中,移除无效的错误连接计数逻辑,明确标识 TCP 连接并直接调用 `handleTcp`
- 优化 `handleTcp` 方法中对数据解析
2025-10-17 10:47:17 +08:00
1
c9c58a4087 ``fix(socket): 修复Tomee解码器包体解析逻辑,添加最大包长限制`` 2025-10-16 23:43:20 +00:00
1
3e00cdce8c ``refactor(socket): 移除错误连接计数逻辑,优化TCP数据处理流程`` 2025-10-16 23:10:37 +00:00
1
08fcc72b6d ``feat(socket): 完善踢人流程日志记录,添加CloseChan确保数据保存完成`` 2025-10-16 18:59:38 +00:00
1
52ea55ac39 ``fix(socket): 将TCP剩余数据输出格式改为十六进制字符串`` 2025-10-16 16:58:20 +00:00
1
779cc522df 尝试修复踢人bug 2025-10-16 16:28:00 +00:00
1
d32be53e70 1 2025-10-16 15:26:16 +00:00
1
341fc4120b ``refactor(websocket): 移除未使用的os包导入并硬编码debugTrace为true`` 2025-10-16 15:26:12 +00:00
42bb66f677 ```
feat(socket): 调整踢人逻辑以支持错误返回

将 KickPlayer 方法的返回值从 void 改为 error,
并在 KickPerson 中正确处理该错误返回。

fix(controller): 登录时增加延迟以确保踢人操作完成

在登录流程中添加 3 秒延迟,避免用户尚未被踢出就重新上线的问题。

feat(task): 完善任务缓冲获取逻辑

初始化 GetTaskBufOutboundInfo 时直接赋值 TaskId,
并移除后续重复赋值操作,提升代码可读性。

refactor(player): 优化玩家踢出方法结构

清理
2025-10-16 12:16:03 +08:00
1
09c6189b80 ``refactor(rpc): 优化RPC客户端管理逻辑,移除冗余clientidmap,整合blazing服务调用`` 2025-10-15 22:53:14 +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
253c0a92da 1 2025-10-14 02:22:45 +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
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
b258a81bb8 1 2025-10-11 01:01:36 +08:00
dbf326e751 ```
feat(socket): 添加服务器优雅退出机制

在 Server 结构体中新增 quit 字段,并在 OnTick 方法中检查该字段,
若为 true 则调用 os.Exit(0) 实现程序正常退出。同时清理了 controller 中
冗余的导入和无用逻辑,优化 server 启动流程并修复 RPC 客户端传递错误问题。
```
2025-10-10 23:59:54 +08:00
1
6b06c580ff 修改底层map 2025-10-10 04:26:07 +00:00
1
43e1ef2a0e 1 2025-10-10 02:23:29 +00:00
d4781bf4a4 feat(socket): 添加全局 panic 恢复机制
refactor(socket): 调整 defer recover 位置以优化错误捕获逻辑

feat(logic): 为服务器启动函数添加 defer recover
2025-10-10 00:40:32 +08:00
3639d18d60 fix(socket): 调整 ServerEvent.go 中的格式和导入包
- 添加 fmt 包的导入
- 调整 handleTcp 和 parser 方法中的代码格式
- 移除多余的空行

refactor(logic): 移除 SocketHandler_Tomee.go 中的调试打印

- 删除 Handle 方法中注释掉的 fmt.Println 语句
2025-10-09 21:25:41 +08:00
8097e72418 Update ServerEvent.go 2025-10-09 01:56:57 +08:00
a22287d987 ```
fix(network): 修复 rpc 和 websocket 地址拼接缺少冒号的问题

修复了 jsonrpc 服务启动时监听地址缺少冒号导致解析错误的问题,
同时修正 websocket 客户端连接地址的拼接逻辑。此外,注释掉了一处日志输出,
并调整了端口检测函数的参数类型以匹配实际配置结构。

```
2025-10-08 17:16:54 +08:00
da06241c06 Merge branch 'main' of github.com:72wo/blazing 2025-10-08 16:54:31 +08:00
485b22a3f7 ```
feat(config): 添加RPC端口和游戏端口配置项

在配置结构体中新增了RPC端口和游戏端口字段,并更新了配置文件以支持多端口监听。同时,
调整了服务器端口选择逻辑,优先使用默认端口,不再生成随机端口。

refactor(server): 移除随机端口生成逻辑

删除了随机端口生成及相关依赖,端口选择改为从预定义列表中查找可用端口,提高端口分配的
可控性和稳定性。

fix(fight): 注释掉未实现的panic语句

为避免程序运行时因未实现逻辑导致崩溃,注释掉了Turn_Start和Fight_Start中的panic调用,
并添加了相关注释说明后续需实现的内容。

chore(config): 更新默认配置参数

更新了服务器地址、端口、数据库连接信息及Redis配置,确保开发环境配置正确。
```
2025-10-08 16:54:03 +08:00
1
b1f185d519 底层修改 2025-10-06 07:29:49 +00:00
1
99ee6c2a7f 修改底层接收 2025-10-06 07:28:46 +00:00
1
63b7699c56 修改底层连接,防止无限升级协议 2025-10-06 05:30:48 +00:00
864078f577 ```
feat(fight): 优化回合技能处理逻辑并修复技能备份问题

重构 enterturn 函数中技能备份与恢复逻辑,确保每个攻击动作的技能
状态能正确还原。同时调整战斗技能创建流程,移除无效技能ID判断,
增强日志记录,提升代码可维护性与健壮性。

fix(socket): 移除 syslog 前缀,统一服务器启动日志格式
```
2025-10-05 23:51:37 +08:00
1
4e2073e185 修复rpc问题 2025-10-05 02:00:00 +00:00
1
a8098481d5 修改logic 长时间后无法登录问题 2025-10-05 01:47:45 +00:00
f847386b7c feat(fight): 优化技能命中逻辑与效果触发流程
重构了技能攻击处理逻辑,调整了命中判断和效果应用的顺序。
新增 `Calculate_Pre` 接口方法用于实现无视类效果。
修复技能是否命中的判断逻辑,确保效果命中状态正确传递。
清理上回合缓存的效果数据,保证每回合初始状态干净。
统一使用 `IsFirst` 方法判断先后手,提升代码一致性。
完善玩家离线时的数据保存顺序,避免重复操作。
更新依赖模块版本信息。
2025-10-05 00:29:22 +08:00