Commit Graph

88 Commits

Author SHA1 Message Date
ME1312
207eca411e
Use the Sponge DownloadAPI instead of Maven for version searching 2018-10-22 19:25:42 -04:00
ME1312
3b9b4ac566
Fix for saving unicode characters in YAML 2018-10-18 15:38:00 -04:00
ME1312
a9f5c387cc
Fix consistency issues in /sub version
The version command looks a little different in SubServers.Host. Let's fix that.
2018-10-17 23:17:23 -04:00
ME1312
52c6da2517
Choose fallback based on confidence score
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
2018-10-14 03:26:23 -04:00
ME1312
ba2a69a568
Make the port argument optional
Not sure what port to use? Now SubServers can decide on a port number on it's own.
2018-10-08 17:07:44 -04:00
ME1312
3911b6e867
Add UPnP Forwarding Option 2018-10-07 19:25:08 -04:00
ME1312
e5ba821754
Re-Add fallback functionality 2018-10-03 19:18:16 -04:00
ME1312
261a08d014
Extract source for default templates & Fix wget 2018-10-01 17:44:37 -04:00
ME1312
bc5acab41d
Replace Auto-Restart and Temporary Flags with Stop Actions
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.
2018-08-29 21:55:59 -04:00
ME1312
a781370fbb
Allow raw binary to be sent over SubData
This allows files to be transfered faster over the new system.
2018-08-23 23:35:22 -04:00
ME1312
7cd9c9bc4c
Switch SubData Packets from JSON to MessagePack encoding
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.
2018-08-23 22:32:49 -04:00
ME1312
215097976c
Rewrite the info command
The info command can now display information about proxies, hosts and servers (not just SubServers)
2018-08-10 00:50:10 -04:00
ME1312
545565512b
Restructure the Download packet group
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)
2018-08-09 14:54:56 -04:00
ME1312
38eec66a4b
Further define proxy status colors
The proxies section of the list command now functions like the rest. You can hover over proxies in-game to get more status information on them.

The colors shown are as follows:
Green (Optimal): Proxy is connected to both Redis and SubData
Blue (Available): Proxy is connected to SubData only
White (External): Proxy is connected to Redis only
Red (Disabled): Proxy is offline
2018-08-05 22:07:18 -04:00
ME1312
4aa943953f
Flesh out the Proxy API
- 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
2018-08-05 17:41:17 -04:00
ME1312
319618fe71
Create a more straightforward way for interacting with unstable methods 2018-07-28 22:09:47 -04:00
ME1312
3f0cb45aa3
Update vanilla patch locations 2018-07-26 21:29:26 -04:00
ME1312
55f97338f8
Seperate Sponge from Forge
The sponge template now builds SpongeVanilla, and a new template called `Forge` will continue to build SpongeForge
2018-07-26 13:34:31 -04:00
ME1312
4813be645d
Add a Sponge version of SubServers.Client
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.
2018-07-22 23:44:20 -04:00
ME1312
08a7d6d176
Misc changes 2018-07-19 15:34:58 -04:00
ME1312
0ade35f544
Allow old Material names using bukkit:name
Spigot 1.13 has a compatabilty layer for old bukkit names, this will allow you to take advantage of that.

