Commit Graph

318 Commits

Author SHA1 Message Date
ME1312 7059b5cad7
General Fixes & Module Updates 2019-05-11 17:23:31 -04:00
ME1312 2a939117ac
Fixes for Multi-Channel SubData 2019-05-10 00:04:10 -04:00
ME1312 504dc7bac4
Implement Multi-Channel SubData 2019-05-09 22:43:34 -04:00
ME1312 1952e7b940
Implement several new packet types 2019-05-09 16:17:15 -04:00
ME1312 776183510e
Config Updater & Smart Fallback Update 2019-04-29 11:05:06 -04:00
ME1312 472c83f975
Add proper 1.14 support 2019-04-26 14:03:00 -04:00
ME1312 09c8c4665b
Change potential version numbers 2019-04-19 11:14:57 -04:00
ME1312 3dab84c0eb
Begin rewrite for SubData 2 2019-04-18 10:02:09 -04:00
ME1312 463861744c
Stop Ingame-Access from disallowing console access 2019-04-01 22:13:43 -04:00
ME1312 6131790245
Add an option to space out auto-starting servers 2019-01-29 22:05:59 -05:00
ME1312 024dde444c
Update client auto-linking 2019-01-26 21:04:53 -05:00
ME1312 7158e0a3da
Fix SubData's log stream 2019-01-22 12:48:47 -05:00
ME1312 361acf7b17
Add a dedicated restart packet
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.
2019-01-20 17:49:12 -05:00
ME1312 fcde0bc845
Add Version support to YAMLConfig 2019-01-17 12:44:47 -05:00
ME1312 75a872252f
#35 Add command line variables to SubServers
Also, a fix for #34
2019-01-17 10:39:15 -05:00
ME1312 118ac28e4c
Don't follow symlinks for directory copies 2019-01-14 18:47:43 -05:00
ME1312 622ef32b4e
#32 Update the utility class 2019-01-14 18:28:18 -05:00
ME1312 9b01aebd87
#31 Add environment variables to SubCreator scripts 2019-01-13 19:52:44 -05:00
ME1312 6218b873ca
Expand on the API for restricted servers 2019-01-10 15:52:38 -05:00
ME1312 abaa2f3a0e
Add PID termination in Java 8
Some trickery was applied, but its okay since Java 9 has proper API methods for this stuff anyway
2019-01-09 12:37:02 -05:00
ME1312 0d46c5b604
Add a restart command 2019-01-07 16:09:20 -05:00
ME1312 3635fea2f5
Update SubServers.Console 2019-01-06 15:58:15 -05:00
ME1312 4792e5f8b1
Make `Log-Creator` a per-host option 2019-01-05 16:04:45 -05:00
ME1312 4d1d266807
Attempt to free up ram usage after every ~4000 log lines 2019-01-03 00:48:15 -05:00
ME1312 e9e9f19d22
Update GalaxiEngine 2018-12-17 18:49:32 -05:00
ME1312 52ebd6b903
Reverse EventPriority for user input 2018-11-22 10:36:10 -05:00
ME1312 4ca476c1fa
Correct LinkServer packets & server autodetection 2018-11-19 12:27:06 -05:00
ME1312 32cd201697
Allow null to be passed to YAMLValue 2018-11-17 12:39:37 -05:00
ME1312 114f4f2209
Add support for unicode escapes outside of the char limit 2018-10-30 15:12:53 -04:00
ME1312 f4a78fc7b0
Update SubServers.Console 2018-10-24 01:37:55 -04:00
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 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 a687a2d1cb
Seperate SubServers.Host from the GalaxiEngine (Step 2) 2018-09-08 18:06:21 -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 811cc891a0
Make the Client UI API naming scheme a little less confusing 2018-08-12 17:23:21 -04:00
ME1312 cb7b3964f2
Send off reload packet only when api.ready 2018-08-10 15:58:17 -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 86fbb2c2b6
Update error messages 2018-08-07 17:54:57 -04:00
ME1312 ed1b45fccb
Make UI elements consistant 2018-08-06 22:39:29 -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 a7e9185ce4
Fix slight lang issue 2018-08-05 17:51: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 65b29e666d
Move Bungee Chat API methods to seperate class 2018-08-03 23:22:53 -04:00
ME1312 7f94e2115e
Use old Gson location if needed 2018-08-03 20:43:02 -04:00
ME1312 cc88e6b6ea
Correct version dection for SpongeAPI 8 2018-07-30 12:29:36 -04:00
ME1312 d69840f439
Lock the start method for event usage 2018-07-29 19:01:36 -04:00
ME1312 97c73bf738
Implement a simalar namespaced key system in subdata
This was a change I made to the Lang API a while back, and now it has made it's way into SubData.

