This is a Minestom-implementation of a Hypixel-SkyBlock recreation hosted on my server at discord.gg/paper. 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.21.8 recreation of HypixelSkyBlock utilizing Minestom, with the intention of actually having a properly abstracted, scalable codebase. This project is sisters with the HypixelForums project and optionally, can be used together.
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/paper.
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 MongoDB, 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 21SDK installed. - Start a Redis server, if you're on Windows you can run an installer here
- Follow the 'Proxy Setup Guide' below. (Note, if you want to run a cracked server, you must set "require-authentication" to true in your config)
- Follow the 'Game Server Setup Guide' below. (Note, if you want to run a cracked server, you must set "require-authentication" to true in your config)
- 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 -> profiles and set your rank to "ADMIN". If there is not a rank field, create one just like
rank: ""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.tomlfrom here and move it to where you want your Proxy server to run. - Move your Velocity proxy JAR into that folder as well, and run the proxy using
java -jar velocity-3.4.0-SNAPSHOT-528.jaras a command in that directory. - Close this proxy once it has generated the
pluginsfolder, just by pressingCTRL + Cor closing the CMD Prompt. - Move the
SkyBlockProxy.jarfrom earlier into the plugins' folder. - Make a new folder where your
velocity.tomlis and call itconfiguration - Download
resources.jsonfrom here - Move this file into the
configurationfolder you just made. - Start the proxy again using
java -jar velocity-3.4.0-SNAPSHOT-528.jar. This will need to be on for your game servers to work.
- Download 'HypixelCore.jar' from the releases page here
- Make a folder called
configurationin the same directory as the JAR file. (Note this should be placed differently to where your Proxy is) - Download
resources.jsonfrom here - Move this file into the
configurationfolder you just made. - Create a folder called
skyblockin the existing configuration folder. - Download the world files for the SkyBlock Hub, Prototype Lobby, and Island worlds.
- Get the Hypixel SkyBlock hub from the above download and put it in the configuration/skyblock/islands/ folder you made under the name
hypixel_skyblock_hub, and the Island Template underhypixel_skyblock_island_template. - Get the Prototype lobby from the above download and put it in the configuration folder under the name
hypixel_prototype_lobby.. - Get the item and collection folders from here and put them into your configuration/skyblock/ folder.
- There should be a
forwarding.secretfile where your Velocity JAR is, take this and put it into yourresources.jsonundervelocity-secret. - Run the jar using
java -jar {Insert the JAR file} SKYBLOCK_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.jarfrom here, and download its configuration file from the same place. Start it in the background usingjava -jar NanoLimbo-1.9.8.jar. After running, asettings.ymlfile will be generated. Open it and scroll down till you seesecret: ''. Put your velocity forwarding secret in there. Make sure that thetypeis set toMODERN. - Download
Minestom.regions.csvfrom here and upload them to theregionscollection made in your Mongo after starting the server. Once you have done this restart your server. - If you wish to have fairy souls, download
Minestom.fairysouls.csvfrom here and upload them to thefairysoulscollection made in your Mongo after starting the server. Once you have done this restart your server. - If you wish to have the Hub crystals (you can also just
/addcrystal), downloadMinestom.crystals.csvfrom here and upload them to thecrystalscollection 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
songsfolder from here, and put it inside your configuration folder.
- Due to the nature of SkyBlock, there may be a variety of services that need to be run. 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}.
- Ensure that your API service is running.
- Follow the steps found at the HypixelForums repository.
- In preparation for SkyBlock version 1, we already have a resource pack system setup. To start, download the
SkyBlockPacker.jarfrom 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.
- Install the git repository using `git clone https://github.com/Swofty-Developments/HypixelSkyBlock.git
Most parts about downloading and setting up files will be automated for you, but you will need to add the following files to the configuration folder:
-
Download the world files for the Hub and Island worlds. Make sure they are named as world.zip
-
In your configuration file Remove the default
resources.jsonand renameresources.json.dockertoresources.json
- (Recommended) Install Docker Desktop from here.
- Open Docker Desktop/Docker and ensure that it is running.
- Open a terminal and navigate to the directory where you cloned the repository.
- Run the following command to build and run the containers (Your Server):
docker-compose up --build- If you want to run the server in detached mode, you can use the
-dflag:
docker-compose up --build -dNote: If you have already run the server before with
docker-compose up --buildyou can just rundocker-compose upto start the server without rebuilding the images making it faster.
- To stop the containers, you can use:
docker-compose downOr click the stop button in Docker Desktop.
To add new servers like the Hub, Islands or Farming Island follow these steps:
- Open the
entrypoint.shfile in theconfigurationfolder. - Add the following line to the end of the file, replacing
ServerTypewith the type of server you want to add (e.g.,SKYBLOCK_HUB,SKYBLOCK_ISLAND, etc.):
screen -dmS HypixelCore_HUB java --enable-preview -jar HypixelCore.jar ServerType- Save the file and run
docker-compose up --buildagain to apply the changes.
If you want to run services directly in the container you can attach to the container using:
docker-compose exec game_server /bin/bashor go to the exec tab in Docker Desktop.
and then run the service command inside there. It will create its own screen session for you to run the service in.
-
redis.clients.jedis.exceptions.JedisConnectionException: Failed to connect to any host resolved for DNS name.=> Your Memurai isn't running. If this can not be fixed, try out this instead.
-
Preview features are not enabled for... Try running with '--enable-preview'=> try
java --enable-preview -jar HypixelCore.jar {ServerType} -
Having issues connecting to the server?
=> Check if your velocity secret is the same everywhere including the limbo config.
-
You have strayed too far from the spawn! Teleporting you back...when joining an island?=> You didn't import your regions (correctly).
-
Still having issues?
=> Make sure that you followed everything correctly. If that didn't help, join our discord and ask for help in #code-help. Please provide screenshots of all your consoles!
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, who can be viewed HERE.