REQ: Bungeecord support
Farsinuce opened this issue ยท 9 comments
Dear Andune,
I am uncertain to whether you accept "Feature requests" here as a "New Issue", but here goes:
1) Do you have plans of supporting multi-server setups?
My servers run in a Bungeecord network, and cross-server support would make it much more intuitive for the players to use HSP.
I assume this will only be possible when using HSP with MySQL.
EDIT:
The text below has been moved into other, separate issues; #18 and #19
2) Unlimited time as standard for invitations
The possibility to set the default invitation time limit from 30 seconds to "forever", so that players don't have to type "forever" every time they invite someone.
Examples:
/hi player myhome = a permanent invite since no time limit is given.
/hi player myhome 5m = a 5 minute time-limited invite.
3) Expanding the cost.homeinviteteleport
I would like to reward players who are building farms and impressive creations for the public playerbase to use. A way could be by paying a home owner a small amount of money each time an invited player uses this home. The visiting player would e.g. spend 10 credits to use the home, and a portion of this would be sent to the home's owner.
Scenario#1 "Money to home owner":
Experiencend Player A creates an impressive build for everyone to enjoy.
He sets a public home.
Now as players visits his build, they 1) are deducted ten credits for using a permanent home invitation and 2) some of these credits (let's say "two") goes to Experienced Player A, rewarding him for his impressive creation.
Scenario#2 "Money based on rank":
Experienced Player A is motivated both from the players visiting his former build, and from the credits he has earned through the public home, so he choose to create yet another impressive build.
In the meantime, though, Experienced Player A has ranked up, so as his new build is ready and players start to use his new public home to get there, he now earns five credits pr player visit instead of only two, because of his higher rank.
Let me know if these features have your interest, Andune.
Regards,
Sinuce
Oh yes, we use the exact setup and it would be very great if HSP supports bungeecord! This would so epic...
So every player is atm confused... if the player connects to the hub they cant use their homes (the home is on another server).
Sooo pplleeaassee support bungee, when u have time
I must admit that I don't know how comprehensive this feature would be to develop and implement.
The current plugin I use for cross-server homes is the forked geSuitHomes: https://github.com/addstar/geSuitHomes
from the original geSuit: www.spigotmc.org/resources/gesuit.392/
UPDATE (How I use this):
I have three servers setup in a Bungeecord network: "Denmark", "Vanilla", and "Hub".
If a player has a home in Vanilla whilst doing /home from the Hub, that player will be sent to his said home, regardless of the current server he is on.
However, this is the single and only feature of the old geSuitHomes. The fork by Addstar also provides the ability for moderators to visit other players' homes (permission), but that's it. It comes nowhere near the features provided by HSP.
You are welcome to try the current setup out at play.denmarkinminecraft.com
Home system documentation (the video includes closed captions): http://denmarkinminecraft.com/homes
Do notice that everyone starts as a "Guest", and you must rank up before being able to use homes, by typing /rules and entering the password in the very bottom line; e.g. "/accept 1234". The server is Danish but almost everything has an English translation in grey :)
This is the only information I have. I wouldn't force you to spent much time on this, if it's difficult to do :)
HSP works just fine without supporting multiple servers. I'll just use a workround letting the players have 1 home on every server instead of a total home limit across the servers, and telling them to go to the specific server, they want to use their home on :)
For multi-server setups, I'm not sure what's needed. I've never run a multi-server. Do you expect /home to be able to send a player to another server? I imagine this would require a direct integration with BungeeCord to use some APIs to accomplish this. Any information you can provide on how you'd expect this to work as well as anything you know about if there are other plugins that do this, so I can look as a reference. My quick check of the BungeeCord APIs, I don't see a way to do this, so I really need to know what you're looking for in order to say whether it's possible or not.
Thanks for the links and description. It wasn't obvious, but after some hunting around the various source code, I'm able to see that geSuiteHomes (or more appropriately, the original BungeeSuiteHomes from which it was forked) works by sending Bungee messages between the MC server and the Bungee server. The Bungee server actually contains all of the home management routines and takes care of actually teleporting the player using some messaging I don't fully understand (no comments in source at all, and the messaging jumps around like old spaghetti BASIC GOTO code...) I'm assuming at some point the Bungee server is actually processing one of those messages to do the teleport.
It would be a monumental effort to break up HSP in this same way, especially such that it worked both on Bungee as well as non-Bungee setups. BungeeSuite and the home plugin are basically a client/server interaction in this arrangement.
However, it looks like it might be possible to just use this "TeleportToLocation" message to signal Bungee remotely, although I believe this would require BungeeSuite to be installed to work - I'm not sure if every BungeeCord install also has BungeeSuite? Of course I'd have to do some additional integration work to be able to detect the server the player was on in order to record that as part of the location, but assuming the APIs made that easy, just firing off a TeleportToLocation might be pretty straightforward.
The biggest challenge is that I would be flying blind without a test environment, so I'd actually have to setup Bungee and BungeeSuite and some servers to test this with. Since I have no interest in running Bungee/MC servers myself, my motivation to do this is fairly low.
That said, this is an interesting problem and it appears possible there could be a very low integration effort if things work the way I expect. I'll think on it some more.
When installing Bungeecord, that's all you get - BungeeSuite is not bundled; it is also outdated. The most up-to-date version of such a suite is addstars fork of geSuit (originally by geNAZt), which as you mention is forked from BungeeSuite. So a fork of a fork. :)
Understanding that this whole Bungee thing is new material to you, maybe it isn't the right path for HomeSpawnPlus after all? Have you received other comments than mine regarding support for multiple servers? I wouldn't recommend you looking further into this, if 1) there is no real "market" or demand for such a feature or 2) if you don't have the time for or interest in this. :)
I might be able to set up a test environment if you choose to pursue the idea, though.
Nevertheless, concerning HSP; don't let this one idea of mine distract you from what you would mostly like to spend your time on.
Also, what are your thoughts about suggestion 2 and 3? :)
An update: I have no plans at this time to add any BungeeCord support. Reading through the issue log I recall now the major impediment is me not having a Bungee environment to test with, as well as uncertainty with how complicated vs simple this change might turn out to be.
I'll leave the issue open here, if other users among HSP are also Bungee users and are wanting for this feature, please add your comments here so I can gauge demand. Major feature additions like this require a lot of effort and it would be good to know if it's going to help a significant portion of HSP's user base before I spend a lot of time on it.