免费插件

Permission Group Sync 可下载

权限组同步

跨服务器同步组和权限集

groups 权限 sync role

原作者: SenorCerveza · 查看 uMod 官方页面 ↗

插件介绍

跨服务器同步组和权限集

Synchronizes multiple sets of Groups and Permissions with customizable Commands across multiple Servers.

This can be used in several ways. If a SteamId gets entered in the Database or as a Command, it will automatically add or remove all the Users on all Servers using this Plugin attached to the Database. You can also work with a ServerId for each Configuration so some Commands and Permissions only get applied on a specific Server. If you specify a ServerId for a Record but there is also a global Record, the specific Record will take account and overwrites the Global one (for example a User is in "Group1" on all Servers but also has "Group2" for ServerId "server2", then on Server 2 only the "Group2" will be applied.

That means you can also fill the Database from 3rd Party Applications like Discord Bots / Websites and so on which allows a wide range of use cases.

It is written that you cannot add duplicates, invalid SteamIds and so on. Also it will create the Group if not exist, adds all the Permissions dynamically from Configuration and only process Removed / Added SteamIds to optimize performance.

主要用途

主要用于groups、权限、sync、role等服务端功能。 本插件由 SenorCerveza 发布,当前目录记录版本为 v2.1.1,uMod 累计下载 8,029 次。

适用场景

  • 希望扩展原版服务器功能的服主

功能分类

groups 权限 sync role
查看 uMod 官方英文简介

Synchronizes sets of groups and permissions across servers

权限节点

permissiongroupsync.admin - Allows to use the specified Command to Add and Remove SteamIds

permissiongroupsync.<custompermission> - Every set of GroupPermissions will have its own Permission (see below)

授权示例:oxide.grant user 玩家名 权限节点;撤销使用 oxide.revoke

指令说明

<customcommand> <add/remove> <steamid> - Custom command can be set in the Configuration File for each set of GroupPermissions

配置说明

Default configuration:

{ "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" ] } ] }

Options explained:

ServerId - Put in a short and nonspace identifier for your Server. Groups can be assigned later to that specific ServerId

PollIntervalSeconds - Intervall in Seconds between the Sync jobs with the MySQL Database

DatabaseConfiguration - The Connection Parameters for the MySQL Database (see structure below)Host - The IP or FQDN to your MySQL ServerPort - The TCP Port for the ConnectionUsername - Username for connecting to the DatabasePassword - Password for connecting to the DatabaseDatabase - The name of the Database

GroupPermissions - Each set of GroupPermissions has its own Command, associated Group and PermissionsCommandName - Set a custom Chat and Console CommandGroupName - The Name of the Oxide Group to sync (will be created if not exist)ExtendedPermissionHandling - Set to true to use ProtectedGroup, GroupCheckExcludedSync, GroupsRemove and PermissionRust functions. If set to false, all these options and functions will be ignored.PermissionUse - Set to true so every set of GroupPermissions has its own Permission which will be checked (for example if some one uses /yourCommand1 but don't have the Permission permissiongroupsync.yourCommand1 it will get blocked. Set to false to ignore this PermissionProtectedGroup - Set to true to protect members of this Group of beeing removed by Groups specified in GroupsRemove below.OverrideServerIdCheck - Set to true that actions for this Group always affects all Servers. Set to false to always check for the specified ServerId (can also be ALL)GroupsCheckExcludedSync - Specifie Groups to check before applying the GroupPermission Settings. If a User is in one of these Groups, the Group Setting will not be applied (for example the Admin Deepcover Group)GroupsRemove - Specify a List of Groups where the user needs to get removed if beeing added to this Group. Usefull for removing lower or higher tier Groups to make sure the User only is in this Group and not multiplePermissionsRust - Set the native Rust Auth Level Permission which should be granted (0 = User, 1 = Moderator, 2 = Owner)PermissionsOxide - List of Permissions the Group should have (will be adjusted if you change it later)AdditionalCommands - Specify additional Console commands which should be executed. The placeholder {0} will be replaced with the SteamId for the specific User

Host - The IP or FQDN to your MySQL Server

Port - The TCP Port for the Connection

Username - Username for connecting to the Database

Password - Password for connecting to the Database

Database - The name of the Database

CommandName - Set a custom Chat and Console Command

GroupName - The Name of the Oxide Group to sync (will be created if not exist)

ExtendedPermissionHandling - Set to true to use ProtectedGroup, GroupCheckExcludedSync, GroupsRemove and PermissionRust functions. If set to false, all these options and functions will be ignored.

PermissionUse - Set to true so every set of GroupPermissions has its own Permission which will be checked (for example if some one uses /yourCommand1 but don't have the Permission permissiongroupsync.yourCommand1 it will get blocked. Set to false to ignore this Permission

ProtectedGroup - Set to true to protect members of this Group of beeing removed by Groups specified in GroupsRemove below.

OverrideServerIdCheck - Set to true that actions for this Group always affects all Servers. Set to false to always check for the specified ServerId (can also be ALL)

GroupsCheckExcludedSync - Specifie Groups to check before applying the GroupPermission Settings. If a User is in one of these Groups, the Group Setting will not be applied (for example the Admin Deepcover Group)

GroupsRemove - Specify a List of Groups where the user needs to get removed if beeing added to this Group. Usefull for removing lower or higher tier Groups to make sure the User only is in this Group and not multiple

PermissionsRust - Set the native Rust Auth Level Permission which should be granted (0 = User, 1 = Moderator, 2 = Owner)

PermissionsOxide - List of Permissions the Group should have (will be adjusted if you change it later)

AdditionalCommands - Specify additional Console commands which should be executed. The placeholder {0} will be replaced with the SteamId for the specific User

官方配置示例


{
  "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"
      ]
    }
  ]
}

