Commit Graph

35 Commits

Author SHA1 Message Date
昔念
c3da3162ee ```
feat(player): 添加玩家断开连接时的安全保存机制

- 实现 SaveOnDisconnect 方法,确保玩家数据在断开连接时安全保存
- 添加并发控制防止重复保存操作,使用互斥锁和完成通道确保一次保存
- 在 socket 关闭事件中改为异步调用 SaveOnDisconnect 避免阻塞
- 添加 panic 恢复机制保护保存过程中的异常情况

refactor(login): 优化登录时的踢人逻辑和超时处理
2026-04-05 11:14:25 +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
昔念
4751594ee8 ```
feat: 更新战斗系统模型结构和Redis消息处理

- 引入gredis依赖用于Redis消息处理
- 将战斗相关的枚举和结构体从info包迁移到model包
- 更新战斗结束原因、攻击值等类型的引用路径
- 添加新的zset工具包到工作区
- 修改Redis消息处理逻辑以正确解析gredis.Message类型
- 在战斗控制器中统一使用model包下的类型定义
2026-03-04 22:47:21 +08:00
昔念
3f59f1a353 ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(boss-fight): 调整宠物战斗奖励逻辑

修复闪亮怪物奖励物品的位置,将奖励物品发放逻辑从条件判断前移到判断后,
确保只有符合条件的玩家才能获得玄铁奖励。

fix(player-energy): 修复能量时间消耗问题

注释掉EnergyTime的自动减1逻辑,避免玩家能量值异常减少。

refactor(shop-config): 优化商店查询配置

移除商品名称字段查询,只保留remark字段作为关键词搜索,
简化商品表的SELECT语句,提高查询效率。
```
2026-03-04 12:48:49 +08:00
昔念
5caa9a1e4f ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(controller): 增强命令注册逻辑并修复试炼塔关卡限制

- 在命令注册时检查重复方法,如果存在则panic提示错误
- 移除CurrentFreshStage和CurrentStage的默认值设置逻辑
- 添加关卡等级验证,确保用户不能挑战超过最大关卡数的关卡
- 修复试炼之塔和勇者之塔的关卡计算逻辑

fix(item): 修复道具
2026-03-03 19:28:59 +08:00
xinian
8dec37a474 refactor: 重构怪物掉落和闪光处理逻辑
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
移除OgrePetInfo中与物品和闪光相关的冗余代码,将闪光处理逻辑整合到HandleNPCFightSpecial方法中
新增CanGetXUAN和CanGetItem方法用于判断是否获得特殊物品
添加S2C_GET_BOSS_MONSTER的ADD
2026-02-27 14:48:10 +08:00
xinian
d58c47fd27 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-16 03:33:41 +08:00
xinian
c26ecff9f2 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-16 02:43:17 +08:00
昔念
180d735706 11
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-14 07:36:05 +08:00
昔念
e5c75f7359 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-13 22:57:05 +08:00
xinian
a0e0822b5a 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-13 03:04:04 +08:00
昔念
2f756c77bb 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-12 12:43:28 +08:00
xinian
d0cf598ced refactor: 将物品和货币相关字段从uint32改为int64以支持更大数值范围
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-12 04:28:20 +08:00
昔念
ce2c381116 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-07 14:59:22 +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
昔念
b049e129c5 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-03 22:44:13 +08:00
昔念
b25f033939 ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
refactor(socket): 移除重复保存锁并优化panic错误处理

移除了ServerEvent.go中的sync.Once保存锁,因为可能存在重复保存问题,
同时将panic错误处理从fmt.Println改为使用cool.Logger.Error进行统一日志记录

feat(player): 优化踢人功能并添加超时机制

移除kick.go中的复杂异步超时逻辑
2026-02-02 23:11:14 +08:00
1
445aab3c22 1 2026-01-27 06:40:49 +00:00
昔念
fa928c9a48 ```
feat(common): 添加GlowFilter的Level字段

添加了GlowFilter结构体中的Level字段,用于表示等级信息,
对应JSON标签为"level,omitempty"

---

fix(utils): 修复concurrent_swiss_map中的panic处理

- 使用goroutine替代线程池来监听通道
- 添加panic恢复机制,当发生panic时记录错误日志
- 确保在异常情况下程序能够
2026-01-25 23:17:46 +08:00
昔念
3af709f633 ```
feat(fight): AI战斗逻辑优化,修复技能使用判断逻辑

- 修改AI技能选择逻辑,从直接使用技能ID改为先存储技能实体再统一执行
- 修复usedskill变量类型从uint32改为*info.SkillEntity指针类型
- 优化技能使用流程,确保只有在找到可用技能时才执行UseSkill操作

fix(player): 调整玩家登录时的任务
2026-01-22 14:29:08 +08:00
昔念
026689f3ed ```
feat(cache): 添加复合键缓存操作支持

添加了基于 uint32+string 组合键的缓存操作方法,包括
GetByCompoundKey、SetByCompoundKey、DelByCompoundKey 和
ContainsByCompoundKey 方法,用于处理用户ID和会话ID的组合缓存场景

fix(vscode): 添加 cSpell 配置支持 struc 词汇

refactor(session): 移除过时的会话管理方法

移除了基于单一字符串键的会话管理方法,因为已迁移到使用
复合键的缓存操作方式
```
2026-01-19 18:51:56 +08:00
174562b895 ```
feat(config): 重构配置结构并添加服务器列表支持