1.12: `bukkit:grass` -> `minecraft:grass`
1.13: `bukkit:grass` -> `minecraft:grass_block`
1.13: `grass` -> `minecraft:grass`
2018-07-15 14:07:22 -04:00
ME1312
35c2e43192
Quick fix to add SubData Connection ID to the new API 2018-07-05 23:01:38 -04:00
ME1312
27b1d6b51a
Extend SubAPI to wrap the SubData packet centered APIs
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.
2018-06-30 23:46:58 -04:00
ME1312
fab347f4b1
Minor changes to SubCreator's Scripts
These are optional changes to SubCreator's Scripts that are intended to improve compatability. To get these changes, remove your Templates folder for it to be regenerated upon startup.
2018-06-25 17:02:31 -04:00
ME1312
465fb34bf1
Use the new VanillaCord Launcher
The Buildtools style launcher will make it so I don't have to update SubServers every time Mojang releases something that breaks the patcher.
2018-06-20 04:38:00 -04:00
ME1312
15713d58b4
Use the VanillaCord repo for vanilla builds 2018-06-19 21:24:16 -04:00
ME1312
2cabdf85ab
Print the fuller version list for debugging in /sub version 2018-06-09 12:19:25 -04:00
ME1312
9f2618778f
Sign all builds with a Snapshot ID
All builds of commonly updated SubServers apps are now auto-signed with a unique Snapshot ID simalar to the ones Mojang uses. This will replace the beta version number for unreleased builds.
2018-06-02 15:02:03 -04:00
ME1312
75b9b688cc Rewrite SubData API for JSON dependancy changes
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.
2018-04-14 21:53:51 -04:00
ME1312
dae819ae19 Have the code reflect the patch tool updates 2018-04-09 23:29:06 -04:00
ME1312
ce84fd2216 Finalize Pre-Release 2 2018-04-07 20:38:57 -04:00
ME1312
69bb3d299a Fix cache bug when spaces are in the file path 2018-04-07 16:42:09 -04:00
ME1312
f4011f419c SubCreator now caches finished jars 2018-04-07 15:04:55 -04:00
ME1312
a5847b9219 Use updated patch locations
The last three commits were changes to the way Vanilla-Patch.jar is downloaded. For compatability reasons, the old system will remain in place for now.
2018-04-07 00:59:22 -04:00
ME1312
573184ff91 Add bungee.yml for installation instruction 2018-04-06 20:10:25 -04:00
ME1312
265ac4b253 Host/Client now send Metrics data
https://bstats.org/plugin/bungeecord/SubServers%202
https://bstats.org/plugin/other/SubServers%20Host
https://bstats.org/plugin/bungeecord/SubServers%20Sync
https://bstats.org/plugin/bukkit/SubServers%20Client
2018-03-27 00:31:38 -04:00
ME1312
56070001a6 Minor changes 2018-03-21 16:45:59 -04:00
ME1312
ce51a991a0 Add more VersionTypes 2018-03-16 18:25:02 -04:00
ME1312
eb9bf034b4 Add a way to parse (non-extended) layered versions 2018-03-15 22:45:54 -04:00
ME1312
12a74b3474 Rewrite what compares layered versions 2018-03-14 17:50:15 -04:00
ME1312
bb7cfa9e57 Fix /sub delete permission error on windows 2018-03-14 03:01:44 -04:00
ME1312
bddbb692cd Make the version system layered
The versioning system just got more complex (on the backend of course)
2018-03-13 23:38:26 -04:00
ME1312
92c649eabe Make Name field optional for SubServers.Client
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.
2018-01-29 01:04:36 -05:00
ME1312
eb18c01b22 Rewrite Launch & PluginLoader for SubServers.Host
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.
2018-01-21 15:45:27 -05:00
ME1312
7a5eac83fd Update Libraries 2018-01-05 17:30:01 -05:00
ME1312
00d56c1167 Add the SubData Cipher API
This adds a simplistic API for the encryption/decryption of incoming/outgoing packets, replacing the old Encryption enum.
2018-01-05 15:37:23 -05:00
ME1312
b3a40311a1 Simplify YAMLSection methods 2017-12-21 18:37:39 -05:00
ME1312
6bb7b1ef17 Allow YAMLSection to be converted to Map<String, ?> 2017-12-21 11:02:47 -05:00
ME1312
c9afe48674 Correct config loading issue
This solves a 'file in use' error on windows
2017-12-14 19:50:39 -05:00
ME1312
36ee42a1ab Implement the proposed TabValidator API
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).
2017-12-13 12:29:50 -05:00