This is a Minestom-implementation of a Hypixel-SkyBlock recreation hosted on my server at discord.gg/atlasmc. This implementation is nowhere near complete and is not ready for production. There are still portions of the codebase which are messy and aren't following proper Minestom standard practice.
A 1.8 to 1.20.4 recreation of HypixelSkyBlock utilizing Minestom, with the intention of actually having a properly abstracted, scalable codebase.
Releases are auto deployed on push onto the GitHub releases page which can be found here. Updates are also periodically sent within my discord server located at discord.gg/atlasmc.
Javadocs can be found here.
This project is not meant to be a small server, and as such, it requires a decent amount of resources to run. The following are the minimum specifications for running this server:
- 16GB of RAM (4GB for Mongo, 12GB across servers and services)
- 6 Cores (For sufficient multi-threading)
- 15GB of Storage
A video of me going through the guide can be found here
- Ensure that you meet the recommended device specifications above.
- Start a MongoDB service either locally or remotely, a guide for installation can be found here.
- Ensure you have the
Java 21
SDK installed. - Start a Redis server, if you're on Windows you can run an installer here
- Follow the 'Proxy Setup Guide' below.
- Follow the 'Game Server Setup Guide' below.
- Follow the 'Service Setup Guide' below.
- Follow the 'Resource Pack Setup Guide' below.
- To give yourself ADMIN, log in and out of the server, go into your MongoDB compass, click on Minestom -> data, find your profile and set your rank to "ADMIN". Log back in and you'll have it.
- Download 'SkyBlockProxy.jar' from the releases page here
- Download the Velocity proxy from here
- Download
velocity.toml
from here and move it to where you want your Proxy server to run. - Move your Velocity proxy JAR into that folder aswell, and run the proxy using
java -jar velocity-3.3.0-SNAPSHOT-316.jar
as a command in that directory. - Close this proxy once it has generated the
plugins
folder, just by pressingCTRL + C
or closing the CMD Prompt. - Move the
SkyBlockProxy.jar
from earlier into the plugins folder. - Make a new folder where your
velocity.toml
is and call itconfiguration
- Download
resources.json
from here - Move this file into the
configuration
folder you just made. - Start the proxy again using
java -jar velocity-3.3.0-SNAPSHOT-316.jar
. This will need to be on for your game servers to work.
- Download 'SkyBlockCore.jar' from the releases page here
- Make a folder called
configuration
in the same directory as the JAR file. (Note this should be placed differently to where your Proxy is) - Download
resources.json
from here - Move this file into the
configuration
folder you just made. - Download the world files for the Hub and Island worlds.
- Get the Hypixel SkyBlock hub from the above download and put it in the configuration folder you made under the name
hypixel_hub
. - Get the Hypixel Island default template from the above download and put it in the configuration folder you made under the name
hypixel_island_template
. - There should be a
forwarding.secret
file where your Velocity JAR is, take this and put it into yourresources.json
undervelocity-secret
. - Run the jar using
java -jar {Insert the JAR file} ISLAND
, this will create an Island server that will latch onto your running proxy. - To make other game servers for the other islands merely run the command above again but with different island types, you can see all the possible types here.
- Download
NanoLimbo-1.7-all.jar
from here and start it in the background usingjava -jar NanoLimbo-1.7-all.jar
. - (OPTIONAL) If you wish to have regions, download the CSV of the regions from this Git repo and upload them to the
regions
collection made in your Mongo after starting the server. Once you have done this restart your server. - (OPTIONAL) If you wish to have fairy souls, download the CSV of the fairy souls from this Git repo and upload them to the
fairysouls
collection made in your Mongo after starting the server. Once you have done this restart your server. - (OPTIONAL) If you wish to have the Hub crystals (you can also just
/addcrystal
), download the CSV of the collections from this Git repo and upload them to thecrystals
collection made in your Mongo after starting the server. Once you have done this restart your server. - (OPTIONAL) If you wish to have Songs on your server, copy the
songs
folder from here, and put it inside of your configuration folder.
- Due to the nature of SkyBlock, there may be a variety of services that need to be ran. Go to the releases page here and download any .JAR files that start with
Service
. - Move these JAR files into the same directory as your Game Servers, they will share the configuration JSON with the services.
- Run them using
java -jar {Insert the JAR file}
.
- In preparation for SkyBlock version 1, we already have a resource pack system setup. To start, download the
SkyBlockPacker.jar
from the releases page here. - Download the pack_textures and SkyBlockPack folders and move them where the packer JAR is.
- Run the packer JAR using
java -jar SkyBlockPacker.jar -v (Location of SkyBlockPack) -o (Output Directory) -t (Location of Pack Textures)
. - Once this has finished, you should have a resource pack in the output directory you specified. Merely apply this on Minecraft and you'll be good to go.
Thanks to:
- All the lovely people in the Minestom discord for single-handedly carrying all of my knowledge about this API.
- Myself and any other contributors, which can be viewed on this Git page.