Commit Graph

58 Commits

Author SHA1 Message Date
xinian
0daeb70900 fix: 修复日志格式化字符串错误和任务奖励逻辑
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-04-10 10:28:22 +08:00
xinian
7d054bbe91 feat: 实现跨服PVP匹配和战斗功能 2026-04-05 05:04:04 +08:00
xinian
78a68148ce chore: update fight logic and effect implementations
Some checks failed
ci/woodpecker/push/my-first-workflow Pipeline failed
2026-04-05 02:25:44 +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
昔念
79d4343cdc ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(common/cool): 更新GetClient函数支持端口参数

更新GetClient函数签名以接收端口参数,并修改客户端映射键的计算方式,
添加GetClientOnly函数用于仅通过uid获取客户端。

fix(common/rpc): 修复RPC调用中的客户端获取方法

将GetClient调用替换为GetClientOnly,确保正确的客户端获取逻辑。

refactor(logic/controller): 重命名Port字段为UID并优化道具列表处理

将Controller结构体中的Port字段重命名为UID以更好地反映其用途,
优化GetUserItemList函数中道具列表的初始化和填充逻辑。

perf(logic): 调整性能分析web服务启动位置

将PprofWeb服务从全局启动移至调试模式下启动,优化服务配置。

refactor(logic/server): 更新服务器UID生成逻辑

修改Maincontroller的UID字段设置方式,使用服务器ID和端口组合生成唯一标识。

refactor(logic/service/player): 移除未使用的导入并优化怪物生成

移除未使用的service导入,优化怪物生成逻辑中的地图数据访问。

feat(logic/service/space): 添加PitS缓存映射并重构空间初始化

添加新的PitS字段
2026-03-02 23:59:15 +08:00
xinian
47bc680889 refactor: 将端口和在线ID类型从uint16改为uint32
Some checks failed
ci/woodpecker/push/my-first-workflow Pipeline failed
2026-03-02 18:34:20 +08:00
昔念
8e3ed21a3a 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-20 23:33:24 +08:00
昔念
922f7c3622 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-20 21:34:27 +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
昔念
ad77da1e86 1
Some checks failed
ci/woodpecker/push/my-first-workflow Pipeline failed
2026-02-08 03:48:56 +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
昔念
f49c38e6d4 ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
refactor(logic): 注释掉PprofWeb调用

为了避免性能分析服务对生产环境的影响,
暂时注释掉PprofWeb的启动调用。
```
2026-02-03 00:50:16 +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
xinian
33f65d1314 编辑文件 main.go 2026-01-29 11:08:59 +08:00
1
1a95ce8c48 优化代码结构,移除未使用的依赖和冗余代码 2026-01-26 14:12:12 +00:00
昔念
4dd05726af ```
fix(socket): 修复socket广播和退出逻辑中的返回值错误

- 修正了Broadcast方法中错误的返回值true为false
- 修正了QuitSelf方法中player遍历的返回值从true改为false
- 在玩家退出时添加了睡眠模式错误码通知消息

feat(fight): 统一技能使用方法命名并修复战斗伤害计算逻辑

- 将所有技能使用方法名从Skill_Useed重命名为SkillUseed以保持一致性
2026-01-25 17:36:40 +08:00
昔念
32f57732fe ```
refactor(common/cool/coolconfig): 修改RPC配置字段类型

将RPC字段从uint16类型更改为string类型的Address字段,
以支持更灵活的地址配置。同时更新了配置初始化逻辑,
从server.rpc改为server.address作为配置键。
```
2026-01-25 03:40:29 +08:00
昔念
392061df04 1 2026-01-24 09:52:55 +08:00
昔念
95055fe955 ```
fix(logic): 移除main.go中的多余空行

移除PprofWeb函数后的多余空行,保持代码整洁性

fix(fight): 修正effect_13.go中的效果应用对象

将效果应用从对方上下文改为正确的目标对象,修复技能效果逻辑

feat(middleware): 增强server.go中的自动化部署功能

- 添加下载链接格式校验,确保包含http/https协议
- 重构部署脚本,优化screen会话终止逻辑
- 改进下载过程,添加超时和重试机制
- 增强错误处理和日志输出

refactor(config): 更新server.go中的数据库查询方法

- 修改GetPort方法返回类型为gdb.List以提高兼容性
- 使用统一的DBM方法替代不同的数据库查询方式
```
2026-01-23 15:38:23 +08:00
1
7d8497250d 1 2026-01-22 16:01:52 +00:00
1
0a0e1bf8c0 1 2026-01-21 20:46:05 +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
昔念
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
d84100a52f ```
refactor(controller): 重构ParseCmd函数并优化Init方法

- 修改ParseCmd函数参数,移除不必要的泛型参数T
- 为Init函数添加详细注释说明参数含义
- 优化getCmd函数的注释和代码结构
- 重命名ParseCmdTagWithStructField为parseCmdTagWithStructField以符合私有函数命名规范

refactor(pet_info): 统一玩家参数命名从c到player

- 将pet_info.go中所有方法的player参数名从c改为player
- 保持代码逻辑不变,仅统一参数命名规范
- 更新相关
2025-12-25 12:21:15 +08:00
49b9e938f5 ```
refactor(controller): 优化控制器初始化与命令解析逻辑

