权限组同步-Permission Group Sync

免费 权限组同步-Permission Group Sync 2.1.1

没有下载权限

欢迎客人!

注册账号后就可以下载免费插件了.也可以享受折扣了

文件链接损坏请在文件下方留言,不会使用,我们将会及时更新来自备份服务器的新链接。如有其它问题请 提交工单 和我们联系!【加入QQ群:188710777

现在注册 立即登录
  • 网站功能入口集合(无底部颜色)

概述​

在多个服务器上同步多组组和权限,并可自定义命令。

这可以通过多种方式使用。如果在数据库中或以命令形式输入 SteamId,它会自动添加或移除所有使用该插件连接数据库的服务器上的用户。你还可以为每个配置使用ServerId,这样某些命令和权限只会应用到特定的服务器上。如果你为某条记录指定了ServerId,但同时存在全局记录,该特定记录会考虑并覆盖全局记录(例如,用户在所有服务器上都属于“Group1”,但ServerId的“Group2”是“server2”,那么在服务器2上只应用“Group2”。

这意味着你也可以从第三方应用,比如Discord机器人/网站等,填充数据库,这让应用场景非常多样化。

规则规定不能添加重复、无效的SteamId等。如果没有组,它会创建该组,动态添加配置中的权限,只处理移除/添加的 SteamId,以优化性能。

权限​

这个插件使用权限系统。要分配权限,请使用 。要移除权限,请使用 。oxide.grant <user or group> <name or steam id> <permission>oxide.revoke <user or group> <name or steam id> <permission>
  • permissiongroupsync.admin- 允许使用指定的命令添加和移除SteamIds
  • permissiongroupsync.<custompermission>- 每组组权限都有自己的权限(见下文)

服务器/控制台命令​

  • <customcommand> <add/remove> <steamid>- 可以在配置文件中为每个组权限组设置自定义命令

配置​

设置和选项可以在目录下的文件中配置。建议使用编辑器和验证器以避免格式问题和语法错误。PermissionGroupSyncconfig
默认配置:
JSON:
{
  "ServerId": "yourid",
  "PollIntervalSeconds": 300,
  "DatabaseConfiguration": {
    "Host": "",
    "Port": 3306,
    "Username": "username",
    "Password": "password",
    "Database": "PermissionGroupSync"
  },
  "GroupPermissions": [
    {
      "CommandName": "yourCommand1",
      "GroupName": "PermissionGroupSync",
      "ExtendedPermissionHandling": true,
      "PermissionUse": true,
      "ProtectedGroup": false,
      "OverrideServerIdCheck": false,
      "GroupsCheckExcludedSync": [
        "admin",
        "testgroup"
      ],
      "GroupsRemove": [
        "moderator"
      ],
      "PermissionsRust": 0,
      "PermissionsOxide": [
        "plugin.permission1",
        "plugin.permission2"
      ],
      "AdditionalCommands": [
        "writefg"
      ]
    },
    {
      "CommandName": "yourCommand2",
      "GroupName": "PermissionGroupSync2",
      "ExtendedPermissionHandling": false,
      "PermissionUse": false,
      "ProtectedGroup": false,
      "OverrideServerIdCheck": false,
      "GroupsCheckExcludedSync": [
        "admin",
        "testgroup"
      ],
      "GroupsRemove": [
        "moderator"
      ],
      "PermissionsRust": 0,
      "PermissionsOxide": [
        "plugin.permission1",
        "plugin.permission2"
      ],
      "AdditionalCommands": [
        "writefg"
      ]
    }
  ]
}
选项说明:

  • ServerId- 为你的服务器输入一个简短且无空格的标识符。之后可以将组分配给该特定的 ServerId。
  • PollIntervalSeconds- 与MySQL数据库的同步作业之间的秒数间隔
  • DatabaseConfiguration- MySQL 数据库的连接参数(见下文结构)
    • Host- 提供 MySQL 服务器的 IP 或 FQDN
    • Port- 连接的TCP端口
    • Username- 连接数据库的用户名
    • Password- 连接数据库的密码
    • Database- 数据库名称
  • GroupPermissions- 每组 GroupPermissions 都有自己的命令、关联的 Group 和权限
    • CommandName- 设置自定义聊天和控制台命令
    • GroupName- 同步的氧化物组名称(如果不存在,将被创建)
    • ExtendedPermissionHandling- 设置为 true,以使用 ProtectedGroup、GroupCheckExcludedSync、GroupsRemove 和 PermissionRust 等功能。如果设置为 false,所有这些选项和函数都会被忽略。
    • PermissionUse- 设置为 true,使每个 GroupPermissions 集合都有自己的权限,并且会被检查(例如,如果有人使用 /yourCommand1 但没有权限权限、groupsync.yourCommand1,则会被阻止)。设置为false以忽略此权限
    • ProtectedGroup- 设置为 true,以保护被下方 GroupsRemove 指定群组移除的成员。
    • OverrideServerIdCheck- 设置为 true,该组的作始终影响所有服务器。设置为 false 以始终检查指定的 ServerId(也可以是 ALL)
    • GroupsCheckExcludedSync- 指定在应用 GroupPermission 设置前需要检查的组。如果用户处于这些组之一,组设置将不会应用(例如管理员深度组)
    • GroupsRemove- 指定一个组列表,如果用户被添加到该组,需要被移除。用于移除低层或高层群组,确保用户只在该组中,而非多个组
    • PermissionsRust- 设置应授予的原生Rust认证级别权限(0 = 用户,1 = 版主,2 = 所有者)
    • PermissionsOxide- 组应有权限列表(若稍后更改将进行调整)
    • AdditionalCommands- 指定应执行的额外控制台命令。占位符{0}将被针对特定用户的SteamID替换

MySQL 设置​

  1. 你需要一个搭建且能正常运行的MySQL服务器,拥有必要的凭证和权限,访问MySQL数据库。
  2. 插件如果还没有自己的表结构,会创建它自己的表结构。
  3. 该表将命名为“permissiongroupsync”

本地化​

JSON:
{
  "ErrorConfig": "错误:无法读取配置项,或指定的配置项无效/为空。",
  "ErrorDatabaseConnect": "错误:无法连接至数据库 {0}。请检查数据库连接状态和服务可用性。",
  "ErrorDatabase": "错误:无法对数据库 {0} 执行读写操作:{1}",
  "ErrorCommand": "错误:无法修改玩家 {0} 的群组权限。",
  "ConnectedDatabase": "已成功连接至数据库 {0}。",
  "NoPermissions": "你没有使用该指令的权限。",
  "InvalidSyntax": "语法错误。正确用法:/{0} <添加 或 移除> <SteamID> <可选:服务器ID>。",
  "InvalidSteamId": "未提供有效的SteamID。",
  "GroupAdded": "已将 {0} 添加至群组 {1}(服务器ID:{2})",
  "GroupRemoved": "已将 {0} 从群组 {1} 中移除(服务器ID:{2})",
  "NoAction": "无需执行操作:{0} 已在目标群组中,或已被移除。",
  "PermissionChanged": "你的游戏内权限已变更,请重新登录以生效。",
  "NoLongerInDB": "因 {0} 已不存在于数据库中,将其从群组 {1} 中移除。",
  "NotRemovedProtected": "无法将 {0} 从群组 {1} 中移除:该群组为受保护群组。",
  "NotAddedGroup": "未能为群组添加权限,正在重试。",
  "PermissionChangedLog": "已将用户 {0} 的权限等级修改为 {1}。"
}
作者
HG老拘
下载
1
查看
35
首次发布
最后更新
评分
0.00 星 0 星

来自HG老拘的更多资源

后退
顶部