This guide will walk you through the process of installing and running BlueDragon software directly on the host machine.
Prerequisites
This guide assumes you’re running on Linux. Other operating systems are not supported; though, you may be able to get it working on WSL.
You must have Java 21 or later installed on your system and accessible in your PATH.
Installation
First, clone the source repositories for the server, Puffin, and Komodo.
Next, build each project:
Then, copy the JARs into the appropriate directories:
Download Velocity:
Install some plugins for your Velocity proxy:
Then, build your games as JAR files and place them in the /run/server/games directory. For more details on this, see Creating a Game or the Example Game.
Dependencies
The BlueDragon server, proxy, and Puffin require MongoDB and LuckPerms to be installed and running on your system. The easiest way to install these is to use Docker:
If you prefer to run them without Docker, you can install them manually:
By default, LuckPerms does not give any permissions to anyone. To give yourself permissions, run the following command in a terminal:
Then, when you see the prompt, type in lp user <your username> permission set * true. This will give you every permission. You may need to log in to the Minecraft server before running this command.
After you change permissions this way, you must restart your standalone LuckPerms instance for the change to take effect.
Puffin
Puffin reads the following configuration from environment variables:
In addition, it reads configuration from the following files:
These must be present for Puffin to work properly.
Proxy
First, configure environment variables:
Komodo (the Velocity proxy plugin) reads the following configuration files:
/run/proxy/plugins/komodo/proxy-config.properties defines the MOTD:
Updating this file while the proxy is running should change the MOTD without needing to restart the proxy.
/run/proxy/favicon_64.png is the image shown in server list pings. This file is optional.
In addition, you must create a forwarding.secret file in the /run/proxy folder with your forwarding secret.
To play note block songs, add .nbs files created with Note Block Studio to the /run/proxy/plugins/bluedragon-jukebox/songs directory.
You should be able to see the songs by typing /play in-game.
Finally, change the port that Velocity runs on since 25565 is taken by the Minecraft server. You can do this by starting up Velocity (cd /run/proxy && java -jar velocity.jar) and letting it create a velocity.toml file. Then, change the bind property. Players will connect to your server using this address.
Minecraft Server
BlueDragonMC/Server reads its configuration from environment variables. Follow this guide to set them up.
Here is an example:
LuckPerms
LuckPerms can be configured using environment variables:
Common Configuration
Both Puffin and the Minecraft server need a /data directory.
The /data/worlds directory should be configured as documented here.
Running
Before starting anything else, make sure LuckPerms and MongoDB are running!