服主:集中禁令
阅读
2021-08-22更新
最新编辑:对味Cherry
阅读:
更新日期:2021-08-22
最新编辑:对味Cherry
什么是集中禁令?
集中封禁是RUST服务器的一项新功能,允许服主建立一个外部的封禁数据库,该数据库可以在多个服务器之间使用。
如何使用该功能?
您需要一个用于托管集中禁令API的WEB服务器(可以是http也可以是https)。开发团队没有提供关于这方面的示例或源代码,但实施起来还是相对简单的。
如果要在您的服务器上启动它,只需要将server.bansServerEndpoint
启动项的值设置为集中禁令API的网址即可。
例如:Server.bansServerEndpoint "https://wiki.biligame.com/rust/api/rustBans/"
。
设置后,服务端会在玩家加入服务器时查询该API来检查该玩家是否被封禁。
API接口详情
假设将server.bansServerEndpoint
参数设置为"https://wiki.biligame.com/rust/api/rustBans/"
,您的WEB服务器将会收到类似的请求:
GET /rust/api/rustBans/{steamID64}
并以JSON格式返回该SteamID的封禁状态。
请求的链接是通过将Steam64位ID附加到server.bansServerEndpoint的值后生成的,如果有需要可以使用反斜杠。
返回示例
{ "steamId": "76561198830512897", "reason": "这个人太帅了,所以BAN了", "expiryDate": 1608611830 }
字段 | 说明 |
---|---|
steamId | 被封禁的Steam64位ID-用于检查API是否正确的返回。 |
reason | 封禁的原因,这将在玩家连接到服务器时显示的提示 |
expiryDate | 到期时间-为Unix时间戳,这用于在玩家连接到服务器时显示剩余的封禁时间。小于或等于0将代表永久封禁 |
服务端还将检查WEB服务器返回的响应代码:
状态码 | 含义 |
---|---|
2xx | 成功。表示响应正文中返回上述JSON格式 |
404 | 未找到。表示请求的SteamID未被封禁 |
其它 | 重定向应由Unity处理,但其它的代码将导致失败(详情请查看下方FAQ) |
F&Q
当禁令添加到API中时,这个玩家会不会被踢出服务器?
不,集中禁令只会阻止玩家进入服务器。如果您想立即将其踢出服务器,还请使用kick指令。
当API关闭或无法工作时会发生什么?
当集中禁令API发生错误时,就会向服务端控制台发送一条警告。您可以使用一个单独的命令server.bansServerFailureMode
来选择遇到错误时,系统的处理方法:
参数值 | 含义 |
---|---|
False | 发生错误时允许玩家进入服务器(将向服务器控制台发送一条消息) |
True | 发生错误时不允许玩家进入服务器(将向服务器和玩家的控制台发送一条消息) |
向我的API发送请求时超时,我该做什么?
使用的集中禁令请求的超时时间均设置为5秒。这应该绰绰有余,但是如果引起了问题,则可以使用server.bansServerTimeout
参数来调整(该参数以秒为单位)。请记住,请求超时的时间越长,玩家就需要等待更长的时间才能加入服务器。所以您应该让您的API更快,而不是增加超时时间。