Packets are now tied to channels (`n`) and then handles (`h`) within those channels.
2018-07-29 14:39:42 -04:00
ME1312 98ac26750f
Fix changes from the last commit 2018-07-28 23:02:47 -04:00
ME1312 319618fe71
Create a more straightforward way for interacting with unstable methods 2018-07-28 22:09:47 -04:00
ME1312 ae1a9b990d
Finalize v2.13a 2018-07-28 13:01:28 -04:00
ME1312 47a9ae4ced
Fix the update notification 2018-07-27 15:36:51 -04:00
ME1312 3f0cb45aa3
Update vanilla patch locations 2018-07-26 21:29:26 -04:00
ME1312 86135ffe52
Maven-ify the repo (Part 2) 2018-07-26 15:09:27 -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 716875f999
Fix version detection for older BungeeCord builds 2018-07-22 01:35:04 -04:00
ME1312 08a7d6d176
Misc changes 2018-07-19 15:34:58 -04:00
ME1312 6eb82f27bc
Update SubServers.Client Auto-Updater
SubServers.Bungee & SubServers.Host now use the more standardised build signature system when deciding on if it should update SubServers.Client. This means it can also differentiate two snapshot builds of the same version from eachother.
2018-07-17 03:10:17 -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 8f6d3e5527
Quick fixes 2018-07-15 02:07:15 -04:00
ME1312 c1a35ff266
Finalize Pre-Release 4 2018-07-15 01:23:11 -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 959e444aea
Add some escapes for use in SubServers.Host commands 2018-06-25 20:51:14 -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 705660980c
Finalize Pre-Release 3 2018-05-24 16:24:58 -04:00
ME1312 82b5cd6aae
Keep BungeeCord versioning intact when patched 2018-05-24 14:52:47 -04:00
ME1312 c35a31f803
Add direct support for newer waterfall versions 2018-05-24 01:05:54 -04:00
ME1312 5f69459e62
Add more ways to detect minecraft version 2018-05-23 22:27:20 -04:00
ME1312 1ff9a5cf41
Add placeholders/warnings for when minecraft versions cannot be detected 2018-05-23 00:26: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 03505996a7 Correct dependency versions 2018-04-12 20:48:33 -04:00
ME1312 05825bcbce Mark maven source directories 2018-04-10 02:11:52 -04:00
ME1312 046c987a31 Attempt to make contributing a little easier
This commit is to maven-ify this repo into something a little more usable to anyone who isn't me
2018-04-10 01:48:18 -04:00
ME1312 6c29bc4885 Update vanilla patch tool for Java 9 and above 2018-04-09 23:19:59 -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 56f8d3dfba Remove package.xml requirement for SubServers.Host 2018-02-19 17:59:51 -05: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 cc1f86c4d1 Update Dependancies 2018-01-21 21:49:18 -05:00
ME1312 e5ad3f55d2 Allow PacketIn to accept multiple oncoming packet versions 2018-01-13 16:22:13 -05:00
ME1312 b72103c0f0 Make Server API use existing fields from BungeeServerInfo 2018-01-12 16:56:22 -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 562072df3f Lang API Rewrite // Add TabCompletes to Sync 2018-01-02 17:29:25 -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 ada14c0889 Add reload packet for ExHosts and Servers using Client 2017-12-13 19:04:58 -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
ME1312 2e3525a31a Hide menu buttons when their linked menu is unused 2017-12-11 18:27:18 -05:00
ME1312 54c61207a5 Fix bugs with server edit() with a network host 2017-12-11 12:52:35 -05:00
ME1312 617297b5b6 Finalize RedisBungee support 2017-12-10 09:14:49 -05:00
ME1312 91ca559e4a Host & Server objects are now signed (prevents desyncs across apps) 2017-12-09 19:30:06 -05:00
ME1312 0bf5f16e09 /sub reload can now perform soft reloads
/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.
2017-12-09 03:43:29 -05:00
ME1312 556d947981 Add Proper RedisBungee Support 2017-12-08 02:35:50 -05:00
ME1312 5050baedf8 Assume 1.13 Material enum values // Correct Patched Signatures 2017-12-07 17:51:06 -05:00
ME1312 ce895cdecd Prepare UI Elements for 1.13 // Add SubData Whitelist Wildcards 2017-12-07 12:22:36 -05:00
ME1312 a8bbd09e9d Add some force quit padding // Rewrite group system internals 2017-12-06 17:34:47 -05:00
ME1312 a019383bc3 Preserve YAML element order 2017-11-22 16:58:33 -05:00
ME1312 affac1cd56 Default lang.yml update 2017-10-07 12:49:36 -04:00
ME1312 9a219a7d0f Queue packets until subdata connection is authorized 2017-09-23 23:19:22 -04:00
ME1312 f2f01576df SubServers Console v2.12.1a 2017-08-30 20:12:26 -04:00
ME1312 b6ff93a37f Add Javadoc & Source jar files 2017-08-27 22:40:35 -04:00
ME1312 44b838ee34 Indirectly overrides BungeeServerInfo methods 2017-08-26 23:56:15 -04:00
ME1312 ba09bab93a Add Server Grouping 2017-08-26 01:19:59 -04:00
ME1312 bb1a25fc3f SubServers Client v2.12.1d 2017-08-22 17:32:57 -04:00
ME1312 41e77e124c SubServers, Host, Sync & Client v2.12.1d/2.12.1c/2.12.1a/2.12.1c 2017-08-22 09:02:23 -04:00
ME1312 837331a542 SubServers, Host & Client v2.12.1c/2.12.1b/2.12.1b 2017-08-18 05:58:06 -04:00
ME1312 ac1df7a30a SubServers, Host, & Client v2.12.1a 2017-08-15 05:58:48 -04:00
ME1312 65002c767d Add broadcastPacket method to clients 2017-08-07 15:51:11 -04:00
ME1312 c34b097676 SubServers, Host, & Client v2.12c/2.12d/2.12c 2017-07-25 19:23:41 -04:00
ME1312 df9797496a SubServers, Host, & Client v2.12b/2.12c/2.12b 2017-07-23 14:21:05 -04:00
ME1312 09c5a8251a SubServers, Host, Client Beta v2.12b;3/2.12c;3/2.12b;3 2017-07-23 00:32:57 -04:00
ME1312 e058b3f655 SubServers, Host, & Client Beta v2.12b;2/2.12c;2/2.12b;2
Servers can now be incompatable with each other.
2017-07-21 16:45:41 -04:00
ME1312 5bddfbed0b SubServers, Host, & Client Beta v2.12b;1/2.12c;1/2.12b;1 2017-07-18 19:28:59 -04:00
ME1312 56605aa3a2 SubServers, Host, & Client v2.12a 2017-06-30 09:36:16 -04:00
ME1312 9b5a2d59e3 SubServers, Host, & Client v2.11.2m/2.11.2c/2.11.2h 2017-05-30 15:38:51 -04:00
ME1312 4529501023 SubServers & Client v2.11.2m/2.11.2h Beta 1 2017-05-29 01:00:02 -04:00
ME1312 e238add62c SubServers v2.11.2l 2017-05-25 15:55:47 -04:00
ME1312 2b1f355a6c SubServers.Bungee 2.11.2l BETA 2 2017-04-24 13:16:57 -04:00
ME1312 418d1a380e Update Javadoc 2017-04-16 13:02:14 -04:00
ME1312 467bb8adf3 SubServers 2 & SubServers.Host v2.11.2k/2.11.2b 2017-04-13 22:39:51 -04:00
ME1312 21dbe876d4 Fix '/Sub Delete' for internally hosted servers 2017-04-10 12:25:33 -04:00
ME1312 98187137c4 Make SubData Reconnections Async 2017-04-09 23:39:28 -04:00
ME1312 12f75b9de5 Clean up some log messages 2017-04-03 13:52:28 -04:00
ME1312 e22e669b78 SubServers v2.11.2i & SubServers.Host v1.11.2a 2017-04-03 13:08:00 -04:00
ME1312 78cb8f9d39 Add Commands to SubServers.Host 2017-04-01 16:31:57 -04:00
ME1312 7821c1f88e SubServers.Host Alpha 2
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.
2017-04-01 01:37:48 -04:00
ME1312 3dcbd8252e SubServers.Host API Additions 2017-02-05 17:03:17 -05:00
ME1312 8458acb255 Auto-Update SubServers.Client 2017-01-30 22:04:37 -05:00
ME1312 7b3e7ae9e8 Start SubServers.Host & SubAPI Null Checks
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.
2017-01-30 15:22:36 -05:00
ME1312 dcd2ad8aa6 SubServers Release v2.11.2h 2017-01-26 17:19:48 -05:00
ME1312 96743ddecf SubServers Release v2.11.2b 2017-01-21 11:49:37 -05:00
ME1312 5e8293a8f5 Quick Fixes 2017-01-10 22:29:31 -05:00
ME1312 39fa66c828 SubCreator Console Support & Aethstetic Changes
You can now popout SubCreator with SubServers.Console: /popoutc
2017-01-10 22:23:29 -05:00
ME1312 f0f5da7816 SubServers Release v2.11.2e 2017-01-08 14:42:40 -05:00
ME1312 6010edb868 API Additions & Launch Changes 2017-01-07 21:30:03 -05:00
ME1312 bdb11b1ea6 Better Document SubServers.Bungee 2017-01-07 14:06:54 -05:00
ME1312 ae587deaf0 Allow multiple packets to be registered with the name name
It's sorta experimental, but in theory: multiple packets should be able
to write to the same handle and multiple packets should be able to read
from the same handle.
2017-01-06 15:44:34 -05:00
ME1312 ae0ce737f9 SubServers Release v2.11.2c 2017-01-01 14:34:46 -05:00
ME1312 d60d6640b5 SubServers Release v2.11.2b 2016-12-29 02:29:22 -05:00
ME1312 60fc38b5fb SubServers Release v2.11.2a 2016-12-27 19:15:36 -05:00
ME1312 83415cb873 SubServers 2 Beta 5 2016-12-27 11:03:19 -05:00
ME1312 b50452b93a SubServers 2 Beta 4 2016-12-23 23:55:23 -05:00
ME1312 d6c9729304 SubServers 2 Beta 3 2016-12-19 18:31:01 -05:00
ME1312 6fd13e81dc SubServers.Bungee Beta 1
The first beta release of SubServers.Bungee
2016-12-15 16:04:39 -05:00
ME1312 ef11daee68 SubServers.Bungee 2016-12-04 22:21:04 -05:00