-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Startet: Setup JuliGamesCore
First things first: If you should encounter any issues while setting up the core don't mind contacting me via my email or creating an issue in this repository.
Before you start setting up your core you should make sure that you have a database server (I recommend a MariaDB Server for this) and a machine to run the core on (obviously)
Our public Maven Repository is not only able to provide you with the API it can also be used to download all public versions of all APIs and Cores including the Master: https://maven.juligames.net [Core Download]
If you want to download release version for the PaperCore or the VelocityCore (the plugins that run on Paper / Velocity servers), i suggest using Hangar: Hangar - Core. You should know that versions maintained on Hangar are a bit behind the newest version. If you need a development build, you need to think about compiling it manually. If you are using Hangar to download your PaperCore / VelocityCore, you still need to download your Master from the Maven repository! (Currently Hangar does not allow a custom upload for the Master)
If you want to download the latest release of the Core, you can also use the Releases Section here on GitHub. (Not all versions are there)
If you are using the maven repository to download your PaperCore / VelocityCore or your Master, you need to click the “Core Download” Link above and then navigate to the folder for the PaperCore / VelocityCore or your Master. After this you need to select your version (i always recommend the highest “non SNAPSHOT” version). Now you need to find the .jar archive (not the one with sources). If you are downloading a SNAPSHOT, you need to scroll down to the .jar with the highest number right before the “.jar”.
If you already have a Hazelcast Cluster running in the local network, you are using, then make sure that it is not named "Core Cluster" otherwise you might encounter some issues with the execution of the JuliGamesCore
The following instructions will guide you through the process of installing the JuliGamesCore on your existing Network (Velocity and Paper) The Core does not require a Velocity Server or multiple Paper Servers running, but without them, running a Core would not make a lot of sense. First, you need to set up the Master. The Master is a standalone application that manages your "Core". If this Application is not running all, your Paper and Velocity Servers will freeze and eventually crash. So it is mandatory to ensure the flawless execution of the Master.
Never run a Master within a directory of a Minecraft Server except you really know what you are doing (then you should consider contributing here..). The Master is not a Bukkit Plugin and will not run as a Jar in a Plugin directory, If you don't understand this warning, then consider getting in touch with your server administrator or with me to assist you with your setup.
- Place the Master jar archive in a designated (empty) folder
- Execute the Master
- Watch out for obvious errors or exceptions. In case you encounter errors within this process, consider opening an Issue here on GitHub
After this, the Master of your Core should run and wait for Paper / Velocity Servers to connect You may want to start the Master with suggested Arguments (Look out for this suggestion in the Logger Output of the Master) For further information about them, please check the Hazelcast Documentation.
After this step, you should enter the credentials to your MySQL Server into the config/database.properties file. (It may be possible that this file is not created automatically - I am investigating this issue currently - in this case you can download a sample file here: Example File)
NOTE: These credentials will be public to every Core Instance running in your Hazelcast Network. Don't assume the credentials are safe and secure. Please make sure that only prohibited access is granted to them. The Account used there should have full Acess to the Tables but does not need access to create users or change passwords. In the case that this is required you will be informed about it by the Core Plugins.
After a change in the Configuration you need to restart the Master or reload the config
First, you need to download the desired version of PaperCore. If your version is a major "Master" version you may find this version right here on GitHub under the releases section. If you need help identifying the right version for you then consider getting in touch with me via my email [email protected] or via Discord.
After you downloaded the .jar archive you need to place it like a plugin in your plugin directory. The default directory is located under "/plugins" (Attention: If you don't know what plugin directory is used by your server then contact your system administrator and tell him to follow the next steps)
If your network is configured well then your PaperCore should connect automatically to your Master and start operating. If you know how to set up the "Hazelcast Management Center" you can use it to verify and debug the internal Hazelcast Cluster.
If you encounter any issues with the PaperCore and Master connection please check your network configuration first: Hazelcast Network Documentation. If you decide that your issue has nothing to do with your network, you can reach out to me via known contact options. It is possible that you encounter a misconfiguration made by me, that can be fixed.
The Setup of the VelocityCore is very similar to the setup of the PaperCore. First, you need to download the desired version of your VelocityCore, after you identified and downloaded the right version you continue by inserting it into your velocity servers plugins directory. If you need assistance with this please check out the manuals for your velocity version.
If your installation was successful the VelocityCore should be running now. The VelocityCore should connect autonomously to your Master.
If you followed the steps above correctly your Core Cluster should be active now
If you need assistance with your setup, development, or configuration, feel free to reach out to me via email ©Ture Bentzin 2023