69 lines
4.0 KiB
Markdown
69 lines
4.0 KiB
Markdown
# HyperMC Panel
|
|
|
|
Welcome to **HyperMC Panel**, a powerful and user-friendly web-based control panel for managing Minecraft servers within the My-MC Infrastructure with ease. Built with modern technologies like Node.js, Express, WebSocket, and Docker, this panel provides real-time server monitoring, mod management, player administration, and seamless integration with Minecraft server features. Whether you're a server admin or a casual player, HyperMC Panel simplifies server management with an intuitive interface and robust functionality.
|
|
|
|
Note: This repository is not designed for use in self-hosted environments, as its core components rely on our internal APIs and Docker infrastructure.
|
|
The code is provided for research and learning purposes. You're welcome to fork, download, and modify it to meet your needs!
|
|
|
|
|
|
## Features
|
|
|
|
- **Real-Time Monitoring**: Track server status, CPU, and memory usage with live-updating charts powered by Chart.js.
|
|
- **Server Control**: Start, stop, restart, and edit server properties (`server.properties`) directly from the panel.
|
|
- **Player Management**: Kick, ban, op, deop, send private messages, and give items to players with pre-configured loadouts or custom items.
|
|
- **Mod Management**: Search, install, and uninstall mods effortlessly with an integrated mod search system.
|
|
- **Console Access**: Send RCON commands and view real-time server logs in a sleek terminal interface using xterm.js.
|
|
- **Link Generation**: Create temporary connection links for Minecraft, Geyser (Bedrock support), and SFTP access with status indicators.
|
|
- **Docker Integration**: Manage Docker containers for your Minecraft server, including stats and logs.
|
|
- **WebSocket Communication**: Ensures low-latency, real-time updates for all server activities.
|
|
- **Secure Authentication**: API key-based login with temporary auto-login links for admins.
|
|
- **Responsive Design**: A modern, Tailwind CSS-styled interface that works seamlessly on desktop and mobile devices.
|
|
|
|
## Tech Stack
|
|
|
|
- **Backend**: Node.js, Express.js, WebSocket (ws), Dockerode, node-fetch, unirest
|
|
- **Frontend**: HTML, JavaScript, Tailwind CSS, Chart.js, xterm.js, FitAddon
|
|
- **Environment Management**: dotenv for configuration
|
|
- **Other Tools**: crypto for secure link generation, child_process for executing status checks
|
|
|
|
## Prerequisites
|
|
|
|
- **Node.js** (v16 or higher)
|
|
- **Docker** (for container management)
|
|
- **Git** (to clone the repository)
|
|
- A running Minecraft server with Docker support
|
|
- Access to an authentication endpoint for API key generation
|
|
- Environment variables configured (see [Configuration](#configuration))
|
|
|
|
## Folder Structure
|
|
|
|
```
|
|
├── public/
|
|
│ ├── css/
|
|
│ │ └── styles.min.css # Compiled Tailwind CSS
|
|
│ ├── favicon/ # Favicon assets
|
|
│ └── index.html # Main HTML file
|
|
├── includes/
|
|
│ ├── api.js # API request handling
|
|
│ ├── auth.js # Authentication and login link logic
|
|
│ ├── docker.js # Docker-related functions
|
|
│ ├── status.js # Connection status checking functions
|
|
│ ├── websocket.js # WebSocket connection handling
|
|
├── index.js # Main server entry point
|
|
├── app.js # Frontend JavaScript logic
|
|
├── .env # Environment variables (not tracked)
|
|
├── package.json # Node.js dependencies
|
|
└── README.md # Project documentation
|
|
```
|
|
|
|
## Acknowledgments
|
|
|
|
- **Chart.js**: For beautiful, responsive charts.
|
|
- **xterm.js**: For the terminal interface.
|
|
- **Tailwind CSS**: For the sleek, modern UI.
|
|
- **Dockerode**: For seamless Docker integration.
|
|
- **SNXRaven**: For creating this project with ❤️ ([raven-scott.fyi](https://raven-scott.fyi)).
|
|
|
|
## Contact
|
|
|
|
For questions, issues, or suggestions, please open an issue on the [repository](https://git.ssh.surf/hypermc/panel) or contact the maintainer at [raven-scott.fyi](https://raven-scott.fyi). |