๐ Minecraft Server Panel
A sleek and modern Minecraft server manager built with Nuxt for ease of use. Features include live console output via log polling, full server configuration, and intuitive control โ all from your browser.
๐ Features
-
๐ฅ๏ธ Manage Multiple Servers
Add, edit, start, and stop Minecraft servers through a modern web interface. -
๐ฎ Server Configuration
Configure difficulty, game mode, max players, render/simulation distance, PVP toggle, command blocks, and more. -
๐ก Live Console Output
Real-time output is streamed by polling thelogs/latest.logfile โ no need for RCON or WebSockets. -
๐ Password-Protected Admin Access
Protect access to the panel using a configurable admin password. -
๐งญ Modern UI/UX
Fully responsive dark interface designed with Tailwind CSS and Nuxt 3. -
๐พ Persistent Settings
All server configurations are saved and restored between sessions.
โ๏ธ Server Configuration Options
- Difficulty:
peaceful,easy,normal,hard - Game Mode:
survival,creative,adventure,spectator - Slots: Max player count
- Render Distance & Simulation Distance: In chunks
- Booleans: Enable/disable PVP, command blocks, etc.
- Extras: Upload a custom server banner image
๐งช Tech Stack
- Frontend: Nuxt 3 + Tailwind CSS
- Backend: Node.js via Nuxt server routes (for serving the panel and handling server commands)
- Real-Time Console: Filesystem polling of
logs/latest.log(no need for RCON or WebSockets) - Minecraft Integration: Designed for Vanilla- or Plugin-Server JARs (like Spigot or Bukkit)
๐ฆ Getting Started
Prerequisites
- Node.js โฅ 16
- Java 17+ (for running Minecraft)
- Minecraft server JAR (e.g.
paper-1.20.6.jar) - PM2 for process management (optional but recommended)
Installation
git clone https://code.weexnes.dev/minecraft_server_manager
cd minecraft_server_manager
npm install
Development Mode
npm run dev
๐ Admin Password Setup
By default, the admin password is admin.
To change it, you can use the System Settings page within the panel, or manually edit the settings.json file located in ~/.mcservermanager/settings.json.
If editing manually, the password must be a bcrypt hash. You can generate a bcrypt hash for your desired password using the included script:
npm run password_gen <your_password>
This will output a hash that you can copy and paste into the settings.json file.
๐ Production Mode (PM2)
- Build the app:
npm run build
- Start it with PM2:
pm2 start
This uses the configuration in ecosystem.config.js to launch the Nuxt server from the build output.
๐ Security
This panel is intended for local or LAN use If hosting publicly:
- Use HTTPS with a reverse proxy (e.g. Nginx or Caddy)