Commit Graph

406 Commits

Author SHA1 Message Date
昔念
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
97f70731b5 1 2026-01-21 14:51:10 +00:00
1
5ef922278a ``` feat(pet): 重构宠物繁殖系统,添加蛋孵化功能 2026-01-20 22:08:36 +00:00
昔念
8049e273f6 ```
feat(coolconfig): 修改端口配置字段名称

将配置结构体中的Port字段重命名为LoginPort,以更准确地反映其用途
作为登录端口配置,避免与GameOnlineID字段的注释混淆
```
2026-01-20 16:59:23 +08:00
昔念
07d25b3e96 ```
feat(friend): 添加好友系统功能实现

完善好友管理功能,包括添加好友、回复好友请求、删除好友等操作,
同时优化了相关数据结构和接口定义。

BREAKING CHANGE: 调整了黑名单数据结构,将BlackInfo从结构体改为uint32数组
```
2026-01-20 06:15:55 +08:00
昔念
562bf380eb 根据提供的code differences信息,由于没有具体的代码变更内容,我将生成一个通用的commit message模板:
```
docs(changelog): 更新版本更新日志

- 添加新功能说明
- 修复已知问题记录
- 更新相关文档内容
```
2026-01-20 02:25:02 +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
1a20ca75f4 ```
feat(item): 实现新的金豆商品购买功能

- 移除原有的GoldProductMap配置映射,改用新的商店服务查询商品信息
- 添加购买类型区分(豆子购买和金豆购买)支持
- 集成新的商店服务接口,通过productId查询商品配置
- 完善购买逻辑,支持不同类型的货币扣减和余额更新
- 更新数据结构定义,
2026-01-10 03:14:23 +08:00
4cd34f5009 ```
feat(config): 更新服务器配置字段注释并修复VIP标识逻辑

- 修改config.go中IsVip字段注释,明确其表示测试服状态
- 添加isdebug字段注释说明本地服标识
- 从.gitignore添加login-login-linux-amd64到忽略列表
- 移除已废弃的coolconfig.SetTest函数

fix(item_buy): 注释掉金币购买功能代码

- 将BuyGoldItem方法注释掉,暂时禁用金币购买商品功能
- 移除未使用的gconv导入包

fix(server): 修正调试模式判断条件

- 将server.go中的IsVip判断改为IsDebug,确保调试模式正确启用

refactor(item_service): 优化模型调用并添加VIP标识

- 修复ItemService.UPDATE方法中模型调用的一致性问题
- 添加is_vip字段到数据记录中用于区分服务器类型

feat(pet_service): 为宠物数据添加VIP标识

- 在宠物服务中为新捕捉的宠物添加IsVip字段设置

```
2026-01-10 02:01:17 +08:00
caa5fc37b9 ```
refactor(common/rpc): 修改服务引用从blazing到config模块

将RPC服务中的blservice引用替换为config服务,
统一使用config.NewServerService()进行服务器信息获取。

feat(blazing): 实现新的会话生成机制

- 添加Gensession方法,基于accountID、UUID生成唯一会话标识
- 会话ID由accountID(4字节) + UUID(16字节)组成,编码为十六进制字符串
- 更新登录控制器使用新的会话生成方式

fix(pet_info): 添加宠物信息空值检查

在切换宠物背包仓库时,当宠物信息查询结果为空时,
返回系统错误避免空指针异常。
2026-01-09 19:58:12 +08:00
cde64b1898 ```
feat(config): 添加服务器screen参数字段

添加OldScreen字段用于存储服务器的screen会话名称

---

fix(fight): 修复攻击值结构体格式

格式化AttackValue结构体字段对齐,并添加Offensive字段用于存储攻击力

---

feat(fight): 计算并存储技能攻击力

在技能计算过程中添加攻击力计算并存储到AttackValue结构体中

---

fix(base): 修正JWT密钥配置

将JWT密钥从
2026-01-09 08:31:30 +08:00
54e0649313 ```
feat: 添加WebSSH功能并重构塔服务

- 添加WebSSH中间件,支持通过
2026-01-09 00:43:06 +08:00
971abd29ab ```
feat(config): 添加服务器调试模式配置和塔配置重构

