SubServers 2 icon

SubServers 2 -----

The Server Management Platform




Hehe these release notes are kinda like that one meme, am i right? Yeahhea, up top! ...wait where are you going? This release is not network compatible with the previous one! So, you have to update all your SubServers apps to...

RemotePlayer, Extended
This update builds on the last one by allowing you to perform some basic actions on RemotePlayers through the API. You can now send messages to, transfer, and kick remote players from anywhere — no matter which proxy or server they are connected to. You can also preform these actions in bulk to save on network resources.

A New Template Is Approaching!
The new software this time is known as Purpur. Purpur is a steadily growing fork of Tunity, which was recently merged into Paper, which is a fork of Spigot, which itself is a fork of Bukkit, which you could argue is a fork of Vanilla. As you can see, we're getting pretty disconnected from the original software, so, my short explaination here probably isn't going to do it any justice. Go read up on those forks if you're interested. The important part is that it's coming to SubCreator.

As always with new templates, for existing users to get their hands on it they'll have to either: download it themselves or temporarily rename the Templates folder so SubServers can generate it for them.

And An Old Template Is Retiring...
It is with a heavy heart that we are forced to say goodbye to Paper's v1 download API... and the default template that was built upon it. For those who don't know, this deprecated API of theirs has stopped working recently — and what was to replace it?

Nothing. Literally nothing.

Apparently, the developers over at PaperMC don't want you to update to the latest builds of their software, as v2 of the download API was designed to specifically discourage this behavior ( mirror). Despite how ridiculous that stance is, v2 has remained this way for its entire existence.

So, unless they suddenly have a change of heart, support for the default template Paper is being formally discontinued. Users of this template who follow new Minecraft releases are encouraged to migrate over to the new Purpur template given that it exists downstream from Paper; and so has the same added features. Users of this template who are sticking to an older server version can make use of the custom template system to continue using their favorite Paper version.

In Other News
• External servers can now be added dynamically
/sub cmd can now send commands to external servers
• You can now enable /sub delete on specific servers
• Nesting /sub commands is now impossible in-game (for security reasons)
• Templates can now be marked for internal use only (for use with Import only)
• Template build scripts can now reference a template's source files
• Restrictions on cyclic template import detection have been loosened
• Fixed the default Forge template
• Templates will now only be downloaded if a local version isn't available
• Improved efficiency for network logging (NETWORK driver)
• Improved logging for multi-template server creation (VIRTUAL driver)
• Servers can now be fully initialized before they are registered
• Our Maven repo now properly links to our dependencies instead of just hosting fat jars
----------, Dec 31, 2021

If I had a nickel for every time I named a release after its previous version, I'd have two nickels. Which isn't a lot, but it's weird that it happened twice.

Anyway, as usual for major versions, this release is not network compatible with the previous one, so make sure to update all your SubServers Apps when you decide to update.

RemotePlayer, Revisited
Since it's safe to say that paying for a plugin that's no longer being developed is probably a bad idea, here is our solution. You may remember that, all the way at the bottom of our previous release notes, we released something called the RemotePlayer API for developers. From now on, SubServers apps will be relying solely on that — with a few additions of course.

SubServers.Sync will now sync player connection data network-wide, in addition to the existing dynamic server library, effectively replacing RedisBungee. You can still use RedisBungee if you have plugins with a need for it, though.

Server Termination, Revisited
Don't you just hate it when you use /end but suddenly realize one of your servers isn't responding? You try your best but BungeeCord just won't let you send the command. Not anymore. You can now send commands while SubServers is shutting down.

Additionally, Linux users can now use /sub terminate to terminate a session directly instead of letting the JVM potentially screw up the operation. Pretty neat, huh?

Some other things happened
• You can now use /greload without restarting your whole network
/sub update can now be used to change the template of subservers
• The permissions required for /sub teleport have changed to make it more accessible
• Temporary servers are no longer stored in servers.yml
• Smart Fallback now has more customization options
• Some recent UI bugs in SubServers.Client have been fixed
• SubServers.Client now provides PlaceholderAPI placeholders
• SubServers.Client now uses TitleAPI instead of TitleManager on older servers
• SubData can now hit higher speeds than ever before
• VanillaCord had a big update of its own

