全站通知:

服主:集中禁令

阅读

    

2021-08-22更新

    

最新编辑:对味Cherry

阅读:

  

更新日期:2021-08-22

  

最新编辑:对味Cherry

来自腐蚀WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
页面贡献者 :
对味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更快,而不是增加超时时间。