- 在ServerList结构体中添加IsDebug字段用于调试模式标识
- 修改GetServerInfoList函数增加isdebug参数支持
- 移除硬编码的rpcaddr本地地址配置
- 重构塔配置模型,将tower_500和tower_600合并到tower_110
2026-01-08 23:57:22 +08:00
4d0464c76b ```
feat(rpc): 设置默认RPC地址为本地回环

修复RPC客户端连接问题,将默认服务器地址设置为127.0.0.1以确保本地连接正常

refactor(qqwry): 优化IP地址查询功能

移除不必要的正则表达式依赖,重构IP地址查询逻辑,提高代码性能和可维护性

fix(server): 保存确定的端口到配置中

确保服务器端口在确定后正确保存到配置中,避免端口配置丢失
2026-01-08 05:15:10 +08:00
97dfc61939 ```
feat(config): 增加服务器在线状态检测功能

- 在ServerEvent中添加OnlineID到日志输出
- 修改玩家宠物闪光逻辑,仅在ShinyInfo为空时添加新闪光信息
- 在server.go中增加PageQueryOp配置,实现服务器假踢人功能
- 添加在线状态检测逻辑,通过GetClient获取连接状态并更新服务器列表
- 引入context、g和gconv依赖包用于服务逻辑处理
```
2026-01-08 03:55:24 +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
b801b069bc ```
feat(config): 添加七牛云配置支持

- 在配置结构体中添加Qiniu字段用于七牛云配置
- 添加七牛云相关配置参数(AccessKey, SecretKey, Bucket, CDN)
- 更新配置初始化逻辑以支持七牛云配置项

feat(login): 集成七牛云SDK并实现文件列表获取

- 添加七牛云SDK依赖(github.com/qiniu/go-sdk/v7)
- 创建BucketManager用于文件管理操作
- 实
2026-01-06 23:25:49 +08:00
1bd6840e98 ```
feat(base): 添加IP数据库文件加载功能

- 移除qqwry.go中被注释的embed代码和init函数
- 在base_sys_log.go的init函数中实现IP数据库文件加载逻辑
- 添加从public/qqwry.ipdb文件加载IP数据库的功能
- 当IP数据库加载失败时panic处理
```
2026-01-04 01:31:11 +08:00
1
3cce8738cf ``feat(ip): 新增IP定位查询功能,支持通过API和网页解析获取归属地信息`` 2026-01-03 10:20:36 +00:00
a62b94446a ```
feat(pet): 添加精灵进化功能并优化融合系统

- 新增PetELV方法实现精灵进化功能,支持分支进化选择
- 添加进化相关的数据结构定义
- 实现进化材料检查和扣除逻辑
- 优化宠物融合失败处理机制

fix(fight): 修复战斗系统和效果计算问题

- 修复NewSeIdx_11和effect_60中的伤害计算逻辑
- 修复战斗状态判断条件,避免非PVP模式下的错误处理
- 优化战斗回合处理流程,修复效果缓存清空时机
- 修复effect_69
2026-01-03 01:35:32 +08:00
699231ee38 ```
feat(vscode): 添加调试参数配置

为launch.json添加-debug=1参数,便于调试模式启动

docs(README): 补充zellij终端复用工具使用说明

添加x-cmd安装和zellij会话管理相关命令示例

refactor(config): 注释掉GamePort配置项

暂时注释GamePort配置项以解决配置冲突问题

refactor(xmlres): 移除未使用的gf框架依赖并注释文件监控逻辑

移除未使用的gctx、gfile、gfsnotify、glog导入包
注释init函数中的文件监控逻辑,避免不必要的文件监听
```
2026-01-02 04:11:37 +08:00
3e55b0f481 ```
feat(vscode): 添加调试参数配置

为launch.json添加-debug=1参数,便于调试模式启动

docs(README): 补充zellij终端复用工具使用说明

添加x-cmd安装和zellij会话管理相关命令示例

refactor(config): 注释掉GamePort配置项

暂时注释GamePort配置项以解决配置冲突问题

refactor(xmlres): 移除未使用的gf框架依赖
2026-01-01 22:19:00 +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
d88a2d19ea ```
feat(fight): 支持勇者之塔和试炼之塔战斗功能

- 实现勇者之塔(CMD 2414)和试炼之塔(CMD 2428)的战斗逻辑
- 添加Tower500Service和Tower600Service的Boss查询功能
- 统一处理两个塔的BossId
2026-01-01 15:37:43 +08:00
41babda646 ```
feat(config): 新增固定异色功能并重构异色服务