For Developers
• SubServers can now fully load itself before onEnable() is called for plugins
• Plugins that register drivers should now do so onLoad()
• Two new common APIs have been introduced
• Objects are now fully initialized before sending events such as SubAddServerEvent
SubEditServerEvent no longer fires for changes made through the API
• GalaxiEngine has had some structural changes
----------, Jun 12, 2021

An Anniversary Edition!

This release roughly marks 5 years of SubServers. Did you know?
-> The very first version of SubServers (Classic) was 1.8.3a in the middle of 2015.
-> The first version of SubServers 2, the rewrite, was 2.11.2a at the start of 2017.
-> The rest of the family of apps as they are now were released not too soon after; later that year.

Like usual with these major versions, this release is not network compatible with the previous one, so make sure to update all your SubServers Apps when you decide to update.

The Power Management Update
Exactly two years ago, SubServers 2.12.1e introduced the concept of grouping servers together. Since then, it could be used to do... well, nothing. But that changes now.

Introducing the redesigned command and permission format. You can now select multiple servers using a comma separated list, a group they belong to, or a host that provides for them in a single node/command. For detailed information on the new format, visit this shiny new wiki page.

SubCreator File Replacement
As plugins tackle more complex issues, they require more metadata in their configs. SubCreator can now provide that metadata to them by making replacements of specific variables in specific files. Although it won't do so by default. To see how to take advantage of this new functionality, see the updated SubCreator wiki page.

Additionally, SubCreator can now replace old/modified server files with newer/fresh template files when updating a server. Again, though, it won't do so by default.

On BungeeCord Fork Compatibility
In the update notes for the SubServers 2.15a revisions, you may remember that BungeeCord has recently changed some of their internal methods regarding server object creation — and that was a big problem for us.

Since then, we have actually found a fix for this problem. So, you don't have to keep track of all those messy version numbers anymore to use SubServers.

But wait, there's more
• The server-side teleport command /sub teleport has finally arrived (from SubServers Classic!)
/sub delete is now available on the other console-based apps
• SubServers.Host can now load local templates from ./Templates
• Removing a default template's Version property will now keep it from being updated
• The driver BUILT-IN is now known as VIRTUAL
• SubCreator will now install a properly signed version of SubServers.Client
• Fixed /sub reload templates for redownloading template files (for SubServers.Host)
• Fixed /sub reload for reloading template.yml files

For Developers
• The RemotePlayer Data API is now available
• The SmartFallback API has been rewritten to become more useful
• The "Master" Proxy can now be requested by name
• SubData 2 and GalaxiEngine have been updated
----------, Jun 26, 2020

This release is not network compatible with the previous one, so make sure to keep your SubServers Apps up-to-date.

It seems that recently a good portion of newcomers to SubServers have been experiencing an error related to a "malformed argument" with an embedded quote. This update is to resolve that issue.

It was a little tough to pin down. It only happens in newer Java updates, and from there, you can only see it in some forks of BungeeCord (including the official one). It turns out that its actually a new restriction that Java has placed on apps that launch processes. An official explanation is available on Oracle's website.

Aside from that, this update also contains a newer version of SubData that uses a potentially faster way of handling its control characters.
----------, Feb 16, 2020

As you may know, SubServers works by overriding a portion of the section of BungeeCord that deals with server information. It has come to my attention recently that some forks of BungeeCord distribute this info internally slightly differently, though. (cough, Waterfall, cough, cough)

This revision forces the default BungeeCord behavior for server info distribution by further overriding that section. Also, it could help some more of the plugins that weren't designed to work with SubServers work with SubServers.

Revision versions of SubServers typically offer an important fix or two and nothing more, while retaining 100% compatibility with the previous version.
This revision applies only to SubServers.Bungee and SubServers.Sync.
----------, Jan 25, 2020

So, it seems that BungeeCord made some changes to ServerInfo that broke the SubServers apps that are based on it this week. This revision serves to remedy that issue. The solution came with some quirks, though.

