This repository has been archived on 2023-10-27. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2021-02-19 15:11:08 -05:00
api Initial commit 2021-02-19 15:11:08 -05:00
arcade Initial commit 2021-02-19 15:11:08 -05:00
buildserver Initial commit 2021-02-19 15:11:08 -05:00
commons Initial commit 2021-02-19 15:11:08 -05:00
core Initial commit 2021-02-19 15:11:08 -05:00
discordbot Initial commit 2021-02-19 15:11:08 -05:00
hub Initial commit 2021-02-19 15:11:08 -05:00
proxy Initial commit 2021-02-19 15:11:08 -05:00
scripts Initial commit 2021-02-19 15:11:08 -05:00
servercontroller Initial commit 2021-02-19 15:11:08 -05:00
serverdata Initial commit 2021-02-19 15:11:08 -05:00
skyblock Initial commit 2021-02-19 15:11:08 -05:00
testing Initial commit 2021-02-19 15:11:08 -05:00
.gitignore Initial commit 2021-02-19 15:11:08 -05:00
.gitlab-ci.yml Initial commit 2021-02-19 15:11:08 -05:00
build.gradle.kts Initial commit 2021-02-19 15:11:08 -05:00
lombok.config Initial commit 2021-02-19 15:11:08 -05:00
README.md Initial commit 2021-02-19 15:11:08 -05:00
settings.gradle.kts Initial commit 2021-02-19 15:11:08 -05:00

Project Structure

  • 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.
  • Hub: This is pretty self-explanatory. Any Hub related things will go here.
  • Testing: This part of the project is strictly for testing purposes .

Redis

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.
  • Stick to Java naming conventions, which can be found here

Building From Source

  • Clone the project
  • Open the project in your IDE of choice (Intellij is highly recommended)
  • Run the task shadowJar which can be found under McGamerCore » Tasks » shadow

If you are confused on how to do things, or you're unsure on where to put something, please contact Braydon on Discord