{
  "ErrorConfig": "Error: Could not read config values or invalid / empty options specified.",
  "ErrorDatabaseConnect": "Error: Could not connect to Database {0}. Check Connection and Service.",
  "ErrorDatabase": "Error: Could not read or write from Database {0}: {1}",
  "ErrorCommand": "Error: Could not modify Group Permissions for Player {0}.",
  "ConnectedDatabase": "Connected to Database {0}.",
  "NoPermissions": "You don't have Permissions to use this Command.",
  "InvalidSyntax": "Invalid Syntax. Use /{0} <add or remove> <steamId> <optional:serverId>.",
  "InvalidSteamId": "No valid SteamId provided.",
  "GroupAdded": "Added {0} to Group {1} for ServerId: {2}",
  "GroupRemoved": "Removed {0} from Group {1}  for ServerId: {2}",
  "NoAction": "No action needed because {0} is already in Group or removed.",
  "PermissionChanged": "Your ingame Permissions have changed. Please relog so they can apply.",
  "NoLongerInDB": "Removing {0} from {1} because no longer in Database.",
  "NotRemovedProtected": "Could not remove {0} from Group {1} because Group is protected.",
  "NotAddedGroup": "Permissions could not be added to Group. Retrying.",
  "PermissionChangedLog": "Changed AuthLevel for User {0} to {1}."
}

更新日志

最新版本: v2.1.1
最后版本发布: 2023-01-30
最后更新(条目): 2026-08-23

本站记录 uMod 官方插件信息。完整的历史更新日志请参阅 uMod 官方页面

安装方法

  1. 确认服务器已安装 Oxide / uMod 或兼容的 Carbon 框架。
  2. 登录本站后点击"下载",由本站已校验的本地缓存提供作者发布的文件。
  3. 将 .cs 文件放入服务器的 oxide/plugins 目录。
  4. 观察服务端控制台,确认插件编译并成功加载。
  5. 具体配置、权限、指令和依赖请查看原作者的 uMod 页面。

使用前注意

  • Rust 更新后,请先确认插件是否仍兼容当前服务端版本。
  • 修改配置前建议备份原配置文件,并在测试服验证后再部署到正式服。
  • 若插件依赖其他扩展或库,以 uMod 原作者页面的最新说明为准。
  • 本站中文内容用于辅助理解,遇到版本差异时以官方英文文档和源码为准。
来源说明

中文介绍由 uMod 官方简介翻译整理。插件著作权、许可证、完整文档和最新发布状态均以原作者及 uMod 官方页面为准。