Commit Graph

403 Commits

Author SHA1 Message Date
ME1312 b0340b498e
SubData API updates & usage optimizations 2021-01-29 19:06:23 -05:00
ME1312 6d32f1b6a0
Update SubData
Can you believe it?
2021-01-29 17:57:47 -05:00
ME1312 bfff48a9ec
Update SubData 2021-01-28 05:16:14 -05:00
ME1312 4debf94fd6
Update SubData 2021-01-28 01:36:08 -05:00
ME1312 2c29182ca5
Update GalaxiEngine 2021-01-22 23:56:43 -05:00
ME1312 9af8dd02ce
Update SubData 2021-01-21 14:28:23 -05:00
ME1312 ea9eec9aa8
Don't store temporary servers in servers.yml 2021-01-16 18:10:51 -05:00
ME1312 08b56fc823
Don't rewrite files with no placeholders 2020-12-20 22:30:33 -05:00
ME1312 fe4f19e713
Rewrite SmartFallback's Fallback process 2020-12-04 23:30:36 -05:00
ME1312 2841bdf061
Update SubData 2020-11-23 00:52:36 -05:00
ME1312 bcd7f4f3c3
Update SubData 2020-11-23 00:25:00 -05:00
ME1312 4ea69298a3
Optimize imports 2020-11-16 15:34:59 -05:00
ME1312 4cfe1b4285
Standardize RemotePlayer
This is the RemotePlayer API, not the GlobalPlayer API.
2020-11-14 13:12:08 -05:00
ME1312 8d21771857
Update GalaxiEngine 2020-11-14 02:07:25 -05:00
ME1312 c0197759f4
ClientCommon API 2020-11-14 00:29:29 -05:00
ME1312 34b406e3ae
BungeeCommon API 2020-11-13 22:41:56 -05:00
ME1312 96a3cf797e
Update SubData 2020-11-11 16:07:22 -05:00
ME1312 c62363bdef
Make the compatibility plugin loadable
Some BungeeCord API calls require an actual plugin object. This is a problem.

Fortunately, the 2020 builds of BungeeCord provide a protected constructor that is actually usable by SubServers, so we implemented it.
2020-11-11 02:35:02 -05:00
ME1312 489b25f48d
Update SubData 2020-11-07 11:35:25 -05:00
ME1312 0136419960
Override fallback servers when using `Reconnect` 2020-08-29 06:57:38 -04:00
ME1312 29dbd107c0
More debug options 2020-08-24 12:11:16 -04:00
ME1312 fa82e0ab96
More debug messages 2020-08-24 12:04:21 -04:00
ME1312 6e60138a79
Add an error checking thread for player sync 2020-08-22 20:01:58 -04:00
ME1312 e9c0075144
Misc fixes regarding the last few commits 2020-08-21 18:33:09 -04:00
ME1312 fa77eeeab0
Allow a subserver's template to be changed 2020-08-19 21:15:55 -04:00
ME1312 443e3c2d44
Favor new connections over the old ones
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.
2020-08-19 15:24:05 -04:00
ME1312 d43aae8486
Allow command overrides to be disabled seperately
This also leaves room for disabling overrides in other features in the future.
2020-08-18 20:03:59 -04:00
ME1312 b68fa0fec1
Remove some implementation redundancies 2020-08-16 14:30:36 -04:00
ME1312 26490dc140
Use single-threaded I/O for StopAction 2020-08-13 18:26:22 -04:00
ME1312 b18f047d53
Disallow the same UUID to make multiple connections to a multi-proxy network 2020-08-12 20:18:55 -04:00
ME1312 83041a1f3f
Allow SubProtocol to be extended 2020-08-11 20:28:34 -04:00
ME1312 efc12e0649
Fix possible player data desyncs 2020-07-25 05:43:42 -04:00
ME1312 891913dbe3
Ditch RedisBungee. Long live the RemotePlayer API
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.
2020-07-25 01:20:59 -04:00
ME1312 f2f196dc79
Update GalaxiEngine 2020-07-24 14:25:40 -04:00
ME1312 2975ab05f4
Update GalaxiEngine 2020-07-06 17:19:02 -04:00
ME1312 1564eaaaf9
Add PAPI placeholders with SubServers.Client 2020-07-04 22:39:59 -04:00
ME1312 db8aff55f6
Allow plugins to modify the result of ping_passthrough 2020-07-03 20:23:27 -04:00
ME1312 ec2d75d0f6
Modify pings for DNS-Forward servers 2020-07-03 19:05:02 -04:00
ME1312 d76d0347e5
Add more features to Smart Fallback 2020-07-03 17:14:59 -04:00
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 312d010585
Some more compatibility changes 2020-06-25 19:47:30 -04:00
ME1312 d8ea0cee66
Rework the SmartFallback API
There were a couple things in Smart Fallback that seemed short-sighted when it came to use by external plugins. Now you can:
-> Make decisions using player data (when available)
-> Assign partial points to a confidence score
2020-06-21 17:42:10 -04:00
ME1312 89856a19b8
Don't update templates that are lacking a `Version` property 2020-06-20 23:46:16 -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 d2c7512257
Update ExternalSubServer.java 2020-02-16 20:43:52 -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 7a4d28b113
Update BungeeCord
The official BungeeCord fork hit us with a surprise incompatibility recently. Yikes.
2020-01-18 00:13:10 -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 03ece299d3
Fix unnecessary .edit() of display names during reload 2019-06-17 19:30:30 -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 08e3e202e3
Fix bug in first-time RSA setup 2019-05-25 18:53:23 -04:00
ME1312 49036b8943
Add support for console sudo in GalaxiBungee 2019-05-23 14:37:18 -04:00
ME1312 8514ea5c26
Use .setCancelServers() for fallbacks
This method (as far as I know) is exclusive to GalaxiBungee. The old method is still available as a fallback.
2019-05-23 13:03:14 -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 7f23668623
Clean the Recently Deleted directory periodically 2019-04-25 23:24:10 -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 935a59bb34
Ignore servers not running in the confidence score 2019-03-23 19:51:40 -04:00
ME1312 afa34f4993
Add warnings for connecting to known offline servers #39 2019-02-27 14:05:05 -05:00
ME1312 d81e93b583
Only launch the auto-starter thread when needed 2019-01-29 22:32:28 -05:00
ME1312 2bf26a1b74
Give the new option a more fitting name 2019-01-29 22:23:21 -05: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 975a12f3b6
#36 Init SubServers.Console before SubAPI 2019-01-23 12:27:34 -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 cd5bdbaa35
Add tab completes for console-only commands 2019-01-17 14:20:13 -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 b88facf7f3
#33 Use non-player check instead of console-only one 2019-01-15 14:53:44 -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 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 069ecc1948
Fix template compilation 2018-12-21 16:44:40 -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 a12ff22645
Correct value replacement for server.properties 2018-11-21 17:33:52 -05:00
ME1312 d877e80b9f
Correct default access rules for restricted servers 2018-11-21 16:52:03 -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 207eca411e
Use the Sponge DownloadAPI instead of Maven for version searching 2018-10-22 19:25:42 -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 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 82849ef3c7
Add compatability for another revision of the WaterfallConsole 2018-09-16 15:43:27 -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