- 新增 FixShiny 方法用于固定获取异色效果
- 重命名 Args 方法为 RandShiny 以明确功能
- 添加 utils 包依赖用于数据转换

feat(model): 扩展宠物异色相关方法

- 为 PetInfo 结构体添加 FixShiny 方法
- 修改 RandShiny 方法逻辑,确保异色信息正确添加

ref
2025-12-30 00:45:23 +08:00
7e840cbf17 ```
feat(config): 添加炫彩皮肤配置服务和数据库查询功能

- 新增ShinyService服务,提供Args方法用于根据ID查询炫彩皮肤配置
- 修改ColorfulSkin模型,将BindElfIds字段的gorm类型从json改为jsonb以支持数组查询
- 移除ColorfulSkin模型中嵌入的cool.Model的json标签,优化序列化
- 实现基于JSONB数组查询的精灵绑定功能,支持概率随机和刷新计数统计

debug(common): 添加数据库缓存清除调试信息

- 在ModifyAfter方法中添加er1变量接收ClearCache返回值
- 使用println输出缓存清除结果,便于调试缓存机制

refactor(player): 重构玩家宠物异色信息生成逻辑

- 引入config服务包,通过配置动态生成宠物炫彩效果
- 注释掉原有的固定炫彩效果生成代码
- 添加条件判断,仅当配置存在时才
2025-12-26 23:46:10 +08:00
c9bc4be244 ```
feat: 添加ItemInfo结构体并重构抽蛋和任务系统

- 在common/data/color.go中添加ItemInfo结构体用于表示发放物品的信息
- 在common/utils/tomap.go中添加RandomSlice泛型函数用于从切片中随机选取元素
- 重构action_egg.go中的EggGamePlay功能,实现抽蛋逻辑和物品发放
- 更新fight_boss.go中使用新的ItemInfo结构体替换旧的model.ItemInfo
- 修改user_talk.go中获取物品数量的逻辑
- 更新user_task.go中任务完成逻辑使用新的ItemInfo结构体
- 在egg.go中更新抽蛋结果结构体使用ItemInfo
- 更新战斗奖励结构体使用ItemInfo
- 在player.go中添加学习力道具处理逻辑
- 重构任务系统使用新的ItemInfo结构体
- 移除旧的model.ItemInfo定义
- 更新宠物奖励配置模型添加成长值等字段
- 实现GetEgg方法用于获取扭蛋奖励
- 修复宠物融合材料服务中的道具验证逻辑
```
2025-12-26 20:38:08 +08:00
164e70519f ```
refactor(cool): 修复Logger变量名拼写错误

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

BREAKING CHANGE: 全局日志实例变量名从Loger改为Logger
```
2025-12-25 12:14:04 +08:00
1
83ee9fba43 feat(contrib/files): 新增百度图床和58cdn图片上传功能实现 2025-12-22 14:57:39 +00:00
1
5965c8319a feat(data): 重构颜色矩阵处理逻辑,将GlowFilter和相关功能迁移到common/data包 2025-12-21 17:18:33 +00:00
39dc79f706 ```
feat(xml): 添加进化配置映射并更新错误码提示

- 在 `common/data/xmlres/file.go` 中添加 EVOLVMAP 用于加载进化配置
- 更新多个控制器中的金币不足错误码,统一使用骄阳余额不足错误码 `ErrSunDouInsufficient10016`
- 修改战斗逻辑中 AI 动作触发机制,并优化战斗流程
- 增加对融合材料合法性的校验
- 调整战斗动作通道缓冲区大小以提升并发处理能力
- 更新 XML 配置
2025-12-16 02:50:10 +08:00
937f97fe83 ```
feat(go): 升级 Go 版本至 1.20

统一将所有模块的 Go 版本从 1.18 或 1.19 升级到 1.20,以使用最新的语言特性和性能改进。

feat(service): 新增乱斗服务默认宠物生成逻辑

在 fight 模块中调用新的 MELEEService.Def() 方法来生成初始对战宠物,
并根据配置
2025-12-15 14:26:24 +08:00
56af8951c7 ```
refactor(common): 移除冗余缓存逻辑并统一数据库缓存适配器配置

