Commit Graph

46 Commits

Author SHA1 Message Date
xinian
d2cd601802 更新说明
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-04-09 13:11:59 +08:00
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
昔念
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
昔念
d17f3eccdb 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-08 04:58:58 +08:00
昔念
97cc5d42a4 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-07 23:19:21 +08:00
昔念
ecf971fe31 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-07 23:09:11 +08:00
昔念
ca2d564e6a 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-07 23:02:10 +08:00
昔念
a991013040 1
Some checks failed
ci/woodpecker/push/my-first-workflow Pipeline failed
2026-02-07 22:54:44 +08:00
xinian
cdb7cec4ad refactor: 移除冗余日志输出并优化日志处理
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-02 18:32:41 +08:00
昔念
32f57732fe ```
refactor(common/cool/coolconfig): 修改RPC配置字段类型

将RPC字段从uint16类型更改为string类型的Address字段,
以支持更灵活的地址配置。同时更新了配置初始化逻辑,
从server.rpc改为server.address作为配置键。
```
2026-01-25 03:40:29 +08:00
昔念
8049e273f6 ```
feat(coolconfig): 修改端口配置字段名称

将配置结构体中的Port字段重命名为LoginPort,以更准确地反映其用途
作为登录端口配置,避免与GameOnlineID字段的注释混淆
```
2026-01-20 16:59:23 +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
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
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
164e70519f ```
refactor(cool): 修复Logger变量名拼写错误

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

BREAKING CHANGE: 全局日志实例变量名从Loger改为Logger
```
2025-12-25 12:14:04 +08: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
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
0517447d9c ```
fix(common/rpc): 注释掉本地调试用的rpc地址配置

将原本用于本地调试的rpc地址配置注释掉,避免影响正式环境的rpc连接配置。
```
2025-11-07 23:22:00 +08:00
e2a184b687 feat(rpc): 优化客户端连接管理,使用 sync.Map 替代普通 map
将 `Clientmap` 从普通 map 改为 `sync.Map`,提升并发安全性。新增
`addClient` 和 `getClient` 方法封装存取逻辑,并在多处调用点进行了替换。

fix(fight): 修复战斗逻辑中技能ID与攻击时间字段引用错误

将 `attacker.AttackValue.SkillID` 和
`attacker.AttackValue.AttackTime` 的访问方式修正为正确的字段路径。

refactor(fight): 调整战斗结束信息处理流程

合并 `FightOverInfo` 结构到 `FightC` 中,简化广播发送逻辑,统一通过
`f.FightOverInfo` 发送战斗结果。

refactor(effect): 修改效果叠加判断逻辑并增强健壮性

更新效果节点比较方法,增加参数匹配检查以支持更精确的效果识别;同时添加
`equalInts` 工具函数用于数组内容对比。
2025-11-07 22:50:34 +08:00
1
e86e138d94 refactor(rpc): 重构服务器信息获取逻辑,移除冗余锁机制并优化踢人逻辑 2025-11-03 15:30:41 +00:00
9b73de4faf ```
feat(rpc): 更新客户端映射变量命名以符合导出规则

将 rpc.go 中的 clientmap 变量重命名为 Clientmap,使其可被其他包访问。
同时修复了拼写错误 useid1 -> userid,并在 RegisterLogic 方法中调用 Refurh 函数。

fix
2025-11-03 19:14:34 +08:00
ea4ca98e49 fix(socket): 修复连接处理逻辑并优化数据解码流程
- 修复 `OnOpen` 中网络类型判断位置不正确的问题,提前过滤非 TCP 连接
- 移除 `OnTraffic` 中重复的网络类型判断
- 优化 `TomeeSocketCodec` 的解码逻辑,使用 `InboundBuffered` 和 `Next` 提高效率
- 调整 `ByteArray` 创建方法参数,避免可变参数带来的性能损耗
- 在 `ClientData` 中将 `IsCrossDomain` 改为 `sync.Once` 避免重复处理
- 使用 `AsyncWrite` 替代 `Write` 提升写入异步性
- 修复连接关闭流程,使用
2025-11-01 14:31:19 +08:00
eac1d41043 fix(rpc): 修复日志输出格式并修正logic服务器注册逻辑
修复了rpc模块中日志输出时参数拼接错误的问题,同时修正了RegisterLogic函数中端口映射的逻辑错误。

feat(socket): 替换错误处理方式为panic

在ServerEvent.go中将网络启动失败的返回错误改为panic处理,提高错误可见性。

feat(fight): 增加战斗加载进度控制

在LoadPercent函数中增加对FightC非
2025-11-01 00:40:19 +08:00
1
08fcc72b6d ``feat(socket): 完善踢人流程日志记录,添加CloseChan确保数据保存完成`` 2025-10-16 18:59:38 +00:00
1
779cc522df 尝试修复踢人bug 2025-10-16 16:28:00 +00:00
1
09c6189b80 ``refactor(rpc): 优化RPC客户端管理逻辑,移除冗余clientidmap,整合blazing服务调用`` 2025-10-15 22:53:14 +00: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
a22287d987 ```
fix(network): 修复 rpc 和 websocket 地址拼接缺少冒号的问题

