Updated How It Works (markdown)

ME1312 2021-06-12 23:15:24 -04:00
parent 74da6c0753
commit 26088cf8c6

@ -1,9 +1,8 @@
![https://s33.postimg.cc/j7pn8l9wv/Sub_Servers_2.png](https://s33.postimg.cc/j7pn8l9wv/Sub_Servers_2.png)<br>
![https://i.postimg.cc/TwgrGznb/Sub-Servers-2.png](https://i.postimg.cc/TwgrGznb/Sub-Servers-2.png)<br>
This page goes over how SubServers is able to do what it does. Above is a chart explaining the relationship that the various apps can have with each other. It is assumed that the appropriate version of SubServers.Client is installed on all the Minecraft servers. For the more useful, recommended network topologies, see [*Designing Your Network*](https://github.com/ME1312/SubServers-2/wiki/Designing-Your-Network).
### Legend
The **Yellow Arrow** represents a player connection<br>
The **Orange Arrow** represents an optional connection to a RedisBungee Server<br>
The **Blue Arrow** represents a connection to the SubData Server<br>
The **Green Arrow** signals that the app is hosting the server it points to
@ -11,13 +10,13 @@ The **Green Arrow** signals that the app is hosting the server it points to
SubServers 2 on the surface may seem very simplistic, but the way it accomplishes it's goals is actually quite complex.
### SubServers.Bungee
SubServers.Bungee is the heart of SubServers 2. It is tasked with managing all of your servers &mdash; even ones not hosted by the internal 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*), and can make use of the RedisBungee plugin when available to access and utilize synced player information from other proxies on the network.
SubServers.Bungee is the heart of SubServers 2. It is tasked with managing all of your servers &mdash; 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 it's 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 it's connection to SubData. Using this information, it is able to direct players that connect to it to where they need to go. It can also make use of the RedisBungee plugin when available to access and utilize synced player information from other proxies on the network.
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 it's 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 it's 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 it's configuration.