Node.js
: For running code (v20
)Rust
: For skin rendering (v1.72.0
)pnpm
: Installing packages and running scripts (npm install -g pnpm
)MongoDB
: For Persistent data (Atlas
)Redis
: For Leaderboards (Redis Cloud
)RediSearch
: For Autocomplete optionalHypixel API Key
: For requesting Hypixel data, create an API Key on developer.hypixel.net
- Currently we supply public assets for development as a git submodule
- In addition, you must provide a 1.8.9 texture pack in the
assets/public/minecraft-textures/default
- The codebase is split into apps and packages
- Set up a
config.js
file in the root of the project following theconfig.schema.js
file (copy paste it over and fill it in) - Pull the git submodules (
git submodule update --init
) - Set up the assets by running
cd assets/public && pnpm
- Use
pnpm build
to build all packages and apps, - Use
pnpm build:watch
to watch files and build them while you code - Use
pnpm {appName} start
to run an app, egpnpm api start
to run the API
# Change things in a package/app
$ pnpm workspace {app or package name} {command}
# Example: Adding a dependency
$ pnpm workspace {app or package name} add {dependency}
# Linting
$ pnpm lint
# Testing
$ pnpm test
# Type Testing
$ pnpm test:types
- Follow the guidelines in
.github/CONTRIBUTING.md
- If you are unsure of anything join our
Discord
and then message,@jacobkoshy
- If you require support join our
Discord
and create a ticket in the#create-ticket
channel