- 重命名PortBL字段为GameOnlineID,改进命名语义
- 添加ServerList结构体用于管理服务器配置
- 移除七牛云配置相关字段
- 更新ID生成器使用GameOnlineID参数

fix(server): 调整服务器启动参数和VIP逻辑

- 将启动参数从-port改为-id,统一参数命名
- 更新服务器启动逻辑,基于GameOnlineID获取服务器信息
- 为VIP服务器启用调试模式
- 优化端口可用性检查逻辑

refactor(model): 统一模型基类结构

- 将各模型中的*cool.Model嵌入改为Base基类
- 移除soul.go
2026-01-08 03:30:18 +08:00
dd28d48ca4 ```
feat(build): 更新构建脚本添加资源打包和proto编译

更新build.bat脚本,添加proto文件编译和资源打包功能,调整资源打包顺序。

BREAKING CHANGE: 构建流程发生变化,需要重新生成proto文件和打包资源。

---

refactor(xmlres): 使用gres替换gfile读取资源文件

将xmlres模块中文件读取方式从gfile.GetBytes改为gres.GetContent,
使
2026-01-01 19:57:39 +08:00
164e70519f ```
refactor(cool): 修复Logger变量名拼写错误

将全局Logger变量从Loger修正为Logger,统一日志实例命名规范,
确保所有模块中日志记录的一致性。

BREAKING CHANGE: 全局日志实例变量名从Loger改为Logger
```
2025-12-25 12:14:04 +08:00
1
1d830ea808 "refactor(map): 优化地图怪物刷新逻辑并调整天气系统实现" 2025-12-16 08:35:22 +00:00
77f3d153c6 ```
fix(monster): 调整闪光宠物生成概率并修复时间种子问题

将闪光宠物的生成条件从 `grand.Meet(1, 100)` 修改为 `grand.Meet(30, 100)`,
同时为 `RandSHiny` 方法增加时间偏移参数以提升随机性。

此外,修正了登录任务判断逻辑中的索引范围错误,字段命名优化以及部分冗余代码清理。
```
2025-12-14 23:28:28 +08:00
75bdacbd11 fix(talk): 修改对话计数逻辑中的错误码返回值
将检查失败时的错误码返回值从 ErrResourceUnavailable 改为 0,
以确保在资源不可用时能正确处理返回结果。

feat(player): 增加玩家经验获取的时间限制判断

在 CanGetExp 方法中新增时间上限判断逻辑,当今日游戏时间已达
2025-12-09 00:47:21 +08:00
ec0552b59a feat(player): 重构任务状态管理逻辑
将任务状态相关的 GetTask 和 SetTask 方法从 player 包迁移至 model.PlayerInfo 结构体中,
统一通过 c.Info 调
2025-12-08 19:16:37 +08:00
8983222dcb ```
refactor(logic): 重构服务器启动逻辑与任务状态管理

- 移除了 `gcmd` 包在 controller 中的直接使用,改为通过参数传递端口和服务器类型
- 统一使用 `GetTask` 和 `SetTask` 方法替代直接访问 `TaskList` 数组,提升代码可维护性
- 修改了战斗逻辑中部分调试打印语句,并优化战斗循环结束日志输出
- 调整了新手玩家初始化流程,默认完成新手任务4
- 更新了数据库模型字段及结构定义,如增加 `max_ts` 字段、扩展 `TaskList` 长度等
- 改进了宠物添加逻辑,采用 SQL 方式确保捕捉时间唯一递增
- 清理了无用或注释掉的旧代码块
2025-12-08 17:03:43 +08:00
7005c1047f ```
feat(fight_boss): 更新BOSS战斗效果逻辑以使用新的服务接口

将原来直接访问xmlres.EffectMAP获取效果信息的方式,
替换为通过service.NewEffectService().Args方法获取EID与参数,
提高代码解耦性与可维护性。

refactor(item_buy): 调整金币商品购买时的价格计算逻辑

修复购买金币商品时价格未正确乘以100的问题,
确保消耗金币数量准确无
2025-12-08 00:17:04 +08:00
1
c55a1fd5fb fix(fight): 修正空变更导致的潜在逻辑问题 2025-11-30 02:31:08 +00:00
f1c990c182 fix(logic/service/player): 修复玩家信息保存时的指针解引用问题
修复了 Player 结构体在调用 Service.Info.Save 方法时传入的是指针而非实际值的问题,
同时修改 InfoService.Save 方法以接受值类型参数而不是指针,并更新内部数据赋值逻辑。
2025-11-17 11:00:12 +08:00
1
5dbff2411c 重构 2025-11-16 20:30:17 +00:00
1
88cd1affe4 修复战斗 2025-11-15 22:17:43 +00:00
f919047ff6 ```
fix(login): 修正用户登录时间字段命名及逻辑

将 `Onlinetime` 字段更名为 `Logintime`,以更准确反映其含义,并确保在登录时正确记录时间戳。

refactor(player): 移除冗余的 Save 方法及相关逻辑

删除 Player 结构体中的 Save、CanGetExp、CompleteLogin 和 IsNewPlayer 方法,
相关功能已迁移或不再使用。

feat(pprof): 更新 pprof 监听地址

修改 README 中的 pprof 示例命令,将监听地址从远程 IP 改为本地回环地址 `127.0.0.1
2025-11-15 13:20:42 +08:00