Webservice to start a mc server from remote
  • Rust 64.8%
  • CSS 15%
  • HTML 14%
  • Shell 6.2%
Find a file
2026-06-08 14:15:15 +02:00
assets refactor: change project structure 2026-06-04 00:15:58 +02:00
scripts feature: implement memory usage display 2026-06-04 23:32:15 +02:00
src fix: change example .env 2026-06-08 14:15:15 +02:00
templates feature: implement memory usage display 2026-06-04 23:32:15 +02:00
.env.example fix: change example .env 2026-06-08 14:15:15 +02:00
.gitattributes Initial commit 2026-05-20 22:00:26 +02:00
.gitignore feature: rework script running system and polish codebase 2026-05-24 12:36:21 +02:00
Cargo.lock feature: implement memory usage display 2026-06-04 23:32:15 +02:00
Cargo.toml feature: implement memory usage display 2026-06-04 23:32:15 +02:00
README.md chore: run clippy and change README and .env.example 2026-06-04 16:14:25 +02:00

MCKO - Minecraft Control

MCKO is a small Rust web application for controlling a personal Minecraft server from a browser.

MCKO is designed for personal use only. It is not hardened for public-facing deployments.

Features

  • Web interface for controlling a specific Minecraft server
  • Simple dashboard with start and stop controls
  • Configurable server directory and startup script
  • Environment-based configuration

Tech Stack

  • Rust
  • Axum
  • Askama
  • HTMX
  • rcon

Requirements

  • Rust toolchain installed on the host machine
  • Java installed on the host machine
  • A Minecraft server folder and jar
  • A server startup script, such as start_server.sh
  • The included example scripts use tmux. You can replace them with scripts for Docker, systemd, PowerShell, batch files, or another server setup

Installation

Clone the repository:

git clone https://github.com/Pcko/MCKO
cd MCKO

Create a .env file in the project root (use .env.example as reference):

Example:

# MCKO Server
# SERVER_HOST=127.0.0.1
# SERVER_PORT=3000
SECRET_HASH='$argon2id$v=19$m=19456,t=2,p=1$replace-with-generated-hash'

# MC Server 
# MC_HOST=127.0.0.1
# MC_PORT=25565
MC_SERVER_DIR=/path/to/minecraft/server
MC_SERVER_JAR=server.jar
MC_JAVA_ARGS=-Xms2G -Xmx6G

# Scripts
MC_START_SCRIPT=./scripts/start_server.sh
MC_STOP_SCRIPT=./scripts/stop_server.sh
MC_TMUX_SESSION=mcko

# RCON 
RCON_ENABLED=true
# RCON_HOST=127.0.0.1
# RCON_PORT=25575
RCON_PASSWORD=your-rcon-password

Scripts can be .bat,.sh or .cmd

Secrets need to be hashed (use argon2 with these settings : $argon2id$v=19$m=19456,t=2,p=1$<salt>$<hash>)

MCKO offers a util to create these hashes:

cargo run --bin secret-hash <secret>

Running the App

Start the application with:

cargo run setup
cargo run