- 重构 getCmd 和 ParseCmdTag
2025-12-11 10:32:39 +08:00
8983222dcb ```
refactor(logic): 重构服务器启动逻辑与任务状态管理

- 移除了 `gcmd` 包在 controller 中的直接使用,改为通过参数传递端口和服务器类型
- 统一使用 `GetTask` 和 `SetTask` 方法替代直接访问 `TaskList` 数组,提升代码可维护性
- 修改了战斗逻辑中部分调试打印语句,并优化战斗循环结束日志输出
- 调整了新手玩家初始化流程,默认完成新手任务4
- 更新了数据库模型字段及结构定义,如增加 `max_ts` 字段、扩展 `TaskList` 长度等
- 改进了宠物添加逻辑,采用 SQL 方式确保捕捉时间唯一递增
- 清理了无用或注释掉的旧代码块
2025-12-08 17:03:43 +08:00
1
64e8b2c412 fix: 修复空提交问题 2025-11-17 16:04:20 +00:00
1
5dbff2411c 重构 2025-11-16 20:30:17 +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
6e01848b04 ```
refactor(socket): 移除未使用的网络相关导入和注释掉的 RST 攻击检测逻辑

移除了 `ServerEvent.go` 中未使用的 `net` 和 `strings` 包导入。同时,
将原有的 RST 攻击检测及防护逻辑代码注释掉,便于后续重新设计或彻底删除。

fix(logic): 调整 fight pool 初始化与释放策略

将 `fight/action.go` 中的 `Fightpool` 类型从 `*ants.MultiPool`
改为 `*ants.Pool`,并调整其初始化方式为 `NewPool(-1)` 以适应动态扩容。
此外,在 `main.go` 中将 `ReleaseTimeout` 参数由 100 调整为 0,
确保立即清理超时任务。

feat(fight): 优化战斗输入状态重置逻辑

在 `fight/action.go` 的 `ReadyFight` 方法中提前设置
`GetInputByPlayer(c, false).Finished = true`,避免重复赋值。
同时更新了状态睡眠效果的处理流程,并简化了输入模块的状态缓存机制,
移除了冗余的 `Initeffectcache` 函数调用及相关逻辑。

perf(fight): 动态计算玩家动作等待时间

在 `loop.go` 的 `collectPlayerActions` 方法中,
将固定超时时间替换为基于 `waittime` 的动态等待时间计算公式,
提高响应灵活性。同时修复通道关闭判断条件以增强稳定性。

refactor(fight): 更新技能效果解析和状态持续逻辑

修改 `input.go` 中 `GenSataus` 方法以正确初始化状态数组;
在 `Turn.go` 中重构 `Turn_End` 方法内的执行逻辑,
确保仅在我方后手时增加回合数,提升战斗流程准确性。

chore(service): 删除废弃文件 SocketHandler_Tomee.go

完全移除已弃用的 `SocketHandler_Tomee.go` 文件及其全部内容,
减少项目冗余代码。
```
2025-11-13 05:05:05 +08:00
1
6cb091a4be fix(fight): 增加boss死亡逻辑 2025-11-10 08:25:40 +00:00
6da7f0b3f0 ```
refactor(fight): 修改技能拷贝逻辑并优化战斗循环结构

- 将 `copyskill` 方法的参数类型从 `*info.SkillEntity` 改为 `*action.SelectSkillAction`
- 在 `copyskill` 中增加对 nil 的判断,避免空指针 panic
- 调整 `battleLoop` 中 defer 逻辑,确保资源正确释放和战斗结束信息发送
- 移动 `SendFightEndInfo` 到 defer 中执行,简化主循环逻辑
- 将 `Fightpool` 类型由 `*ants.Pool` 改为 `*
2025-11-10 03:23:32 +08:00
95b2a3cd41 ```
feat(logic): 实现角色行走位置更新与账号加载功能

