This update removes string unescaping from ObjectMap.
This will surely fix a ton of yet unfound bugs that exist from us simply picking the wrong method.
Local templates are now stored in `/Templates`
Template cache files are still stored in `/Cache/Templates`
Remote templates are now stored in `/Cache/Remote/Templates`
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?
I don't reccommend using this packet over the start & stop combination because of the lack of feedback you get in comparision.
However, if the server sending the packet is requesting to restart itself then this is your only option, so that's why it's here.
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.
This is a change to how packets are transferred; the API has not been changed.
While the difference may be unnoticable when using unencrypted packets, because of MessagePack's compact size and better handling of byte values encrypted packets should transfer faster.
The Download group of packets was in desperate need for a restructuring.
Now, instead of using `DownloadServerList` to list everything, different object types now are downloaded through their own seperate packets. (Improving network efficiency)
- Proxies connected to Redis are downloaded on startup/reload
- Named proxies are no longer removed on disconnect
- Proxies now show up in `/sub list`
- Proxies now have Add/Remove events in the API
- Proxies are included in the response of the `DownloadServerList` packet
This version of SubServers.Client has the same features as the Bukkit version, minus the chest interface.
This feature may be added in the future once the documentation surrounding chest interfaces becomes more thorough.
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.
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.