Versions of SubServers older than this one will not be able to run on versions of BungeeCord above #1444.
Versions of SubServers like this one and newer will not be able to run on versions of BungeeCord below #1445.
The current version of SubServers as of this writing is 2.15a/rv2

Unfortunately, this is pretty much the only solution due to the nature of the changes this time. However, with the wide range of Minecraft versions supported by BungeeCord and it's various forks, updating shouldn't be huge a problem in the future.

Revision versions of SubServers typically offer an important fix or two and nothing more, while retaining 100% compatibility with the previous version.
This revision applies only to SubServers.Bungee and SubServers.Sync.
----------, Jan 18, 2020

Where is that 2.14 update?

Well, as the keen-eyed among you who went searching for it have noticed, 2.14 has been available in a stable state for ages in the form of snapshot builds, while 2.13 stuck around as something of an LTS build. This release structure doesn't really make sense for SubServers, though, so we'll be returning to the regular release format after this version.

This release is not network compatible with the previous release (2.13), so you're going to have to get all your SubServers Apps updated for this. All that aside, though, this is the release with all of the shiny new features I hinted at previously. Also, since it's been quite a while, tracking these changes has gotten quite difficult. As such, this change log is most likely incomplete.

SubCreator: Update
These days it's more important than ever to to keep your servers up-to-date. But yet, SubCreator only keeps one version of each release in it's cache. Wouldn't it be nice if we could just run SubCreator again over the same server files?

Yeah, that would be pretty nice. That's why we added /sub update

The update command can be used once a day to rebuild and cache yourself a newer build of your server software (where supported). You can then take that updated cache and use it to update the rest of your servers as well. Edit the Template option in your servers.yml to use this feature on existing servers.

The Paper Template
The long requested Paper template is finally here. As you may already know, paper is a fork that provides various features, optimizations, and configurations that Spigot does not, similar to what Waterfall is to BungeeCord. The most immediately obvious one being that you're not required to run a Buildtools like program to get your hands on it.

Like other templates that have been added after the fact, those of you who are updating will have to download this template yourselves, or remove/rename the Templates folder to obtain this new template.

SubData 2
This release comes with the latest iteration of SubData: SubData 2. Aside from being a little faster than it's predecessor, it is also a lot more flexible in it's formatting. Allowing for even the largest of files to be sent over the network with ease. It can also be used in multi-channel mode, for when one data stream just isn't enough.

Configuration Updation
To those of you who hate me because of how frequently I update lang.yml or wern't really into the whole idea of visiting the wiki in your free time to compare and update your configs manually but still want the new features, this is for you.

Instead of just replacing your config file with a newer one, we're now going to auto-update your old one with new values based on what you already had. Also, this has the side effect of neatly sorting your config values as well! Hooray!

But wait, there's more
• You can now make the [Version] SubCreator argument optional for templates that don't require it
• Added smarter fallback server selection
• Added RSA/AES type encryption
• Servers may now be deleted immediately from API and through their Stop-Action
• Servers have been moved to their own config file ( servers.yml)
Recently Deleted now clears deleted servers periodically (even without restarting)
• SubServers Apps can now start up semi-normally while SubServers.Bungee is offline
• Several new environment variables are available to SubServers and SubCreator (for batch/shell scripting)
• Processes launched by SubServers Apps now make a conscious effort to use the same Java version as the app that launched them

For Developers
• SubServers.Client based apps are now on par with many API features of SubServers.Bungee
• Added SubCreatedEvent for SubCreator
• Added SubStartedEvent for SubServers with SubServers.Client installed
• Added SubNetworkLoginEvent for all SubServers Apps
• Many SubServers util classes are now being provided by GalaxiEngine
• Some ME1312.net services have been moved
----------, Dec 18, 2019

This update fills a gap where the more feature-packed 2.14 isn't ready yet but an urgent fix is required for anyone wanting to use SubServers.Client in Minecraft 1.14.

So until then, let's just keep using the 2.13 versioning. What could possibly go wrong? Besides, 1.14 shouldn't be used in production servers yet anyway, right? ;)

What's new in this version
• You can now space out Run-On-Launch servers using Run-On-Launch-Timeout
• There's a fancy new warning ping message for when your back-end servers are known to be offline

