Commit Graph

472 Commits

Author SHA1 Message Date
1
bee6291a12 ``feat(logic): 添加pprof性能分析支持并调整服务器配置`` 2025-10-15 15:54:35 +00:00
1
241cef544c `` refactor(fight): 优化效果添加逻辑,区分主动方和被动方处理并添加注释说明`` 2025-10-15 14:54:59 +00:00
1
cb1abe69b3 `` refactor(fight): 重构状态效果处理逻辑,统一使用Skill_Hit_Pre方法并修复回合开始触发时机``
待实现寄生种子
2025-10-15 14:24:46 +00:00
1
fccdda3c9d ``` fix(player): 优化战斗结束处理逻辑,避免线程阻塞并修复格式问题 2025-10-14 15:12:08 +00:00
1
fead9ed6b5 ``` refactor(player): 移除登录等待机制,前端是登录后才进入地图的,及相关同步逻辑 2025-10-14 14:36:39 +00:00
64c7bc204a ```
feat(base): 添加用户唯一性校验功能

在更新用户信息时,新增对用户唯一性字段的校验逻辑。通过遍历UniqueKey配置,
检查当前更新的字段值是否已存在于其他用户记录中,避免重复数据的产生。
```
2025-10-14 20:15:58 +08: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
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
14b7b03cef feat(base): 更新用户模型字段定义
移除已注释的字段定义,包括 Name、Phone 和 Role 相关字段。
调整字段顺序并保留有效字段:Username、Password、PasswordV、HeadImg、Email、Status、Remark。
2025-10-13 23:49: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
5e53b9caaa ```
feat(pet): 宠物治疗逻辑重构并新增治愈方法

将原有的宠物治疗逻辑提取为 PetInfo.Cure() 方法,统一处理血量和技能PP恢复。
同时优化经验分配逻辑,确保升级后正确扣除经验池并处理满级情况。

```
2025-10-13 19:46:19 +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
6c9ee0c73a fix(player): 移除GetAction方法中的冗余return语句
移除了Player结构体中GetAction方法内不必要的return语句,
该语句在方法末尾没有实际作用,清理后使代码更加简洁。
2025-10-10 23:38:43 +08:00
646eeeaa2b fix(space): 修复地图ID判断逻辑并优化空间初始化流程
移除未使用的地图ID字段,调整GetSpace函数中关于玩家地图的判断条件,
确保能正确加载星球配置并初始化Space实例。同时清理冗余代码,
提升逻辑可读性与执行效率。
2025-10-10 23:16:45 +08:00
a1f6ce956e ```
feat(build): 添加 linux amd64 平台的逻辑编译脚本

在 build.bat 中新增 gox 编译命令,用于构建 linux amd64
2025-10-10 23:00:07 +08:00
e2c3c5abb6 fix(login): 修复登录时服务通话中空指针问题
将原先赋值为 nil 的 map 改为初始化空的 map 结构,
避免在服务通话过程中出现空指针异常。
2025-10-10 20:47:02 +08:00
13b37b432a ```
refactor(controller): 替换用户遍历逻辑为迭代回调方式

将多个控制器中使用的 `Items()` 方法遍历用户列表的方式,
统一修改为通过 `IterCb()` 回调函数方式进行处理,
提升代码一致性与可维护性。

同时引入 `blazing/logic/service/common` 包以支持 PlayerI 接口调用。
此外,移除了未使用的 `model.Pos` 类型及相关注释,精简结构体定义。
```
2025-10-10 20:46:16 +08:00
ed02b35142 111 2025-10-10 20:33:57 +08:00
1
ce8c8a0af5 1 2025-10-10 12:07:05 +00:00
1
df6606b021 修改底层map 2025-10-10 04:49:23 +00:00
1
ac671408f7 修改地图结构 2025-10-10 04:31:52 +00:00
1
6b06c580ff 修改底层map 2025-10-10 04:26:07 +00:00
1
a58dd63d11 1 2025-10-10 03:08:55 +00:00
1
4f9b33e85a 修改 2025-10-10 03:06:23 +00:00
1
4cb7b2d739 修改 2025-10-10 02:57:20 +00:00
1
43e1ef2a0e 1 2025-10-10 02:23:29 +00:00
1
0c07da5d1b 修复崩溃 2025-10-10 02:10:25 +00:00
618b90af18 feat(task): 增加每日任务奖励经验值至20000
将每日任务中多个精灵任务(毛毛、比比鼠、幽浮、利牙鱼等)的完成奖励从
2000点经验调整为20000点经验,以提升玩家任务收益。

refactor(fight): 使用枚举类型优化战斗结束原因字段

将 FightOverInfo 结构体中的 Reason 字段由 uint32 类型改为
EnumBattleOverReason 枚举类型,提高代码可读性和类型安全性。

同时修复了战斗结束时逃跑原因未正确传递的问题。
2025-10-10 01:31:02 +08:00
08f365e13a ```
fix(logic): 更新逻辑文件1

更新了logic/logic1二进制文件,确保逻辑处理正确性
```
2025-10-10 01:19:28 +08:00
e3f2a4b480 feat(task): 完善任务奖励逻辑并新增多个任务处理分支
根据任务 ID 和 OutState 分支完善了任务奖励发放逻辑,
包括新手任务、日常任务及剧情任务的物品奖励与精灵奖励。
针对部分任务增加了注释说明,提升了代码可读性与维护性。
2025-10-10 01:16:13 +08:00
ecd9cb704c ```
refactor(logic): 优化任务完成逻辑并提高可读性

- 将 `QuitSelf` 中的硬编码延时改为 `5 * time.Second`,提高可读性
- 使用 `switch` 语句重构任务奖励逻辑,替代多个 `if` 判断
- 统一处理任务 85、86、87、88 的奖励发放逻辑
- 添加默认分支处理未定义的任务 ID 和状态
- 修复函数签名中的空格格式问题
- 在任务服务中补充玩家 ID 和任务 ID 的赋值逻辑
```
2025-10-10 01:10:13 +08:00
aae7074902 fix(fightc): 调整控制台输出角色标识为房主与挑战者
将原先“先手”、“后手”的输出信息修改为“房主”和“挑战者”,使日志更清晰地反映玩家身份。

重构技能解析逻辑,确保在不同攻击行为下正确解析并执行技能效果。
优化了技能优先级比较的执行顺序,提升代码可读性与逻辑准确性。
2025-10-10 00:44:45 +08: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
15bbffd3f5 fix(player): 添加空指针检查避免崩溃
在 LeaveMap 函数中添加对参数 c 的空指针检查,防止当传入 nil 时程序崩溃。此修复确保了玩家离开地图时的安全性检查。
2025-10-08 23:10:06 +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
ac2b1101ef 30s无响应放弃出手 2025-10-07 08:39:18 +00:00
1
3502f9a756 修改service 2025-10-07 08:14:11 +00:00
1
066dde2d0b 增加唯一约束,防止重复提交 2025-10-07 08:04:57 +00: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