Commit Graph

23 Commits

Author SHA1 Message Date
xinian
c021b40fbe feat: 增强踢人逻辑与BOSS脚本支持
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
优化踢人超时处理和僵尸连接清理,支持BOSS动作脚本并增加测试,修复事件匹配与战斗循环中的并发问题。
2026-04-05 21:59:22 +08:00
昔念
d74652373c ```
refactor(socket): 更新广播和退出逻辑中的类型引用

更新socket服务器中广播功能和退出功能的代码,
将player.Player类型替换为player.ClientData类型,
并相应调整方法调用以适应新的数据结构。

feat(map): 添加LoadOrStore方法支持

在并发安全的swiss map中新增LoadOrStore方法,
提供原子性的加载或存储功能,增强map的操作能力。

refactor(login): 优化登录逻辑中的玩家获取方式

重构登录控制器中获取玩家对象的方式,
直接从
2026-03-16 22:30:12 +08:00
xinian
d159944d37 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-21 22:41:59 +08:00
昔念
3947fbce4b 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-07 00:18:14 +08:00
昔念
4b83346f36 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-03 23:08:06 +08:00
昔念
32f57732fe ```
refactor(common/cool/coolconfig): 修改RPC配置字段类型

将RPC字段从uint16类型更改为string类型的Address字段,
以支持更灵活的地址配置。同时更新了配置初始化逻辑,
从server.rpc改为server.address作为配置键。
```
2026-01-25 03:40:29 +08:00
1
53be2cb776 修改 2026-01-23 14:59:15 +00:00
1
7653f6b583 fix(fight): 修复技能效果 2025-11-10 02:45:19 +00:00
03aea8ae6c ```
feat(player): 实现玩家主动退出并优化踢出逻辑

将原有的踢出玩家逻辑提取到 Player 结构体的 Kick 方法中,统一处理登录状态判断、
发送错误码、关闭连接等操作。同时在 QuitSelf 方法中调用该逻辑,确保所有玩家被正确踢出。
移除了 server.go 中重复的踢出实现,并调整了相关包导入路径。
```
2025-10-26 14:56:29 +08:00
1
08fcc72b6d ``feat(socket): 完善踢人流程日志记录,添加CloseChan确保数据保存完成`` 2025-10-16 18:59:38 +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
fccdda3c9d ``` fix(player): 优化战斗结束处理逻辑,避免线程阻塞并修复格式问题 2025-10-14 15:12:08 +00:00
68d1a1355e ```
fix(controller): 优化数据发送逻辑,避免并发写冲突

将原先直接操作连接上下文并加锁的写法,
改为通过 player 实例封装的 SendPack 方法发送数据,
提高代码可维护性和安全性。

同时调整了 service 层踢出玩家时锁的获取顺序,
确保在关闭连接前
2025-10-14 14:25:57 +08: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
1cbdb8f22a 1 2025-10-14 02:23:00 +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
1
4f9b33e85a 修改 2025-10-10 03:06:23 +00:00
1
4cb7b2d739 修改 2025-10-10 02:57:20 +00:00
d4781bf4a4 feat(socket): 添加全局 panic 恢复机制
refactor(socket): 调整 defer recover 位置以优化错误捕获逻辑

feat(logic): 为服务器启动函数添加 defer recover
2025-10-10 00:40:32 +08:00
f847386b7c feat(fight): 优化技能命中逻辑与效果触发流程
重构了技能攻击处理逻辑,调整了命中判断和效果应用的顺序。
新增 `Calculate_Pre` 接口方法用于实现无视类效果。
修复技能是否命中的判断逻辑,确保效果命中状态正确传递。
清理上回合缓存的效果数据,保证每回合初始状态干净。
统一使用 `IsFirst` 方法判断先后手,提升代码一致性。
完善玩家离线时的数据保存顺序,避免重复操作。
更新依赖模块版本信息。
2025-10-05 00:29:22 +08:00
ed01ddedc3 踢人逻辑修改,先保存数据 2025-10-03 20:20:17 +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