Fixes in this version
• Fixed something that broke in 1.14
• Fixed an issue related to changes in version formatting within the Sponge Web API
• SubServers who are known offline are now invalidated as options for fallback when a server goes down
----------, Apr 26, 2019

This update makes SubServers even more configurable than it was before. Additionally, this update also should have better memory performance than previous versions of SubServers.

The new environment
For the first time since it's inception, the SubServers executable command handler has been updated. Now, commands are executed in the environment of the system ( cmd on windows, sh for anyone else). Additionally, there are custom variables injected into these environments specific to each SubServer that you may use in your scripts ( for SubServers) ( for SubCreator).

What else is new in this version
• The /sub restart short-hand command has finally been added
/sub stop and /sub kill can now stop all servers using the wildcard character: *
• SubCreator now uses the full-fat Executable command to launch scripts instead of just a file location
• Windows users can now use the bash and sh commands in the Executable option
Log-Creator is now a per-host config option
• Console-only commands now have tab completes
• Outdated copies of the default templates no longer get loaded by default

Fixes in this version
• SubServers can now properly terminate child processes on Windows
• SubServers now handles symlinks correctly
/sub sudo overrides the log option again like it should
• Moved logging flags to their own variables in SubServers.Host (fixes possible errors with multi-threading)

For Developers
• Threads created by SubServers are now properly named
• There are links where necessary to SubServers' main dependencies in the Javadocs
• Players can now be whitelisted through the API when using the restricted option
• The Executable class has been rewritten to be more useful
Util now has short-hand methods for reflection
Version is now a type embedded into YAMLConfig
----------, Jan 22, 2019

We've fixed some things
• Internal loggers now tie up loose ends properly
• Access rules for restricted servers have been corrected
• Fixed an NPE regarding SubServers.Client and auto-detecting the server link
• SubServers.Client should now be unaffected by server-side chat modification plugins
• SubServers' lang.yml now supports the expandable \u{...} JavaScript Unicode escape notation
• SubCreator's replacement of port=xxxxx now results in port=25565 instead of port=25565xxxxx for values in server.properties
----------, Dec 21, 2018

This release has a focus on allowing SubServers to do more of the work for you. There are new configuration options available for the new features.

SubServers just got smarter
• It can forward your ports for you (only when UPnP is available)
• It can pick it's own port number in SubCreator
• It will choose a fallback server based on how confident it is that you'll be able to connect

What's been fixed
• Only select from stable Sponge versions in SubCreator
• Fixed bug with unicode escapes when saving YAML
----------, Oct 23, 2018

This update has a bunch of little changes to make SubServers better. This release is not network compatible with the previous release, so you will have to make sure all your SubServers apps get updated.

What's new in this version
• Rewrote /sub info to make it more useful
• Proxies now have a bigger presence throughout SubServers when using 2 or more
• SubServers.Sync can now sync over commonly altered BungeeCord config values
• Stopping a server or kicking users server-side will now send them to the fallback server (unless they were actually on the fallback server) when force_default_server is enabled.
Auto-Restart has been replaced with Stop-Action (See Configuration)

Fixes in this version
• Add support for the new WaterfallConsole revision
• Fixed a syntax issue with wget in SubCreator ( delete the Templates folder to get this fix)
• Look for the old Gson location when using older Bukkit/Spigot builds

For Developers
• There is now a proper API for the client side apps (See SubAPI.class)
• SubServers.Host is now built on GalaxiEngine 3 (which means plugins now go through that)
• The SubServers dataset download packet has been separated by type
• Only send the reload packet when the API is ready to be called
• Packets now have better support for transferring raw binary data
• Packets are now converted MessagePack instead of JSON before they are sent
• Packet handles are now namespaced
• The Temporary flag has been replaced with a StopAction value
----------, Oct 4, 2018

The final release of 2.13a has come. This update includes fixes related to changes in backend distribution and to the Templates folder.

The Sponge template in this version will now build SpongeVanilla (Sponge without Forge). SpongeForge has moved to the Forge template. To get this template, you can download it or backup and remove the templates folder for it to be regenerated.
----------, Jul 28, 2018

