SubServers.Bungee can now link servers to subdata clients via connection address and port number.
Since this still has the chance to fail, the `Name` field will appear if no servers were found this way, and will be used the same as before. SubCreator made servers will still have the `Name` value present and filled out for assurance.
This commit changes the way SubServers.Host launches itself and loads it's plugins. Overall loading plugins this way is more efficient, faster, and can cause less problems than before.
Plugins will still use the package.xml & @SubPlugin annotation system to be loaded.
Also, there are some changes to the logger that better support async logging.
This is how SubServers will implement the Validator API that I suggested. I had to make some assumptions though (like how I don't expect BungeeCord's api to have a setTabValidator() method).
/sub reload - can now perform soft reloads
/greload - still performs hard resets
Soft Reloads mean that SubServers will load new data from the config and attempt to merge it with what is already in memory.
This is good if you need to make some quick changes, since it will only stop servers if a major change has been made to them.
However, this has the potential to cause issues, which is why the Hard Reset will continue to be tied to bungeecord command.
EventPriority is a fixed enum, where EventOrder is a short value (with predefined settings for ease of use) allowing for more fine tuning on when your events should be run
This update to SubServers.Host adds the core functions to the program.
It can now be used to host and create servers on other machines. API
while available is quite limited right now. This is also a very early
build, so it's probably not so stable just yet fyi.
This marks the beginning of SubServers.Host. As of now it is just a
simple plugin loading API, but it is planned to become a way to host
servers on other machines.
Also, SubAPI now checks to make sure variables aren't null in many
places.