将项目中多处手动管理的 gcache 缓存替换为数据库内置缓存机制,
提升缓存使用一致性与可维护性。同时,在初始化时增加对数据库
缓存适配器的设置,确保 Redis 模式下缓存生效。

涉及模块:
- common/cool 包下的缓存初始化逻辑调整
- 多个 service 文件中移除 gcache 实例及相关调用
- 使用 gdb.CacheOption 替代原有缓存方法实现数据查询缓存
```
2025-12-15 05:39:11 +08:00
2ab7f59667 ```
feat(socket): 统一使用 glog.Info 替代 glog.Infof

将 ServerEvent.go 中的 glog.Infof 更改为 glog.Info,以统一日志输出方式并减少格式化开销。

feat(controller): 优化宠物经验设置逻辑与错误码返回

在 SetPetExp 方法中提前返回结果,并修正最终返回的错误码为 ErrSystemError。同时规范化注释格式。

feat(space): 支持天气地图判断与动态天气 BOSS 刷新

引入 lo 包用于查找
2025-12-13 18:35:17 +08:00
1
cedb02faf7 ``feat(item): 新增物品出售价格属性(SellPrice)并实现物品出售功能,优化宠物面板计算和时区判断逻辑`` 2025-12-12 19:10:09 +00:00
adf290ca2a ```
fix(socket): 修改服务器事件中的连接数日志描述

将 OnTick 方法中的日志输出从 "[connected-count=%v]" 更改为更直观的 "链接数" 描述,
便于理解和调试连接状态。
```
2025-12-12 13:16:30 +08:00
1
5ecfd0396c ```feat(log): 优化日志配置,添加异步日志标志并替换socket服务中的日志输出方式 2025-12-11 20:27:10 +00:00
2598dee881 ```
refactor(common): 使用 sync.Map 优化全局客户端映射

将 common/cool/global.go 中的 Clientmap 从普通 map 替换为 sync.Map,
以提高并发安全性。同时迁移相关操作函数至 cool 包中统一管理。

更新了 rpc 和 service 层代码,确保正确调用新的客户端管理方法。
在 InfoService 中新增 Kick 方法用于处理用户踢出逻辑。
```
2025-12-09 02:48:41 +08:00
36ca75aa03 ```
refactor(item): 优化物品添加逻辑并移除冗余代码

- 修改 ItemAdd 方法签名,从可变参数改为两个独立参数 itemId 和 itemCnt
- 移除了对 model.ItemInfo 的依赖,简化调用方式
- 更新所有调用 ItemAdd 的地方以适配新接口
- 删除未使用的 imports 和注释掉的旧配置加载逻辑
- 修复购买物品时金币扣除与物品发放的一致性问题
- 增加玩家操作消耗塞尔豆的扣费逻辑(如宠物治疗、技能设置等)

此变更提升了代码简洁性和一致性,并增强了业务逻辑的准确性。
```
2025-12-08 21:11:12 +08:00
0acf01cd6b ```
feat(common): 为Service结构体添加缓存支持

在common/cool/service.go中引入gcache包,并在Service结构体中增加Cache字段。同时,在ModifyAfter方法中添加了缓存清理逻辑,确保数据变更后缓存能够及时更新。

该变更影响所有使用Service的模块,包括effect、pet_fusion_material_service和pet_fusion_service等,这些模块现在可以通过统一的缓存机制提升性能。
```
2025-12-08 19:31:59 +08:00
004eec219c feat(item): 添加 NatureProbs 字段并优化宠物道具使用逻辑
- 在 `Item` 结构体中新增 `NatureProbs` 字段,用于支持性格概率配置
- 重构 `ItemUsePet` 控制器方法,引入处理器注册机制统一管理道具效果
- 修复神经元相关道具的特殊处理逻辑,增强代码可维护性
- 调整 `S2C_USE_PET_ITEM_OUT_OF_FIGHT` 响应结构体,增加技能列表长度字段
- 修改 `ResetNature` 方法命名及判断条件,提升语义清晰度与健壮性
- 新增 `PetInfo_One_Unscoped` 查询方法以支持软删除数据访问
- 实
2025-12-07 01:43:12 +08:00
269256a861 feat(common): 添加无锁并发工具包依赖
新增 lockfree-1.1.3 工具包到 go.work 文件中,为项目提供无锁并发数据结构支持,
提升高并发场景下的性能表现。
2025-12-05 00:36:28 +08:00
43813932c9 ```
build(go): 升级 Go 版本至 1.20 并更新依赖包