This update feels like the very first pre-release to meeeeeeeeeee~!

That's right, we now have a tested version of SubServers 2 for BungeeCord/Spigot 1.13-pre7! It's hard to believe that it's been 7 months since I began making changes in preperation for this release, but here it is.

Changes in this version are slim since I already had most of the work done, but they include:
VanillaCord Launcher: Future-proofing SubCreator's vanilla patch tool by continuing development myself.
• Removed exclusive 1.13 command validator code (Unfortunately, there is currently no API for server-side argument validation right now)
• Slight changes to the default templates' build scripts
• SubServers now prints all the necessary information for debugging when using /sub version
• Builds of frequently updated SubServers apps are now signed using a unique Snapshot ID (which is displayed on snapshot builds of SubServers)
----------, Jul 15, 2018

This update fixes compatibility with newer builds of the Waterfall fork of BungeeCord and some other plugins.

Ways compatibility was improved:
• SubData no longer uses org.json where other JSON libraries are provided
• SubCreator's Vanilla patch tool now works in Java 9 and 10
• SubAPI now has more ways of detecting compatible Minecraft versions
• SubServers now keeps BungeeCord's versioning info intact when patched with the latest patch tool
• SubServers now uses Waterfall's proprietary console handler when available (Unfortunately, this means that you will not be able to use /sub sudo on newer builds of Waterfall. The last Waterfall version to support BungeeCord's standard console was Build 145 for 1.12)
----------, May 24, 2018

SubCreator now caches versions of Spigot and Vanilla you have previously patched so that the next time you create that version it is done almost immediately.

For developers, the pre-releases are available through maven using the short version (for example: 2.13a/pr2)

Also, this pre-release contains fixes to the version library regarding parsing and comparing layered versions.
----------, Apr 8, 2018

This update rolls up all the changes I've been making recently, along with partial support for features in future versions of minecraft. Starting with this update, SubServers will become more dependent on the minecraft version it determines it's running on. If you experience issues related to this, you can start SubServers addons and/or your servers with the argument: -Dsubservers.minecraft.version=<version>. Additionally, this update will require you to update all of your SubServers add-ons because of the changes to SubData.

