📋 表概述

warden_action 表用于配置 Warden 反作弊系统检测到违规行为时的处理策略。每条记录将一个 Warden 检测 ID(wardenId)映射到一个惩罚动作(action),如踢出玩家、封禁账号等。

📊 表结构

字段名数据类型默认值说明
wardenIdsmallint UNSIGNED(无)Warden 检测项ID
actiontinyint UNSIGNEDNULL惩罚动作:0=仅记录, 1=踢下线, 2=封禁账号

🔍 重要字段详解

wardenId — 检测项标识

对应 Warden 系统中定义的检测模块编号。每个编号对应一种特定的作弊检测方式,如内存扫描、文件完整性检查、DLL 注入检测等。不同的 wardenId 可以配置不同的惩罚力度。

action — 惩罚动作

定义检测到作弊后的处理方式:NULL/0 = 仅记录日志不处理、1 = 踢出游戏(kick)、2 = 临时封禁(ban)。可根据检测项的严重程度配置不同级别。

💡 SQL查询示例

查看所有 Warden 动作配置

SELECT wardenId,
       CASE action WHEN 0 THEN '仅记录' WHEN 1 THEN '踢下线' WHEN 2 THEN '封禁' ELSE '未配置' END AS 动作
FROM warden_action
ORDER BY wardenId;

配置某个检测项为封禁处理

INSERT INTO warden_action (wardenId, action) VALUES (100, 2)
ON DUPLICATE KEY UPDATE action = 2;

❓ 常见问题

Q: Warden 检测到作弊但没有任何动作?

检查 warden_action 表中对应 wardenId 的 action 值是否正确配置。如果 action 为 NULL,Warden 只会记录日志而不会采取任何行动。

Q: 如何禁用某个 Warden 检测项?

将对应 wardenId 的 action 设为 NULL:UPDATE warden_action SET action = NULL WHERE wardenId = 100;