Above is a chart showing the relationship that the various apps have with each other. For this discussion, SubServers.Client has been installed on all servers. For the more useful, recommended network topologies, see Designing Your Network.
Legend
The Yellow Arrow represents a player connection
The Blue Arrow represents a connection to the SubData Server
The Green Arrow signals that the app is hosting the server it points to
How It Works
SubServers 2 on the surface may seem very simplistic, but the way it accomplishes its goals can get quite complex. This page explains how each of the possible components help your server network tick.
SubServers.Bungee
SubServers.Bungee is the heart of SubServers 2. It is tasked with managing all of your servers — even ones not hosted by the virtual host driver, providing a SubData Server for the rest of the apps to connect to, and routing players that connect to it where they need to go all at the same time. It also loads connection information for servers that will not be managed by the server manager from BungeeCord's config (Server 3 in the chart).
SubServers.Host
SubServers.Host is the way to create, add, and remove subservers to/from the server manager that exist on other machines. SubServers.Bungee is able to talk to SubServers.Host to tell it what to do and how it should go about doing what it does though its connection SubData.
SubServers.Sync
SubServers.Sync allows you to run multiple proxies that point to the same servers. SubServers.Bungee is able to tell it what servers are there and how to connect to them through its connection to SubData. Using this information, it is able to direct players that connect to it to where they need to go. It also communicates back and forth with SubServers.Bungee to keep track of who's online where at any given time.
SubServers.Client
SubServers.Client allows players and server-side plugins to talk to SubServers.Bungee, and therefore all the other SubServers apps, through its connection to SubData. It also provides a helpful chest GUI when players with the correct permissions run the command /sub
that makes managing your servers easier. Of course, this in-game access can be disabled through its configuration.
SubServers Platform
All of these apps provide an API for your plugins known as SubAPI for you to unlock the full potential of the server manager. Have your plugins talk to each other across multiple proxies, multiple hosts, and multiple servers using the SubData API.