在玩家进入服务器时通过Steam WebAPI检查是否满足要求,不满足则踢出。
如果您从以前的版本升级,请备份旧的配置文件并删除它。
您也可以使用权限组:
如果您从以前的版本升级,请备份旧的配置文件并删除它。
权限
- steamchecks.use - 允许发出测试命令
- steamchecks.skip - 绕过Steam检查
控制台指令
- steamcheck <steamid> - 检查指定的SteamID是否满足设置的条件(不管是否已加入服务器)。
- steamcheck.runtests <steamid> - 使用指定的SteamID调用所有API,并输出响应。
配置文件
JSON:
{
"AdditionalKickMessage": "Contact Discord for more Information",
"ApiKey": "Your Steam APi Key here",
"BroadcastKick": false,
"CacheDeniedPlayers": false,
"CachePassedPlayers": true,
"DiscordRolesToMention": [123456789,987654321],
"discordWebHookUrl": "Http://WebhookHere.com",
"Kicking": {
"CommunityBan": true,
"TradeBan": true,
"PrivateProfile": true,
"LimitedAccount": true,
"NoProfile": true,
"FamilyShare": false,
"ForceHoursPlayedKick": false
},
"LogInsteadofKick": false,
"Thresholds": {
"MaxVACBans": 1,
"MinDaysSinceLastBan": -1,
"MaxGameBans": 1,
"MinSteamLevel": 2,
"MaxAccountCreationTime": -1,
"MinGameCount": 3,
"MinRustHoursPlayed": -1,
"MaxRustHoursPlayed": -1,
"MinOtherGamesPlayed": 2,
"MinAllGamesHoursPlayed": -1
}
}
配置说明
- ApiKey - Steam Web API密钥。在此获取:Sign In
- AdditionalKickMessage - 这将附加到所有踢出信息中。例如,您可以写入获取白名单的方法
- CachePassedPlayers - 不再检查通过检查的玩家
- 缓存会在插件重载/服务器重启时重置
- CacheDeniedPlayers - 不再检查失败检查并直接踢出的玩家
- 缓存会在插件重载/服务器重启时重置
- 默认为false,因为如果玩家将个人资料设置为私人,则无法加入 - 然后尝试使用相同的个人资料重新加入
- CommunityBan (true 或 false) - 当玩家有社区封禁时踢出
- TradeBan (true 或 false) - 当玩家有交易封禁时踢出
- PrivateProfile (true 或 false) - 当玩家有私密个人资料时踢出。大多数检查都依赖于此。
- LimitedAccount (true 或 false) - 当玩家有限制帐户时踢出
- NoProfile (true 或 false) - 当玩家尚未设置steam社区个人资料时踢出
- ForceHoursPlayedKick (true 或 false) - 如果游戏时间检查开启(如MinRustHoursPlayed),并且他隐藏了游戏时间,则踢出玩家
- 注意:许多用户的Steam个人资料为公开,但游戏时间为隐藏(新的Steam默认设置)
- 如果此选项为false,则只在他将游戏时间信息设置为公开时执行游戏时间检查(推荐)
- LogInsteadofKick (true 或 false) - 如果为true,则只记录玩家是否能通过steam检查,,不是在失败时实际踢出他
- MaxVACBans - 如果为0,则在用户有任何VAC封禁时踢出。如果为1,则在用户至少有2个VAC封禁时踢出,等等。使用-1禁用检查。
- MinDaysSinceLastBan - 上次封禁后的最小天数。使用-1禁用检查。
- 此选项只有在MaxVACBans大于0或用-1禁用时才有意义。
- MaxGameBans - 如果为0,则在用户有任何游戏封禁时踢出。如果为1,则在用户至少有2个游戏封禁时踢出,等等。使用-1禁用检查。
这些选项需要公开的steam个人资料:
- MinSteamLevel - 用户必须拥有的最低Steam等级
- 1或更高的steam等级也排除所有限制帐户
- MaxAccountCreationTime 以Unix时间 - 在此时间点之后创建的帐户将被踢出
- MinGameCount - 用户必须拥有的最少游戏数
- 如果用户隐藏了游戏时间,它将使用来自Steam徽章的信息
这些选项需要用户将游戏/游戏时间设置为可见。如果ForceHoursPlayedKick为false,则仅在以下约束不匹配时踢出可见游戏的用户。
- MinRustHoursPlayed 小时 --最少玩过Rust的时间
- MaxRustHoursPlayed 小时 - 最多玩过Rust的时间(可能对新手服务器有用)
- MinOtherGamesPlayed 小时 - 用户必须玩过的最少Steam游戏时间(不包括锈迹)
- 只在用户至少有2个Steam游戏时检查
- MinAllGamesHoursPlayed 小时 - 用户必须玩过的最少游戏时间(包括锈迹)
白名单
只需向您要白名单的玩家/组赋予steamchecks.skip权限即可您也可以使用权限组:
- oxide.group add whitelist - 添加白名单组
- oxide.grant group whitelist steamchecks.skip - 向白名单组添加权限
- oxide.usergroup add <steamid> whitelist - 将玩家添加到白名单组
行为
该插件按此顺序进行检查:- 封禁
- 玩家概要(个人资料是否私密,帐户创建时间)
- 限制个人资料和Steam社区个人资料
- 玩家等级
- 游戏时间和数量
- 游戏徽章,以获取游戏数量
- 仅在用户隐藏游戏时间时完成