Commit Graph

185 Commits

Author SHA1 Message Date
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
ed01ddedc3 踢人逻辑修改,先保存数据 2025-10-03 20:20:17 +08:00
91d0d29ec9 战斗修改 2025-09-29 02:40:35 +08:00
ed320300db Merge branch 'main' of github.com:72wo/blazing 2025-09-28 01:58:48 +08:00
6eb244b73f ```
feat(rpc): 优化 RPC 客户端地址配置逻辑

- 将 RPC 地址从硬编码改为通过 service 动态获取
- 修改端口常量名称 rpcaddr 为 rpcport,提升语义清晰度
- 调整客户端连接逻辑以支持动态 IP 和端口拼接

fix(fight): 修复技能命中与闪避逻辑执行顺序

- 调整战斗中技能攻击流程,确保命中率和闪避计算正确应用
- 更新 effect 接口定义,增强技能使用前后的控制节点
- 增加伤害计算过程中的多阶段触发机制(加法、乘法、减法等)

feat(config): 更新数据库及 Redis 配置信息

- 修改 PostgreSQL 用户名、密码和数据库名
- 更新 Redis 访问密码
- 调整服务器 IP 获取方式,区分测试环境与生产环境

chore(vscode): 优化调试配置 console 输出设置

- 在 launch.json 中为调试配置增加 integratedTerminal 控制台选项
- 统一逻辑服务启动参数格式

chore(gitignore): 忽略特定平台编译产物

- 添加针对 Linux 平台的 logic 和 login 模块编译文件忽略规则
```
2025-09-28 01:58:42 +08:00
1
290e678559 refactor(socket): 优化TCP连接处理逻辑,新增错误连接计数并调整返回值处理 2025-09-27 17:35:12 +00:00
1
2d187e4474 refactor(fight/effect): 实现Effect9的BeforeSkill逻辑,新增Min泛型函数并优化效果叠加处理 2025-09-24 22:20:59 +00:00
805fe8ec8d fix(fight): 修复技能效果获取逻辑并调整伤害计算方式
-
2025-09-24 19:46:42 +08:00
9b078d7820 fix(fight): 修复技能效果添加逻辑并优化效果管理
- 修改 `AddEffect` 方法,使用 `EffectID` 包装技能效果,并避免重复添加
- 将 `Effects` 类型从 `[]Effect` 改为 `*utils.OrderedMap[int, Effect]` 以提升查找和管理效率
- 移除 `Effect` 接口中的 `ID()` 方法,改由 `EffectID` 结构体维护
- 增加 `GetSkillEffect` 和 `GetDamageEffect` 方法返回带 ID 的效果结构
- 更新 `CancelTurn` 和 `Exec` 方法以适配新的数据结构
- 初始化 `Effects` 为 `OrderedMap` 实例,确保容器正确创建
2025-09-24 19:22:46 +08:00