OpenMCPanel

by SpikeHD

Create, manage, and monitor one, few, or many Minecraft servers using a web-based UI.

About

Create, manage, and monitor one, few, or many Minecraft servers using a web-based UI. Powered by itzg/docker-minecraft-server.
https://discord.gg/agQ9mRdHMZ

Table of Contents

Features

  • One-Click Server Deployment - Deploy a Minecraft server with a single click.
  • Multiple Server Type Support - Vanilla, Spigot, Paper, Fabric, etc. are all supported. Modpacks and mod lists are also supported!
  • Simple Server Management - Start and stop, manual and scheduled backups, on-the-fly command running, and more.
  • Realtime Monitoring - Keep track of player count, memory usage, and more.

Get Started

Prerequisites

Steps

  1. Download the latest release and extract it (you can also download an Actions build): ```bash

Windows

curl -L "https://www.github.com/SpikeHD/OpenMCPanel/releases/latest/download/omcp_win64.zip" -o omcp.zip unzip omcp.zip

Linux/MacOS

curl -L "https://www.github.com/SpikeHD/OpenMCPanel/releases/latest/download/omcp_linux64.tar.gz" -o omcp.tar.gz tar -xzf omcp.tar.gz ```

  1. Run the binary: ```bash

Windows

./omcp.exe --help

Linux/MacOS

./omcp --help ```

[!NOTE] If you'd just like to play around with OpenMCPanel, you can specfiy --address <your_external_ip> which will expose the server (INSECURELY, no HTTPS!) to the web without the need for a reverse proxy. This is NOT recommended for anything more than brief testing.

You can also (again, SUPER INSECURE, only use this for testing/evalutation) specify --no-auth to disable the username/password requirement. Again, this is NOT recommended for anything more than brief testing.

  1. After reviewing the options, start the server with a configuration of your liking: ```bash

Windows

./omcp.exe --log omcp.log --port 8080 --username Tester

Linux/MacOS

./omcp --log omcp.log --port 8080 --username Tester ```

  1. Open your web browser and navigate to http://localhost:[PORT] to access the panel! You are ready to deploy!

If you need to access the web interface remotely, make sure to configure your webserver to reverse-proxy to the port you specified

Building

Prerequisites

Steps

  1. Clone the repository: bash git clone https://github.com/SpikeHD/OpenMCPanel.git cd OpenMCPanel

  2. Install the dependencies: bash cd web npm install

  3. Build the project: ```bash

Build the frontend

npm run build

Build the backend

cd .. cargo build --release ```

Your binary will be located at target/release/omcp.

Recommendations

  • fail2ban - Protect from brute force attacks

TODO

  • [ ] Multilingual support
  • [ ] Remote Docker host support
  • [ ] Custom .jar support

Contributing

Issues, PRs, etc. are all welcome!

Screenshots

Click to expand ![image](https://github.com/SpikeHD/OpenMCPanel/assets/25207995/9bcb5a02-f914-4b79-9f1c-3ccf9adce331) ![image](https://github.com/SpikeHD/OpenMCPanel/assets/25207995/fecb8ba4-95e6-4499-806b-e4a707252af5) ![image](https://github.com/SpikeHD/OpenMCPanel/assets/25207995/bde6c815-7285-48ca-9495-c529e3a5432c)