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:latest
Open 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 up
Open 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_PATH
to the relative or absolute path of your servers.
- create the
- Run
npm run start
and openhttp://[your ip]:8081
in 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:latest
or 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 up
Prerequisites:
- Git
- Docker
- Docker Compose
Run the following commands:
git clone https://github.com/jojomatik/blockcluster
cd blockcluster
To build for production, run the following command:
docker-compose up
Open 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 up
Open 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 --build
Prerequisites:
- 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 install
To build for production, run the following commands:
npm run build_all
npm run start
Open 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 serve
Open 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
.