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.
This is a change to the rules that govern what happens when the same UUID connects to the same network more than once. It is now more BungeeCord like in nature.
RedisBungee has been abandoned by it's developers. So we're abanding it too.
SubServers.Sync will now finally pick up the slack and sync basic player information between proxies over their SubData connection.
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.
The fallback server chosen when a server goes down is now chosen based on SubServers' confidence that the server can recieve the player in question.
If there is a tie, the first server to achieve a high score is chosen. Servers meeting these requirements will get the highest score currently possible:
-> Fallback servers should not be white-listed (`Restricted: false`)
-> Fallback servers should be visible (`Hidden: false`)
-> Fallback subservers should be running
-> SubServers trusts that fallback servers connected to SubData are online
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 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.