SubServers.Bungee now puts code in 2 new places to better load/unload it's data.
When supported, this should give it better compatabilty with ordanary plugins. Also, it no longer has to 'shutdown' to handle /greload. Isn't that neat?
SubServers.Host can now seamlessly reconnect to SubServers.Bungee, even if it's been restarted, without restarting uneffected servers.
Also, you can now shutdown SubServers.Bungee without turning off remote servers. Isn't that neat?
Since it was virually no different from one, this has been replaced by a String.
Additionally, the interpreter for start scripts can now be changed from cmd.exe to git bash on windows systems by using the `bash` or `sh` commands.
Stop Actions will is the replacement for both the Auto Restart and Temporary flags. To define that the server should restart on stop, use the RESTART keyword. To get the same result that you would get using the temporary flag, use the REMOVE_SERVER keyword.
Additionally, there is now a DELETE_SERVER keyword. This keyword does the same thing as the REMOVE_SERVER keyword, except it deletes the directory on the server ran from.
If you would like nothing special to happen when the server stops, use the NONE keyword.
Simple requests like those used to list hosts or servers shouldn't require messing around trying to keep up with the SubData Direct protocol. It should be easy, right?
Now, SubAPI includes methods simalar to those seen in SubServers.Bungee for accessing data for Hosts, Servers, SubServers, Proxies, & Players easily. Requests the SubData Packet API is already capable of making will be included as methods in these variables.
This commit removes the org.JSON library where alternatives are already provided (Bungee & Bukkit provide Gson). This change was made to improve compatability with BungeeCord plugins and reduce file sizes.
This means big changes to the SubData API, which heavily relied on org.JSON. Now we submit our data through YAMLSection to be converted and sent over the network.
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).
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.