Major Changes:
• Added partial and untested support for minecraft version 1.13 (making this a pre-release)
/sub reload can now perform a soft-reload (only stops the servers you changed and only if the change is considered major internally)
• SubServers.Bungee and SubServers.Sync are now officially compatible with RedisBungee
• SubServers.Bungee and SubServers.Host may now attempt to shutdown servers when they are unexpectedly closed (not guaranteed to work every time, but it's better than nothing)

SubData Changes:
• SubData packet handles are now case-insensitve
• SubData now encodes all data in Base64, not just encrypted data
• Packets can now be encrypted through custom ciphers via the new SubData Cipher API
• PacketIn can now accept multiple oncoming packet versions (just override .isCompatible() to check for them)
• You can now use the % wildcard in the SubData Whitelist (usage examples: 192.168.0.%, %.%.%.%)
• Packets are now queued until connection is authorized

Internal/API Changes:
• The Lang API has been rewritten for better use by other plugins
• Rewrote the internals of the Group system
• SubServers.Sync Proxies are now tied to a name for API access
• SubServers.Client instances can now be linked via SubData connection address and server port number
• The Server API no longer overrides BungeeCord's methods/fields for MOTD and Server Restriction
• Host & Server objects are now signed (prevents possible desyncs)
• SubServers no longer needs to overwrite modules.yml (SubServers command overrides can be turned off in the config)
• The version library now supports layered versions
• Updated Dependencies (JSON/SnakeYaml where provided)

Minor Changes:
• New download page and upper thread design (better explains SubServers and it's features)
• SubCreator now requests the proper version of Git Bash for your system in the default config (32 vs 64 bit)
• UI now hides some menus that would otherwise show empty lists (for example, hiding the Group/Server section of the list command when no groups are available)
• SubServers further rewrites BungeeCord's signature when SubServers.Bungee.Patcher is detected
lang.yml has been updated with a new, but still familiar look
• Yaml files no longer get scrambled when SubServers saves to them
• Fixed bug where permission is denied on files opened by SubServers on Windows
----------, Mar 14, 2018

This update fixes an important issue with SubCreator. If you created a server in 2.12.1e, change the "group" value to an empty list value: "[]"
----------, Aug 28, 2017

This update lets you add servers to multiple groups by name. This is then used in the UI in multiple places. Additionally, the more hidden features of subservers have been made more visible in config.yml (such as display names, etc) For more information on how to update your config to use these values, click here.
----------, Aug 26, 2017

This update makes additions to the API in preparation for the release of SubServers.Sync. It also wraps up any minor changes/fixes I've made.
----------, Aug 22, 2017

This update wraps up a lot of the minor changes I've been making along with requests to make the UI more informative.
----------, Aug 18, 2017

This update adds a console-only reload command for templates.
----------, Aug 16, 2017

Quite a while ago, when SubServers.Vanilla was around there was a command named 'sudo'. It was used in a way similar to how the linux 'screen' command is used. That was a nice feature, too bad it's not in SubServers 2... oh wait, it's back.

Also, now you can check the status of SubServers from console with '/sub status'
----------, Aug 15, 2017

This update fixes a glitch allowing for large subdata requests to be sent.
----------, Jul 26, 2017

This update contains various changes and fixes. Changes like:
• Removed SubCreator Limit
• Fixed the vanilla patch error for creating 1.12 servers
• Templates can now import each other
• SubServers.Host now downloads templates from SubServers.Bungee automatically.
• Servers can now be tagged as incompatible with other servers.
• Minor bugfixes
----------, Jul 23, 2017

This update allows you to make your SubData Network more secure via AES Encryption. Fear not though, for people just updating to the latest version your network will remain on the same protocol as before.

If you would like to use this encryption, add the new "Encryption" setting to the subdata section to all of the SubServers configurations. More information on SubData Encryption is available here.
----------, Jun 30, 2017

Please rename or delete your ~/SubServers/Templates/ folder before updating!

This is the SubCreator Templates update. It once again reworks the Templates folder so that you can take advantage of SubCreator using your own custom server templates. Read more on how to create templates.

Naturally, this will have some effect on the way you use SubCreator. The SubServers.Client interface and the SubCreator command have been revised.

Also, for linux users who were having trouble using SubCreator, issues #6 and #9 have been fixed. ( ͡° ͜ʖ ͡°)
----------, May 30, 2017

This update contains the new version of SubServers Client which will automatically find and use the config from the generic 'SubServers-Client' folder.
----------, May 17, 2017

This update changes the SubCreator Template system. Templates are now located at "~/SubServers/Templates" and contain the whole server directory instead of select folders.

Also, the problems with SubServers.Client related to the creator have been fixed, and SubServers.Host has finally been accepted by the spigot resource staff.
----------, Apr 14, 2017

This update contains some minor fixes:
• Update to latest SubServers.Client.jar
• Fixed '/sub delete' for internally hosted servers
----------, Apr 10, 2017

This update's main additions are the ones that make the new SubServers.Host (Approval Pending) possible, such as adding the NETWORK driver and the PacketEx group of packets.
----------, Apr 3, 2017

This update contains some useful API additions and minor fixes.

Changes:
• Added #addListener() so plugins can run code when subapi is enabled and servers are loaded.
• Added #setDisplayName() to all servers and hosts so plugins can modify what name will be shown (you'd have to update SubServers.Client for it to work though)
• Fixed the Auto-Restart option
----------, Jan 26, 2017

This update fixes an issue that prevented SubData from accepting connections.
----------, Jan 21, 2017

This update re-adds the SubLogger API from previous versions. There's also a couple minor bug fixes here and there.

SubServers.Console is now available. This bungee plugin is used to pop-out SubServers/SubCreator Instances into their own console window. However, it only works if you host the servers on your own computer. It'll have it's own plugin page soon™
----------, Jan 12, 2017

This update makes slight changes and additions to SubAPI, along with some general fixes and invisible changes.

Changes Include:
- Better Documented the project (JavaDocs)
- Fixed SubServers Client Generator (SubCreator)
- Multiple Packets can Send/Receive on the same handle (SubData Direct)
- Made the Authentication Packet final (SubData Direct/Security)
- Minor YAML Reader Fixes/Additions (SubAPI & Invisible)
- Rewrite the Launcher using Reflection (Launcher)
- Minor Invisible Changes
----------, Jan 8, 2017

This update fixes a few minor issues with the config.
----------, Jan 2, 2017

This update re-adds SubCreator's Plugin Templates directory from previous versions. Place whatever plugins you want into the proper plugin template directory and it'll be copied when creating a subserver.

This update also adds the console-only command '/sub delete' for deleting servers. Don't worry though, if you get trolled, deleted servers can be recovered from the "Recently Deleted" folder for up to 7 days.
----------, Jan 1, 2017

The infamous "BuildTools Freeze" SubCreator bug has finally been fixed.
----------, Dec 29, 2016

The SubServers 2 Update is finally here! Install has changed, you should install this update as if it was a new plugin instead of an update. See the main plugin page for install details.

This is the big rewrite I've been mentioning for the past two months. As I said before it's everything I imagined SubServers to be originally. This version contains too many changes/fixes for me to have kept track of, sorry about that.

SubServers 2 will not work with API plugins designed for SubServers (1). This is because of how different the API structure is. It is not recommended to upgrade until your SubAPI plugins have been updated as well.
----------, Dec 27, 2016

It's time to update SubAPI again; and it'll will break every plugin currently using it. You can always follow the Beta Updates if you want to be more prepared for these kinds of things though.

Documentation
JavaDoc [Server] [Proxy]

ChangeLog:
• Use Bukkit EventHandlers for SubEvents
.getInstance() instead of static SubAPI methods
.getInternals() for NMS like coding
• Adds SubEditEvent
• Fixed this bug
• Now uses @Overrides for Proxy methods
• Minor Fixes/Changes
----------, Sep 16, 2016

Heres a lang update to fix the Editor Window <3
----------, Aug 14, 2016

This update contains some minor fixes again, but was worth pushing an update for.

ChangeLog:
• Fixed Vanilla in SubCreator
• Disallowed building a server type named §r
• Minor bugfixes
----------, Aug 7, 2016

ChangeLog:
• Fixed a weird render glitch with SubServer Pages
• Minor Bugfixes
----------, Jul 31, 2016

A bunch of misc fixes for you!

ChangeLog:
• Removed Bungee Pinger (Fixes Ping Spam Issue)
• Changed the SubServers.Bungee Title
• Updated the default Lang File
• Minor Bugfixes
----------, Jul 29, 2016

Wielding the power of mathematics, ME1312 presents you with an update. Will you use it? Find out next time on SubServers The Series 2: The Electric Boogaloo.

This update changes the math used to render the Server List window to add to the premium feel of the new GUI:
• Centered the SubServer List
• Made the SubServer List Resize to fit
• Fixed the color pattern for 'Temporary Servers'
• Minor bugfixes
----------, Jul 19, 2016

With major changes like these there was bound to be some bugs. After some more testing this is what I've found and fixed.

• Config saving issues with the Editor
• Non-SQL exceptions with the Editor
• exec Option went off-screen because of how long it typically is
• Minor Bugfixes
----------, Jul 15, 2016

It seems like you guys liked the changes from the last update based on the poll so I've just made some misc improvements to the last GUI version since then. Also the Server Editor has been implemented. Config & Lang file updates!

SubEditor:
SubEditor is a Server editor that allows you to change the subserver values via the GUI. It can also optionally edit the files corresponding to whatever changes you make (such as changing the port/directory)

You can suggest some things SubEditor should be capable of at the discussion page.
----------, Jul 15, 2016

This build contains the new GUI update. I've updated the GUI to look a bit more premium however I'd like to know what you guys think. Should I Revert This Change?

This build contains a button titled "Edit Server" which is a feature that has not been added yet. This is why the button does nothing when you click it.
----------, Jul 14, 2016

There's a bug. I squished it hardcore. RIP NullPointerException
----------, May 25, 2016

The STDIN for servers has now been made more like a queue rather than being overwritten. This fixes the chance of the value being overwritten in non-sql data transfer (resulting in loss of data).
----------, May 15, 2016

As some of you may know SubServers.Vanilla has finally been released. This alternative version of subservers has its ups and downs and can be viewed here.

Take Note:
• This won't replace SubServers Bukkit: I'll be updating both
• SubServers Vanilla installs sorta simalarly to SubServers Bukkit
• SubServers Vanilla requires an SQL database
----------, May 12, 2016

It's Finally a CPU Update! As many have questioned and/or requested fixes for SubServers using a bunch of their CPU I was finally able to pinpoint and solve it. This version of SubServers should decrease your CPU usage if you were experiencing such high usages.
----------, May 7, 2016

This contains some minor changes/additions made to this while translating code to the next edition of subservers.

ChangeLog:
• Fixed Bukkit Compatibility
• Cleaned up Logging a bit more
• Made servers log to the level they originally outputted on
• Added the much requested "~All" fake server to "/sub cmd"
• Minor SQL fixes
• Minor Logger fixes
• Minor "/sub reload" fixes
• Minor bugfixes
----------, Apr 15, 2016

This update contains proxy fixes for a major disconnect of SubServers for people using SQL. The disconnect has noticeable effects on the default included shared chat, /glist, and many other proxy related actions. It is a recommended update for all who are using SQL.
----------, Apr 13, 2016

This update contains mostly API updates for the new features to that have been added.

ChangeLog (Spigot):
.addServer() now returns a SubServer variable
.createServer() added for SubCreator
.getDir() added to get a SubServer's Directory
Added API Methods to SubCreator
Many Minor changes to the SubServer class
Minor lang.yml changes

ChangeLog (Bungee):
.addServerInfo() added to add servers without restarting
.getWrapperVersion() added for version checking
----------, Apr 11, 2016

While previous versions of subservers run decently on 1.9, theres still some improvements to be made for compatibility on this new Minecraft version. This update includes many minor changes of mine and 1.9 related bug fixes.

Change Log:
• Disabled auto server ping for SubServers.Bukkit as of now due to 1.9 changes.
• Fixed '/sub reload' having a chance of loosing control of running servers.
• Added proxy command '/subproxy' for easy proxy version checking.
• Many minor improvements
----------, Mar 11, 2016

This update just fixes the "Unknown Command" problem some non-sql users are having :)
----------, Dec 31, 2015

This is mainly an update for the API. I've overhauled the SubEvent API, because before it was not great. It's taken a more bukkit-like approach, so it's easier to understand & use.

Event API Improvements (over the original):
  • Events can now be ordered by priority
  • Event issues are easier to debug now
  • Event Exceptions no longer stop SubServers from completing tasks
  • It's less confusing to beginners
  • It's more flexible
  • you can now unregister events
  • other minor improvements

Code (Java):
package net.ME1312.Example ;

import net.ME1312.SubServer.Events.Libraries.SubEventHandler ;
import net.ME1312.SubServer.Events.SubStartEvent ;
import net.ME1312.SubServer.SubAPI ;
import org.bukkit.Bukkit ;
import org.bukkit.event.EventPriority ;
import org.bukkit.event.Listener ;
import org.bukkit.plugin.java.JavaPlugin ;

public class ExampleListener implements Listener {
    public ExampleListener (JavaPlugin plugin ) {
        SubAPI. registerListener ( this, plugin ) ;
    }
 
    @SubEventHandler
    public void exampleEvent (SubStartEvent event ) {
        Bukkit. getLogger ( ). info (event. getServer ( ). Name + " has started!" ) ;
    }
}
----------, Dec 15, 2015

This update makes some tweaks to the GUI and solves a problem with the loader. (also, I threw an easter egg in this update. It won't effect anything if you don't know about it though :))
----------, Dec 15, 2015

Resource Information
Author:
----------
Total Downloads: 31,636
First Release: Aug 21, 2015
Last Update: Jan 1, 2022
Category: ---------------
All-Time Rating:
79 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings