An in-browser manager for your minecraft servers.
- Start and stop servers
- Automatically pause empty servers and unpause as soon as a client connects
- View current status and online players
- Show resource usage
- View console log and send commands
- Select different java runtimes (See also: "Adding custom java runtimes")
- Change start flags
- Start servers with backend
- Show server favicon to differentiate servers easier
- Authentication
- Create servers and download server jars
Prerequisites:
- Docker
Customize /path/to/servers/on/host/machine and the port directives -p port:port to your liking and run:
docker run -d -v /path/to/servers/on/host/machine:/usr/games/blockcluster/servers -p 8081:8081 25565-25569:25565-25569 jojomatik/blockcluster:latestOpen http://[your ip]:8081 in your browser.
Prerequisites:
- Docker
- Docker Compose
Download docker-compose.yml and customize it to your liking and add a volume mount to your servers on the host machine. E.g.:
version: "3.9"
services:
manager:
ports:
- 8081:8081
- 25565:25565
image: jojomatik/blockcluster
volumes:
- /path/to/servers/on/host/machine:/usr/games/blockcluster/servers
Then run the following command:
docker-compose upOpen http://[your ip]:8081 in your browser.
Prerequisites:
- Git
- Node.js (v16+) and npm (v8+)
- Java (to run the minecraft servers)
- First build the app using the instructions from "Building manually".
- Either
- create the
servers/subdirectory and move your servers into it or - set the environment variable
SERVER_PATHto the relative or absolute path of your servers.
- create the
- Run
npm run startand openhttp://[your ip]:8081in your browser.
By default, the docker image based on docker-compose.yml and the Dockerfile includes java 11, java 17, java 21 and java 25, with java 25 as the default. Those are the most relevant LTS java version for running minecraft servers (see #150 for more details).
All java runtimes in the PATH environment variable will be discovered and presented as an option in the frontend.
Mount additional java runtimes in the /opt/java-xx directory.
With the docker run command:
docker run -d -v /path/to/servers/on/host/machine:/usr/games/blockcluster/servers -v /path/to/java-xx/on/host/machine:/opt/java-xx -p 8081:8081 25565-25569:25565-25569 jojomatik/blockcluster:latestor with docker-compose
version: "3.9"
services:
manager:
ports:
- 8081:8081
- 25565:25565
image: jojomatik/blockcluster
volumes:
- /path/to/servers/on/host/machine:/usr/games/blockcluster/servers
- /path/to/java-xx/on/host/machine:/opt/java-xx
docker-compose upPrerequisites:
- Git
- Docker
- Docker Compose
Run the following commands:
git clone https://github.com/jojomatik/blockcluster
cd blockclusterTo build for production, run the following command:
docker-compose upOpen http://[your ip]:8081 in your browser.
To enable hot reloads, configure a file watcher for the TypeScript files in the backend/src directory to run npm run build in the backend directory and run the following command:
docker-compose -f docker-compose.yml -f docker-compose.dev.yml upOpen http://[your ip]:8081 in your browser.
To make sure that the container is recreated and the image rebuilt, use either command with additional options, e.g.:
docker-compose up --force-recreate --buildPrerequisites:
- Git
- Node.js (v16+) and npm (v8+)
- Java (only to run the minecraft servers)
Run the following commands:
git clone https://github.com/jojomatik/blockcluster
cd blockcluster
npm install
cd backend && npm installTo build for production, run the following commands:
npm run build_all
npm run startOpen http://[your ip]:8081 in your browser.
To enable hot reloads, configure a file watcher for the TypeScript files in the backend/src directory to run npm run build in the backend directory and run the following command:
npm run serveOpen http://[your ip]:8081 in your browser.
This project is licensed under the GNU Affero General Public License v3.0 (AGPL 3.0) or later. See also LICENSE.