将项目 Go 版本从 1.18 升级至 1.20,并同步更新了相关模块依赖。
同时替换 decimal 库为 alpacadecimal,以提升数值计算精度和性能。

- 升级 Go 模块版本
- 替换 github.com/govalues/decimal 为 github.com/alpacahq/alpacadecimal
- 更新多个间接依赖包版本
- 调整相关代码中 decimal
2025-12-05 00:24:02 +08:00
08b7553388 feat(xmlres): 优化配置加载与字段指针处理
- 将部分全局配置变量调整为局部加载,减少内存占用
- 修改 Item 结构体中 Nature 和 NatureSet 字段为指针类型,支持空值判断
- 更新使用点逻辑以适配指针字段,避免解析错误
- 移除未使用的配置引用及旧控制器文件
2025-12-04 02:11:51 +08:00
9c172d4ff7 fix(common): 更新查询操作字段注释并调整错误码
更新 `common/cool/service.go` 中 `QueryOp` 结构体字段的注释,明确 `FieldEQ` 和 `KeyWordField` 的用途。
同时修改玩家物品添加逻辑中的错误码,从 `ErrBaseItemTypeLimit` 改为 `ErrSystemError200007`。

在 `modules/blazing/service/item.go` 中为分页查询添加 `KeyWordField` 配置,支持按 `player_id` 搜索。

注释掉 `modules/blazing/service/pet_fusion
2025-12-04 01:33:37 +08:00
8d7d9da0bf feat(item): 新增性格道具支持与相关逻辑调整
新增对特定性格道具的支持,包括 Nature 和 NatureSet 属性解析,
并优化精灵融合、任务奖励、战斗捕捉等流程中的宠物添加方式。
同时修复部分战斗逻辑及数据结构引用问题。
2025-12-03 22:05:28 +08:00
1
1938346e89 fix(fight): 修正空变更导致的潜在逻辑问题 2025-11-30 04:57:48 +00:00
3e1887c7b8 ```
feat(broadcast): 添加全服广播功能并完善相关逻辑

新增 Broadcast 结构体及 Server 的 Broadcast 方法,用于实现全服广播消息,
并在 RPC 客户端中增加对应接口。同时在 fight 模块中添加聊天信息结构体和处理逻辑。

refactor(pet_skill): 优化宠物技能设置逻辑

修复宠物技能替换判断条件错误的问题,并调整相关逻辑顺序以提高代码可读性与健壮性。

feat(chat): 实现战斗内聊天功能

新增战斗中的聊天指令结构体 ChatInfo 和对应的控制器方法 FightChat,
支持玩家在战斗中发送聊天消息。

refactor(item_buy): 调整金币购买道具的扣费方式

将原直接比较金币数量改为调用
2025-11-25 16:36:55 +08:00
40d72790ff feat(xmlres): 实装性格重塑,实装性格指定
fix(fight): 使用模型层方法生成精灵信息
refactor(controller): 移除冗余变量与内联XML读取逻辑
refactor(pet): 重构经验更新与进化逻辑
refactor(item): 校验并扣减使用道具数量
feat(item): 新增金豆购买商品协议结构体
feat(user): 迁移角色服装变更逻辑至user控制器
feat(pet): 增加技能排序协议定义
refactor(utils): 移除未使用的工具函数引用
chore(config): 更新地图怪物配置信息

详细变更内容包括:
- 在`xmlres/file.go`中初始化`GoldProductMap`并加载相关配置。
- 将`GenPetInfo`方法从玩家服务迁移至`model`包以统一管理。
- 合并部分不必要的局部变量声明,并优化XML资源加载方式。
- 拆分精灵升级与进化方法,明确调用职责。
- 在战斗和治疗等操作前增加货币校验及扣除逻辑。
- 补充金豆购买相关的客户端/服务端通信结构体。
- 调整技能选择逻辑避免潜在索引越界问题。
- 更新部分注释说明和代码结构以提升可维护性。
2025-11-25 12:29:50 +08:00