Native Major MC Version: 1.16 Tested Major MC Versions:
New update available (including Floodgate 2.0 support)
If you upgrade from a version below 1.4 a new config.yml will be generated and the old one will be renamed (to [date]_[time]_old.config.yml). You need to take over your configuration options manually. Afterwards you can delete the old config file and start your Minecraft sever.
Proxy version
Looking for the proxy version (Bungee/Waterfall): https://www.spigotmc.org/resources/...ent-for-floodgate-geyser-proxy-edition.94587/
(Please note: the proxy version does not support all functions of the regular server version below!)
ofunnys BedrockPlayerManager
This plugin is an extension for the awesome GeyserMC. Geyser allows basically Bedrock players to join any Minecraft Java server. BedrockPlayerManager dependents on the Floodgate API what is part of GeyserMC
With this plugin you can execute custom commands when your players join your server network depending on the client of the player. You can issue commands independently for Java, Bedrock or all players.
The permission plugins Luckperms and Vault are also supported, if a Bedrock / Java player joins the server, a special Bedrock permission group will be added / removed depending on the client of the player.
Play on ofunny.world
See this plugin in action on our Minecraft server.
Just connect to play.ofunny.world
Java or Bedrock client.
(More infos on ofunny.world or via Discord)
New Features
Visit my ofunny.world for more information: https://ofunny.world/bedrock-player-manager/#howto
Reload command
You can use the “/bpm reload” command to update your configuration on the fly (without restart). You will need the “bedrockplayermanager.reload” permission to execute this command as player.
Luckperms/Vault
By enabling the permission module you can automatically assign a group for Bedrock players on join. The group will be automatically removed for Java players. No other group assignments get touched. So already existing parent groups stay the same and no permission or rank system will get corrupted.
If you want to overwrite permission in Luckperms with the assigned Bedrock group or if you want to display a pre- or suffix, just set the groups weight higher than the weight of any other permission group on your server. Look at the link for more information about Luckperms group weight.
First join after server start
Each module will be only initialized when necessary. This means that the command and permission module will be initialized once (if enabled) when the first player joins the server after starting. With Luckperms in particular, this can lead to a one-time "lag spike" warning via the Essentials plugin.
This is nothing to worry about. It has no impact on ongoing operations.
Additional support
![[IMG] [IMG]](/proxy.php?image=https%3A%2F%2Fdiscord.ofunny.world%2Fdiscord_logo400x136.png&hash=0e959d7fe10cc8fc822acd05b55df134)
Discord: https://discord.ofunny.world in the channel #bedrockplayermanager
Config example
Code (YAML):
### 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
POSSIBLE BUGS
This is a new plugin. If you find any bugs please report them on https://github.com/ofunny/BedrockPlayerManager/issues or visit the Discord link above.
Please do not post any bug reports or question into the review section.
Thanks
yours
ofunny
- 1.8
- 1.9
- 1.10
- 1.11
- 1.12
- 1.13
- 1.14
- 1.15
- 1.16
- 1.17
- 1.18
- 1.19
New update available (including Floodgate 2.0 support)
If you upgrade from a version below 1.4 a new config.yml will be generated and the old one will be renamed (to [date]_[time]_old.config.yml). You need to take over your configuration options manually. Afterwards you can delete the old config file and start your Minecraft sever.
Proxy version
Looking for the proxy version (Bungee/Waterfall): https://www.spigotmc.org/resources/...ent-for-floodgate-geyser-proxy-edition.94587/
(Please note: the proxy version does not support all functions of the regular server version below!)
ofunnys BedrockPlayerManager
This plugin is an extension for the awesome GeyserMC. Geyser allows basically Bedrock players to join any Minecraft Java server. BedrockPlayerManager dependents on the Floodgate API what is part of GeyserMC
With this plugin you can execute custom commands when your players join your server network depending on the client of the player. You can issue commands independently for Java, Bedrock or all players.
The permission plugins Luckperms and Vault are also supported, if a Bedrock / Java player joins the server, a special Bedrock permission group will be added / removed depending on the client of the player.
Play on ofunny.world
See this plugin in action on our Minecraft server.
Just connect to play.ofunny.world
Java or Bedrock client.
(More infos on ofunny.world or via Discord)
New Features
- Works with Geyser/Floodgate single server installations.
- Works with Geyser/Floodgate Bungee/Waterfall networks
- Works with Geyser standalone setup
- Support custom join commands for Java, Bedrock or all players.
- Support for Luckperms and Vault to add a custom permission group for Bedrock players.
- Support for Floodgate 1.x and 2.x (auto detection or manually)
- New reload command to change the plugin config on the fly (without restart)
- PlaceholderAPI support added for all commands (including config option to turn it on/off)
- An extra standard placeholder has been added for a players UUID
- Quit command module (execute commands if a player leaves)
- Individual execution delay for join commands and permission assignment is now possible.
- Backward compatibility has been implemented for Minecraft servers 1.8.8, 1.9.x, 1.10.x, 1.11.x, 1.12.x, 1.13.x, 1.14.x and 1.15.x. (Geyser depends on VivaVersion for any server pre 1.16, don't forget to install it as well or BE clients can not connect).
- Complete Vault support has been added to the permission module, so all permission plugins can be used that are supported by the Vault API. For example: Permissions 3, bPermissions, PEX, GroupManager, PermissionsBukkit, zPermission, SimplyPerms, Privileges, DroxPerms, xPerms – for more information, visit the Vault resource page.
- Vault permissions can be applied per world or globally.
- Command execution (upon joining) for all players can now be performed in solo mode. Floodgate is a soft dependency now. If 'commands.java.enabled', 'commands.bedrock.enabled' and 'permissions.enabled' have been deactivated with 'false', commands can be executed for all players without Floodgate.
- Add custom pre- or suffixes to Bedrock or Java players. For example via Luckperms prefix.
- Bypass anti cheat checks for Bedrock players. Most anti cheat plugins allow bypassing checks via permissions.
- Allow or deny features, commands, game types or worlds based on the client type.
- Give items on start or move Bedrock players to another spawn.
- You can do litterly anything by using custom commands or assigning permissions based on the client type of a player.
Visit my ofunny.world for more information: https://ofunny.world/bedrock-player-manager/#howto
Reload command
You can use the “/bpm reload” command to update your configuration on the fly (without restart). You will need the “bedrockplayermanager.reload” permission to execute this command as player.
Luckperms/Vault
By enabling the permission module you can automatically assign a group for Bedrock players on join. The group will be automatically removed for Java players. No other group assignments get touched. So already existing parent groups stay the same and no permission or rank system will get corrupted.
If you want to overwrite permission in Luckperms with the assigned Bedrock group or if you want to display a pre- or suffix, just set the groups weight higher than the weight of any other permission group on your server. Look at the link for more information about Luckperms group weight.
First join after server start
Each module will be only initialized when necessary. This means that the command and permission module will be initialized once (if enabled) when the first player joins the server after starting. With Luckperms in particular, this can lead to a one-time "lag spike" warning via the Essentials plugin.
This is nothing to worry about. It has no impact on ongoing operations.
Additional support
![[IMG] [IMG]](/proxy.php?image=https%3A%2F%2Fdiscord.ofunny.world%2Fdiscord_logo400x136.png&hash=0e959d7fe10cc8fc822acd05b55df134)
Discord: https://discord.ofunny.world in the channel #bedrockplayermanager
Config example
Code (YAML):
### 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
POSSIBLE BUGS
This is a new plugin. If you find any bugs please report them on https://github.com/ofunny/BedrockPlayerManager/issues or visit the Discord link above.
Please do not post any bug reports or question into the review section.
Thanks
yours
ofunny