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+)
- TypeScript installed globally (
npm install -g typescript) - 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 and java 17. 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 tsc 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+)
- TypeScript installed globally (
npm install -g typescript) - 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 tsc 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.
