Any chances on an Essentials BungeeCord module?
mibby opened this issue ยท 8 comments
Any chances on any type of support / Essentials BungeeCord module being created in the future to bridge certain Essentials features across a BungeeCord network? Such as linking chat, private messaging, ignore, kick, ban, placeholder variables for login MOTD, global join/leave messages, etc?
I've considered forking EssX and adding inter-server functionality through BungeeCord's plugin messaging channel in the past, but I don't currently have time to work on this. Would be great if someone could integrate something like this though; there aren't many good, well-maintained BungeeCord plugins which provide similar functionality to what Essentials does.
@md678685 ๐
@mibby Were you thinking of a BungeeCord plugin or extending the Bukkit plugin?
I personally was thinking an extension to the Bukkit plugin to be used on Bungee as a sort of bridge / hook connecting all servers that use Essentials. So you could message anyone globally, have one unified chat (essentials chat), ignored users register globally, can kick anyone from any server, uses the vault prefix of the player on the server he is connected to for message displaying, etc.
I would definitely like this. I'm currently using a custom plugin of my own to store player's nicknames in a database and apply their nick each time they join a server + this plugin to sync economy balances: https://www.spigotmc.org/resources/mysql-player-data-bridge.8117/ . . . but native bungeecord support would be fantastic cause these solutions aren't perfect.
Regarding this reason for not adding mysql support:
Just a little back ground on how this works...
Just storing the data in mysql, wouldn't make it multiserver compatible.
If in Essentials you had to read the players 'balance' from mysql every time the balance is needed, you could easily introduce major latency, as currently players balances are stored in RAM while the player is connected to the server. This is true of all player metadata. While a player is connected to the server, any edits to the players yml file would be wiped, as while the player is online, the file is just a 'backup'.
Why don't you still cache the data while the player is on and just write it to the database when you would normally save it to the file?
I would definitely like this. I'm currently using a custom plugin of my own to store player's nicknames in a database and apply their nick each time they join a server + this plugin to sync economy balances: https://www.spigotmc.org/resources/mysql-player-data-bridge.8117/ . . . but native bungeecord support would be fantastic cause these solutions aren't perfect.
Regarding this reason for not adding mysql support:
Just a little back ground on how this works...
Just storing the data in mysql, wouldn't make it multiserver compatible.If in Essentials you had to read the players 'balance' from mysql every time the balance is needed, you could easily introduce major latency, as currently players balances are stored in RAM while the player is connected to the server. This is true of all player metadata. While a player is connected to the server, any edits to the players yml file would be wiped, as while the player is online, the file is just a 'backup'.
Why don't you still cache the data while the player is on and just write it to the database when you would normally save it to the file?
Bungee logs the player out after it logs into another server (when switching servers). This would mean the server the player switches to would be using old data.
Closing in favor of #2019 as that issue has a lot more discussion on it