Bedrock Player Managment Floodgate 基岩版玩家管理
作者:ofunny
发布时间:2020年8月3日
原生版本:未知
测试支持:1.8,1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16,1.17,1.18,1.19
当玩家加入时,根据他们的客户端版本(Bedock/Java/All)执行命令。
点此下载插件详细介绍
🪨 ofunnys BedrockPlayerManager
BedrockPlayerManager 是一个 GeyserMC 插件的扩展,它允许 Minecraft 基岩版玩家加入 Java 版服务器。该插件依赖于 GeyserMC 的 Floodgate API,并允许您根据玩家的客户端类型(Java 或 Bedrock)执行自定义命令。此外,它还支持 Luckperms 和 Vault 权限插件,以便根据玩家的客户端自动添加或删除特定的权限组。
🌟 主要特性
- 支持 Geyser/Floodgate 单服务器和 Bungee/Waterfall 网络。
- 支持 Geyser 独立安装。
- 支持为 Java、Bedrock 或所有玩家自定义加入命令。
- 支持 Luckperms 和 Vault,为 Bedrock 玩家添加自定义权限组。
- 支持 Floodgate 1.x 和 2.x(自动检测或手动配置)。
- 新增重载命令,可以在不重启服务器的情况下更改插件配置。
- 为所有命令添加了 PlaceholderAPI 支持(可以通过配置选项启用/禁用)。
- 为玩家 UUID 添加了额外的标准占位符。
- 退出命令模块(在玩家离开时执行命令)。
- 可以单独设置加入命令和权限分配的执行延迟。
🛠️ 用例示例
- 为 Bedrock 或 Java 玩家添加自定义前缀或后缀(例如通过 Luckperms)。
- 绕过 Bedrock 玩家的反作弊检查(大多数反作弊插件允许通过权限绕过检查)。
- 根据客户端类型允许或拒绝某些功能、命令、游戏类型或世界。
- 在启动时给予物品或将 Bedrock 玩家移动到另一个出生点。
⚙️ 命令
/bpm reload
使用 /bpm reload 命令可以动态更新配置,而无需重启服务器。您需要 bedrockplayermanager.reload 权限才能执行此命令。
🔑 权限
bedrockplayermanager.reload
允许玩家使用 /bpm reload 命令。
🧩 Luckperms/Vault 支持
通过启用权限模块,您可以自动为通过 Bedrock 客户端加入的玩家分配一个权限组。对于 Java 玩家,该组将被自动移除。不会触及其他组的分配,因此现有的父组保持不变,权限或等级系统不会受到破坏。
如果您想使用分配的 Bedrock 组覆盖 Luckperms 中的权限,或者想显示前缀或后缀,只需将该组的权重设置得高于服务器上任何其他权限组的权重。
⏳ 首次加入后的初始化
每个模块只会在必要时初始化。这意味着命令和权限模块只会在服务器启动后第一个玩家加入时初始化(如果已启用)。特别是对于 Luckperms,这可能会导致 Essentials 插件发出一次性的“lag spike”警告。
💬 额外支持
Discord: https://discord.ofunny.world 在 #bedrockplayermanager 频道中
📝 配置示例
### ofunnys BedrockPlayerManager for Floodgate ###
#
# Command modul.
# This module executes commands as a server (console) or as a player (for Java, Bedrock or all clients) when a player joins the server.
# Keep in mind: you should not use the command module to assign groups via Luckperms or any Vault compatible plugins. Use the permission module instead.
#
# All server and player commands support placeholders. Therfore you can use the build in placeholders {player} and {uuid} or
# any placeholder supported by the PlaceholderApi if installed and activated (see https://www.spigotmc.org/resources/placeholderapi.6245/ for more information).
#
# The placeholder {player} will be replaced with the joining players name.
# The placerholder {uuid} will be replaced with the joining players UUID.
# PlaceholderApi placeholder like %luckperms_primary_group_name% will also be replaced (if installed and activated correctly)
#
# One command per line or {} if empty – for example:
#
# server:
# - give {player} stone 1
#
# player:
# - say hi {player}
# - say How are you today. My UUID is {uuid}, my primary group is %luckperms_primary_group_name%!
#
join_commands:
java:
# If true -> the following commands will be executed when a java player joins.
enabled: false
# Execute commands as server/console.
server: {}
# Execute commands as the joining player.
player: {}
#
bedrock:
# If true -> the following commands will be executed when a bedrock player joins.
enabled: false
# Execute commands as server/console.
server: {}
# Execute commands as the joining player.
player: {}
#
all:
# If true -> the following commands will be executed for all player joins unrelated to the client
enabled: false
# Execute commands as server/console.
server: {}
# Execute commands as the joining player.
player: {}
# This plugin is listening on the PlayerJoinEvent what gets triggered when a player joins a server.
# Basic commands can normally be applied directly without delay. Some commands (like teleports)
# have to be processed after the player has finally joined, therefore I give you the option to delay the execution
# in server ticks. If 0 delay causes proplems with some commands you can set it to 1 or 2 ticks for example.
execution_delay: 1
#
# This module executes commands as a server (console) or as a player (for Java, Bedrock or all clients) when a player leaves the server.
# (Same possibilities as joincommands above but the "execution_delay" has no effect on "quit_commands"!)
quit_commands:
java:
# If true -> the following commands will be executed when a java player quits.
enabled: false
# Execute commands as server/console.
server: {}
# Execute commands as the joining player.
player: {}
#
bedrock:
# If true -> the following commands will be executed when a bedrock player quits.
enabled: false
# Execute commands as server/console.
server: {}
# Execute commands as the joining player.
player: {}
#
all:
# If true -> the following commands will be executed for all player quits unrelated to the client
enabled: false
# Execute commands as server/console.
server: {}
# Execute commands as the joining player.
player: {}
#
#
# Permission modul.
# This module will add a defined permission group to a user whenever this user joins via a Bedrock client. It will also remove that
# group again from the given user whenever the user joins via a Java client. It will only work with supported permission plugins
# (see the options below) and it is the recommended way to add/remove such groups!
# (You can still use the command module above for any unsupported permission plugins and apply perms/groups via commands).
permissions:
# If true, the following permission group will be added / removed depending on the clients version (Bedrock / Java) when a player joins.
enabled: false
# Supported permission plugins.
# Choose:
# plugin: "luckperms" if you use Luckperms or
# plugin: "vault" for Vault compatible permission plugins like Permissions 3, bPermissions, PEX, GroupManager,
# PermissionsBukkit, zPermission, SimplyPerms, Privileges, DroxPerms, xPerms
plugin: "luckperms"
#
# Vault specific settings
# Leave the following option set to "false" if your permission plugin supports global groups (recommended if available).
# Check carefully that your plugin really supports global groups and use them if available.
# >> In case of 'Luckperms' this option has no effect, it will always use global groups. <<
vault:
# If your permission plugin supports "per world" permission groups only, activate "per_world_permissions" by setting it to true.
per_world_permissions: false
# You can define a list of worlds in which the groups will be apllied or leave it empty for all worlds on your server (Vault only).
# WARNING: the following 'bedrock_group_name' must exist as permission group for each defined world otherwise
# you might get an error each time the plugin trys to set or remove this group. So create it in your permission plugin first!
worlds: {}
#
# The permission group to add for bedrock users or to remove for java users.
# If a user joins via Floodgate, the group gets applied otherwise removed (if previously inherited by the joining user).
# Make sure to add the group in your permission plugin first!
bedrock_group_name: "bedrock_user"
# This plugin is listening on the PlayerJoinEvent what gets triggered when a player joins a server.
# Normally there shouldn't be no reason to delay permission group assignments – this is more relevant for join commands.
# However, if 0 delay causes proplems with some permission plugin you can set it to 1 or 2 ticks for example.
execution_delay: 0
#
#
settings:
# Activates the PlaceholderAPI support for all command strings above (the PlaceholderAPI plugin has to be installed correctly to use this feature)!
# (see https://www.spigotmc.org/resources/placeholderapi.6245/ for more information).
PlaceholderAPI: true
# Activate advanced debug messages.
# Only recommended while testing. It will spam your servers console with a lot of debug messages :)
debug: false
#
# Please note: changes to the development options will always require a server restart.
# (The plugin reload command will update the values but they won't have any effect until the next restart).
development:
# What Floodgate version are you using? Currently supported values: auto, 1 or 2
# "auto" for automated detection, "1" for Floodgate v1.x and "2" for Floodgate v2.x
floodgate_version: "auto"
#
# Names of the softdepend plugins (for the internal availability check).
# Only change that if you know what you are doing. Normal plugin user may never need to change that at all!
Floodgate_v1_PluginName: "floodgate-bukkit"
Floodgate_v2_PluginName: "floodgate"
LuckPermsPluginName: "LuckPerms"
VaultPluginName: "Vault"
PlaceholderAPIPluginName: "PlaceholderAPI"
#
#
# Do not touch the following lines!
version: 1.4
🐛 潜在 Bug
如果您发现任何 Bug,请在 GitHub Issues 上报告,或访问上面的 Discord 链接。