修复了 jsonrpc 服务启动时监听地址缺少冒号导致解析错误的问题,
同时修正 websocket 客户端连接地址的拼接逻辑。此外,注释掉了一处日志输出,
并调整了端口检测函数的参数类型以匹配实际配置结构。

```
2025-10-08 17:16:54 +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
4e2073e185 修复rpc问题 2025-10-05 02:00:00 +00:00
f847386b7c feat(fight): 优化技能命中逻辑与效果触发流程
重构了技能攻击处理逻辑,调整了命中判断和效果应用的顺序。
新增 `Calculate_Pre` 接口方法用于实现无视类效果。
修复技能是否命中的判断逻辑,确保效果命中状态正确传递。
清理上回合缓存的效果数据,保证每回合初始状态干净。
统一使用 `IsFirst` 方法判断先后手,提升代码一致性。
完善玩家离线时的数据保存顺序,避免重复操作。
更新依赖模块版本信息。
2025-10-05 00:29:22 +08:00
91d0d29ec9 战斗修改 2025-09-29 02:40:35 +08:00
6eb244b73f ```
feat(rpc): 优化 RPC 客户端地址配置逻辑

- 将 RPC 地址从硬编码改为通过 service 动态获取
- 修改端口常量名称 rpcaddr 为 rpcport,提升语义清晰度
- 调整客户端连接逻辑以支持动态 IP 和端口拼接

fix(fight): 修复技能命中与闪避逻辑执行顺序

- 调整战斗中技能攻击流程,确保命中率和闪避计算正确应用
- 更新 effect 接口定义,增强技能使用前后的控制节点
- 增加伤害计算过程中的多阶段触发机制(加法、乘法、减法等)

feat(config): 更新数据库及 Redis 配置信息

- 修改 PostgreSQL 用户名、密码和数据库名
- 更新 Redis 访问密码
- 调整服务器 IP 获取方式,区分测试环境与生产环境

chore(vscode): 优化调试配置 console 输出设置

- 在 launch.json 中为调试配置增加 integratedTerminal 控制台选项
- 统一逻辑服务启动参数格式

chore(gitignore): 忽略特定平台编译产物

- 添加针对 Linux 平台的 logic 和 login 模块编译文件忽略规则
```
2025-09-28 01:58:42 +08:00
1
4c10dbf211 "refactor(rpc): 移除端口检查条件,强制注册逻辑服务并添加重连注释" 2025-07-31 08:29:37 +00:00
1
5d2b48ccc0 refactor(logging): 统一使用自定义Loger替代g.Log()日志记录 2025-07-26 03:48:06 +00:00
cb87fda0d1 refactor(rpc): 重构 RPC 客户端并优化日志记录
- 在 rpc 包中添加了 g.Log() 调用,用于记录 RPC 服务器启动和错误信息
- 重构了 controller 包,将 LogicClient 从 Controller 结构体中分离出来
- 优化了 login 控制器中的 Login 方法,增加了新客户端的创建和数据发送逻辑
- 简化了 systemtime 控制器中的 SystemTimeInfo 方法
- 更新了 server.go 中的 Start 函数,使用 new(controller.LogicClient) 替代 controller.Maincontroller
2025-07-25 23:37:02 +08:00
bf72b91fc6 refactor(rpc): 重构 RPC 客户端并添加重连机制
- 更新了 RPC 客户端的初始化和重连逻辑
- 添加了重连函数和最大重试次数的配置
- 优化了与服务器的连接管理
- 调整了端口相关的数据类型
2025-07-17 05:20:30 +08:00
575560454
b647c74808 refactor(common): 重构缓存管理模块,将cache迁移至share包并实现泛型缓存存储 2025-07-15 18:10:25 +00:00
575560454
7d2aef2483 refactor(common): 优化缓存和RPC模块,调整用户在线状态数据类型为uint16 2025-07-15 13:51:10 +00:00
7a87bfa089 refactor(common): 重构 common 模块
- 移除 global.go 文件
- 更新 player.go 中的玩家数据存储方式
- 删除 session.go 文件
- 调整 rpc.go 中的 RPC 客户端方法
- 更新 ServerEvent.go 中的会话管理
- 调整 controller 中的 Maincontroller 结构
- 更新 login.go 中的用户登录逻辑
- 调整 service 中的玩家数据获取方式
- 更新 admin/login.go 和 login.go 中的会话管理
2025-07-15 12:14:17 +08:00
666557416d refactor(entity): 重构 ClientData 结构体并添加同步锁
- 在 ClientData 中添加 sync.Mutex 以确保并发安全
- 实现 SetPlayer 和 GetPlayer 等方法来封装 player 字段的操作
- 更新相关代码以使用新的 ClientData 结构和方法
2025-07-06 22:58:39 +08:00
53da82df82 chore(vscode): 更新调试配置并删除无用的 API 代码
- 在 .vscode/launch.json 中添加了新的 Go 调试配置项
- 删除了 blazing/common/api 目录下未使用的 Kick.pb.go 和 Quit.pb.go 文件
2025-07-06 19:31:30 +08:00