Commit Graph

193 Commits

Author SHA1 Message Date
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
d2c7512257
Update ExternalSubServer.java 2020-02-16 20:43:52 -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
611b59f2c8
Fix the reconnect timer 2019-10-19 16:38:44 -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
30dd28547f
Add a post-start event 2019-06-25 17:13:27 -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
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
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
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
472c83f975
Add proper 1.14 support 2019-04-26 14:03:00 -04:00
ME1312
3dab84c0eb
Begin rewrite for SubData 2 2019-04-18 10:02:09 -04: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
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
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
3635fea2f5
Update SubServers.Console 2019-01-06 15:58:15 -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
a12ff22645
Correct value replacement for server.properties 2018-11-21 17:33:52 -05:00
ME1312
e254d37a30
Interrupt other stream when one closes 2018-11-02 19:48:46 -04:00
ME1312
207eca411e
Use the Sponge DownloadAPI instead of Maven for version searching 2018-10-22 19:25:42 -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
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
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
9f88bb5099
Remove temporary servers from the config when finished 2018-08-20 17:50:27 -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
d4f4a1cf01
Correct changes from last commit 2018-07-29 19:05:50 -04:00
ME1312
d69840f439
Lock the start method for event usage 2018-07-29 19:01:36 -04:00
ME1312
319618fe71
Create a more straightforward way for interacting with unstable methods 2018-07-28 22:09:47 -04:00
ME1312
47a9ae4ced
Fix the update notification 2018-07-27 15:36:51 -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
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
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
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
c35a31f803
Add direct support for newer waterfall versions 2018-05-24 01:05: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
dae819ae19 Have the code reflect the patch tool updates 2018-04-09 23:29:06 -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
56070001a6 Minor changes 2018-03-21 16:45:59 -04:00
ME1312
bb7cfa9e57 Fix /sub delete permission error on windows 2018-03-14 03:01:44 -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
754b418e7d Register SubServers.Sync Proxies to name for API access 2018-01-22 10:01:33 -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
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
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
580fe41ad9 Allow hosts to be added with invalid/unregistered drivers 2017-12-17 16:04:05 -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
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
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
e3ddd4c93b Revert & Indirectly refrence Server methods
Revert last commit in favor of a different way to solve that issue
2017-08-27 14:37:25 -04:00
ME1312
44b838ee34 Indirectly overrides BungeeServerInfo methods 2017-08-26 23:56:15 -04:00