- 在 walk.go 中优化 Walk 方法,手动赋值替换 copier.Copy 提高可控性
- 在 main.go 中新增 loadAccounts 函数用于从 csv 文件加载账号并注册
- 新增 strings 包引用以支持文件内容按行分割
- 注释掉调试用的 fmt 打印语句,保留逻辑结构便于后续启用
- 在 base_sys_user.go 中增加 GetEamil 方法
2025-10-29 20:33:43 +08:00
db3a21dd91 feat(login): 引入基于 IP 的限流中间件
新增 github.com/xiaoqidun/limit 依赖,替换原有的全局速率限制器,
实现针对客户端 IP 的细粒度限流控制。在服务启动时初始化限流器,
并在程序退出前确保后台任务正确停止。同时更新 go.work 和 login/go.sum
文件以包含新的依赖项。此外,在 logic/main.go 中添加了主玩家数据
保存逻辑以确保服务关闭时数据持久化。
2025-10-24 23:14:36 +08:00
1
749b380d82 feat(login): 添加请求速率限制中间件并启用pprof锁和阻塞跟踪 2025-10-24 06:04:28 +00:00
1
bee6291a12 ``feat(logic): 添加pprof性能分析支持并调整服务器配置`` 2025-10-15 15:54:35 +00: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
9d2de92dd6 feat(fight): 实现精灵切换功能并优化战斗逻辑
- 新增 ChangePet 方法实现精灵切换
- 优化战斗循环逻辑,支持精灵切换
- 修复一些战斗相关的 bug
- 优化代码结构,提高可维护性
2025-09-07 00:23:28 +08:00
5ba81e2f90 refactor(fight): 重构战斗相关代码
- 移除未使用的战斗模式枚举和相关代码
- 更新 BurnEffect 结构,增加生命周期管理
- 删除多余的 Skill 结构和 Effect 相关代码
- 调整 NoteReadyToFightInfo 结构的位置
2025-08-25 04:23:32 +08:00
83ecb90baf refactor(project): 重构项目并更新依赖
- 更新 README.md 中的项目结构说明
- 添加 pprof 性能分析工具的使用说明
- 更新 build.bat 文件,增加 proto 文件编译命令
- 升级 go-logr/logr 依赖至 v1.3.0
- 降级 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc 依赖至 v1.16.0
- 降级 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp 依赖至 v1.16.0
- 升级 go.opentelemetry.io/otel/trace 依赖至 v1.20.0
- 移除 logic/main.go 中的冗余代码
- 重构 logic/server.go 中的 Start 函数
- 更新 login/main.go 文件
2025-07-06 17:05:10 +08:00
c16eed6fe0 feat(logic): 优化命令行参数解析和服务器初始化逻辑
- 将命令行参数解析移至 controller 包的 init 函数中
- 添加 PortBL 配置项判断,实现 login 服务器的条件初始化
- 移除 main 函数中的重复代码
- 在 login 服务器中启用 pprof 性能分析工具
- 删除未使用的 Start 函数和相关代码
2025-07-06 11:38:02 +08:00
2f3ca21165 feat(login): 重构 login 服务启动方式
- 修改 login 服务端口配置,支持动态分配
- 优化 login 服务启动流程,增加信号处理
- 调整 ServerOption 类型,支持 int 类型端口
- 移除 CommendSvrInfo 相关代码,简化结构
- 更新 main 函数,采用新的服务启动方式
2025-07-06 01:49:19 +08:00
072925f19e feat(socket): 修改端口并优化 Socket 服务器功能
- 修改 launch.json 中的端口设置,将 30000 改为 27777
- 在 ServerEvent.go 中添加 OnClose 方法,处理客户端断开连接的情况
- 在 main.go 中启用 CORS 支持
- 在 middleware.go 中注释掉 socket.ReadLoop 的调用
2025-07-02 23:29:30 +08:00
f4f3102021 feat(logic): 更新端口配置和启动参数
- 在 launch.json 中为 logic 服务添加 -port 参数
- 修改 config.go 中的 PortBL 配置,使用命令行参数
- 更新 main.go,解析命令行端口参数
- 移除 config.yaml 中的 port 配置项
2025-06-27 23:26:57 +08:00
feabc7153a refactor(logic): 重构逻辑模块
- 移除了 player.go 中的 SendPackBytes 方法
- 将 TomeeHeader 中的 CMDID 改为 CMD,类型从 uint32 改为 EnumCommandID
- 删除了 controller 文件夹下的 service.go 和 login.go
- 新增了 login 文件夹下的 PlayerLoginService.go
- 优化了 main.go 中的 Start 函数,使用 controller.Recv 作为回调
2025-06-26 23:20:11 +08:00
ba46330056 build: 更新 go.mod 并添加新依赖
- 在 go.mod 中添加了 github.com/ECUST-XX/xml v1.20.2 依赖
- 更新了 go.sum 文件以包含新依赖的哈希值
- 在 ServerEvent.go
2025-06-26 19:22:06 +08:00