- **Commons**: Commons is common libraries and/or utilities that are shared across the network.
- **ServerData**: This branch of the project controls the database backend for both Redis and MySQL. All modules that use Redis or MySQL must have this as a dependency.
- **ServerController**: This will dynamically start and stop servers on demand.
- **Proxy**: The proxy will handle server balancing and player caching.
- **API**: This is the frontend of the project if you will. All developers will be given access to this branch of the project where they can access multiple parts of the server.
- **Core**: The core is a shared module between all Spigot plugins. Everything used between multiple Spigot servers will be created here.
Redis is used for a variety of different things. Mainly, Redis is used for the server backend and as a global cache.
# MySQL
MySQL is used for the main account backend. Everything related to accounts will be stored here.
# Production
When something is being released for production, you must set the production parameter in the **MySQLController** class and make sure you are on the **master** branch!
# Before Starting
- Create a **gradle.properties** file which will contain your
Nexus username and password. (It's recommended to add the properties below to your **gradle.properties** file to allow the use of parallel compiling and caching)