Commit Graph

311 Commits

Author SHA1 Message Date
ME1312 928c40addc
Use proper grammar for single items
Not possible for SubServers.Client since it uses global lang, but the mistake was less egregious in that case anyway.
2020-06-26 02:52:34 -04:00
ME1312 0812ff3ade
Properly set a default value for the `Replacements` option 2020-06-20 03:45:45 -04:00
ME1312 0e8bae4187
Re-Add local templates to SubServers.Host
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`
2020-06-19 21:00:50 -04:00
ME1312 3fc249cf07
Add RegEx to File Selection 2020-06-13 23:23:06 -04:00
ME1312 9d01f46c16
SubCreator File Replacements
SubCreator has several new build options for updating and making replacements in files
2020-06-13 17:53:18 -04:00
ME1312 bb0dd55c95
#50 #46 Selecting Multiple Servers
This commit includes the following major changes and additions:
-> New Command & Permission Formatting
-> RemotePlayer API
-> SubData with Blocks
2020-06-12 01:45:49 -04:00
ME1312 caf8ee793d
Update GalaxiEngine 2020-02-17 19:07:26 -05:00
ME1312 65a5b7d0c9
Send actual data packet on ExCreator reload 2020-02-16 22:25:15 -05:00
ME1312 4ba0489d9d
Bypass new Oracle argument restrictions 2020-02-16 15:01:17 -05:00
ME1312 bb975413a5
Update SubData 2020-02-12 11:10:22 -05:00
ME1312 11f92f2559
Correct getServerInfo() on Waterfall 2020-01-25 13:30:16 -05:00
ME1312 d39d875e2b
Correct default lang.yml formatting 2019-12-18 21:52:15 -05:00
ME1312 eb8261531d
Update dependencies 2019-12-18 15:07:51 -05:00
ME1312 6e116763c1
Use the same java version for child processes 2019-12-18 14:15:02 -05:00
ME1312 51d3c31220
Add SubCreatedEvent 2019-12-18 02:49:40 -05:00
ME1312 73c402fc53
Add a default Paper template 2019-12-18 00:08:59 -05:00
ME1312 35c80bba80
Use the new .net URL structure 2019-12-11 21:01:28 -05:00
ME1312 611b59f2c8
Fix the reconnect timer 2019-10-19 16:38:44 -04:00
ME1312 bfcb076cfd
Update SubData 2019-10-18 18:24:58 -04:00
ME1312 b7639ae3dc
Add a placeholder for selecting the current server in commands 2019-10-18 13:23:02 -04:00
ME1312 a5c5a532a0
Don't attempt reconnect while shutting down 2019-09-26 12:41:04 -04:00
ME1312 27806b91f9
Update SubData 2019-09-24 15:56:22 -04:00
ME1312 17b63c1e6e
Allow client apps to startup without a SubData connection active
They won't be all that useful like that, but... ¯\_(ツ)_/¯
2019-08-31 13:26:37 -04:00
ME1312 bccbfb39c9
Add a grace period on rogue SubServer detection
Async subdata shenanigans made rogue SubServer detection a little inacurrate. Specifically in regards to the last commit.

This is the fix to that
2019-08-30 15:44:54 -04:00
ME1312 81d37b8b1e
Reduce dependance on SubServers.Bungee
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?
2019-08-29 20:01:52 -04:00
ME1312 3ff2459258
Allow custom formatting of server directories in SubCreator 2019-07-29 20:20:38 -04:00
ME1312 c6d611836c
Add display scaling to SubServers.Console 2019-07-02 00:11:10 -04:00
ME1312 30dd28547f
Add a post-start event 2019-06-25 17:13:27 -04:00
ME1312 ecdc25b520
Update SubData 2019-06-23 23:06:28 -04:00
ME1312 9dedc3b90d
Update GalaxiEngine 2019-06-21 15:41:01 -04:00
ME1312 3af2087f19
Add a post-connect subdata event 2019-06-17 20:20:46 -04:00
ME1312 be8f87d17c
Add the Update command
And several related UI changes to SubServers.Client
2019-06-16 23:13:48 -04:00
ME1312 96a0624b28
#45 Fix problematic exception handling 2019-05-31 15:20:17 -04:00
ME1312 071e0bceab
Update SubData 2019-05-27 15:33:52 -04:00
ME1312 49036b8943
Add support for console sudo in GalaxiBungee 2019-05-23 14:37:18 -04:00
ME1312 b808a62fcb
Add support for GalaxiBungee 2019-05-16 18:36:41 -04:00
ME1312 185b6b84bb
Mirror changes in SubServers.Sync 2019-05-13 22:02:38 -04:00
ME1312 61ee89cfe3
Mirror changes in SubServers.Host 2019-05-12 23:28:27 -04:00
ME1312 4923b7111f
#41 Add `host` to the environment 2019-05-02 12:11:48 -04:00
ME1312 776183510e
Config Updater & Smart Fallback Update 2019-04-29 11:05:06 -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 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 36c33b3bc0
Move logging options to seperate static variables 2019-01-17 13:12:32 -05:00
ME1312 fcde0bc845
Add Version support to YAMLConfig 2019-01-17 12:44:47 -05:00
ME1312 8b77434ccf
#35 Add `address` variable to creator/server executable 2019-01-17 11:02:56 -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 df159f72fe
Allow different interpreters for SubCreator build scripts 2019-01-14 11:02:17 -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 16480af130
Include dependency version in file name 2019-01-09 17:00:17 -05:00
ME1312 651c61312e
Make JNA dependency optional 2019-01-09 16:41:37 -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 06898964ce
Rewrite the SubServers.Console commands 2019-01-06 20:32:53 -05:00
ME1312 94a95de495
Name SubServers threads
This change does not apply to SubServers.Client because those apps use the platform's native scheduler instead of threads
2019-01-06 01:58:13 -05:00
ME1312 4792e5f8b1
Make `Log-Creator` a per-host option 2019-01-05 16:04:45 -05:00
ME1312 eb70ebaeea
Revise logging GC strategy 2019-01-04 23:35:20 -05:00
ME1312 9cb499c4ec
Properly terminate child processes on windows
This applies to both SubCreator and SubServers. Only works on Java 9+ because Java 8 lacks a way to get the PIDs.
2019-01-04 18:32:01 -05:00
ME1312 1845e9d8f9
Remove the archaic Executable type
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.
2019-01-04 16:51:58 -05:00
ME1312 eafacf75c3
#29 Wrap caching directory in proper quotes 2019-01-04 00:35:56 -05:00
ME1312 4d1d266807
Attempt to free up ram usage after every ~4000 log lines 2019-01-03 00:48:15 -05:00
ME1312 c05f5131b5
Remove logger history 2019-01-02 13:46:10 -05:00
ME1312 e9e9f19d22
Update GalaxiEngine 2018-12-17 18:49:32 -05:00
ME1312 82dcc68023
Fix an IllegalStateException related to restricted servers 2018-12-02 12:58:56 -05:00
ME1312 4e58e01ec4
Correct BungeeCord repo imports 2018-11-29 19:42:12 -05:00
ME1312 dc63284781
Update GalaxiEngine 2018-11-22 17:55:23 -05:00
ME1312 a12ff22645
Correct value replacement for server.properties 2018-11-21 17:33:52 -05:00
ME1312 32cd201697
Allow null to be passed to YAMLValue 2018-11-17 12:39:37 -05:00
ME1312 e254d37a30
Interrupt other stream when one closes 2018-11-02 19:48:46 -04:00
ME1312 114f4f2209
Add support for unicode escapes outside of the char limit 2018-10-30 15:12:53 -04:00
ME1312 b2bbff0692
Add autocompletes to Galaxi commands
Commands here use cached data, in a simalar fasion to SubServers.Sync.
2018-10-25 16:47:44 -04:00
ME1312 f4a78fc7b0
Update SubServers.Console 2018-10-24 01:37:55 -04:00
ME1312 6925a7bccb
Fix version inconsistency 2018-10-22 20:06:39 -04:00
ME1312 2936747df6
Update GalaxiEngine 2018-10-22 19:36:18 -04:00
ME1312 207eca411e
Use the Sponge DownloadAPI instead of Maven for version searching 2018-10-22 19:25:42 -04:00
ME1312 d3ea124351
Fix tab completes for commands using the /sub alias 2018-10-21 00:46:14 -04:00
ME1312 648adeb1c2
Update GalaxiEngine 2018-10-21 00:18:40 -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 e5ba821754
Re-Add fallback functionality 2018-10-03 19:18:16 -04:00
ME1312 a2e481efe7
Patch in GalaxiEngine by default
This is to remove the confusion of what versions are compatable with eachother (it's not quite as easy as it is with BungeeCord)
2018-09-14 21:05:39 -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 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 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 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 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 409f1e0cde
Remove redundant call to invoker 2018-07-26 16:14:32 -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 9515652b82
Add a way to get a SubServers.Host API plugin's ClassLoader 2018-04-14 23:38:54 -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 ebe9474a70
Add the illusive ConsoleStream.java 2018-04-10 02:21:07 -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 dae819ae19 Have the code reflect the patch tool updates 2018-04-09 23:29:06 -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