EssentialsX

EssentialsX

2M Downloads

Any chances on an Essentials BungeeCord module?

mibby opened this issue ยท 8 comments

commented

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?

commented

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.

commented

@md678685 ๐Ÿ‘

commented

@mibby Were you thinking of a BungeeCord plugin or extending the Bukkit plugin?

commented

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.

commented

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?

commented

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.

commented

would be nice if you could teleport and and message between servers

commented

Closing in favor of #2019 as that issue has a lot more discussion on it