A high-performance Go backend API for SkyCrypt, providing statistics and data processing for Hypixel SkyBlock players.
Originally inspired by LeaPhant's skyblock-stats.
Website: https://sky.shiiyu.moe
Development Website: https://cupcake.shiiyu.moe
Frontend: SkyCrypt-Frontend
- Go 1.25.1 or later
- Redis 7.0 or later
- MongoDB 6.0 or later
- Git (for submodule initialization)
The following instructions are written for Arch Linux. Adjust package manager commands accordingly for other distributions.
Update your system and install essential build tools:
sudo pacman -Syu
sudo pacman -S base-devel gitInstall Go from the official Arch Linux repositories:
sudo pacman -S goVerify the installation:
go versionInstall Redis:
sudo pacman -S redisEnable and start the Redis service:
sudo systemctl enable redis
sudo systemctl start redisVerify Redis is running:
redis-cli pingExpected output: PONG
Install MongoDB from the AUR. Using an AUR helper such as yay:
yay -S mongodb-binAlternatively, build from source:
git clone https://aur.archlinux.org/mongodb-bin.git
cd mongodb-bin
makepkg -siEnable and start the MongoDB service:
sudo systemctl enable mongodb
sudo systemctl start mongodbVerify MongoDB is running:
mongosh --eval "db.runCommand({ ping: 1 })"Create a .env file in the project root directory. Use .env.example as a template:
cp .env.example .envEdit the .env file with your configuration:
HYPIXEL_API_KEY=""
DISCORD_WEBHOOK=""
DEV="true"
ENABLE_ARMOR_HEX="false"
MONGO_URI="mongodb://localhost:27017"
MONGO_DB_NAME="SkyCrypt"| Variable | Description | Default | Required |
|---|---|---|---|
HYPIXEL_API_KEY |
Your Hypixel API key. Obtain from Hypixel Developer Portal | - | Yes |
DISCORD_WEBHOOK |
Discord webhook URL for error notifications and startup messages | - | No |
DEV |
Enable development mode. Set to true for local development |
false |
No |
ENABLE_ARMOR_HEX |
Enable hexadecimal armor color support | false |
No |
MONGO_URI |
MongoDB connection URI | mongodb://localhost:27017 |
No |
MONGO_DB_NAME |
MongoDB database name | SkyCrypt |
No |
REDIS_HOST |
Redis server hostname | localhost |
No |
REDIS_PORT |
Redis server port | 6379 |
No |
REDIS_PASSWORD |
Redis authentication password | - | No |
Clone the repository with submodules:
git clone --recurse-submodules https://github.com/SkyCryptWebsite/SkyCrypt-Backend.git
cd SkyCrypt-BackendIf you have already cloned the repository without submodules:
git submodule update --init --recursiveDownload Go dependencies:
go mod downloadRun the application:
go run main.goIf the NotEnoughUpdates-REPO directory is empty:
git submodule update --init --recursive