Portel
Host a simple website in you're minecraft server.
Portel
<div align="center"> <img src="https://github.com/Skullmc1/Portel/raw/main/images/Heading.png" alt="Portel Logo" width="800"/> </div>
Websites hosted directly on Minecraft servers
Portel is a Minecraft plugin that allows you to host a simple website directly from your server. It starts a lightweight web server that serves files from a folder within the plugin's configuration directory.
Why use Portel?
- No external hosting required: Portel is designed to be easy to use. Simply drop the plugin into your server's `plugins` folder and you're ready to go. No complex setup or configuration required. - No external hosting required: Portel is built to be lightweight and efficient. It uses Java's built-in HTTP server to minimize resource usage, ensuring that your server's performance is not affected. - No external hosting required: Portel gives you full control over your website. You can create your own HTML, CSS, and JavaScript files to build a unique website that reflects your server's identity. You can also create custom error pages for 403, 404, and 429 errors. - No external hosting required: Portel includes a whitelist/blacklist system to control access to your website. It also has a path-traversal protection and a rate-limiting feature to prevent abuse. - No external hosting required: Changes to your website files are reflected in real-time with automatic No external hosting required:. - No external hosting required: Host your website directly on your Minecraft server, eliminating the need for a separate web hosting service.
Configuration
The configuration file is located at `plugins/Portel/config.yml`.
```yaml port: 8080 websocket-port: 8081 index-file: index.html
Automatically clear cache when files in web/ directory are modified.
hot-reloading: true
ssl: enabled: false keystore-path: "keystore.jks" keystore-password: "password"
websocket:
Enable web users to send messages to the Minecraft server
allow-web-to-game-chat: true
Formatting for web-to-game messages
chat-prefix: "[Web] " prefix-color: "DARK_PURPLE" message-color: "LIGHT_PURPLE"
logging:
Enable console logging
console: true
Enable IP logging to a file
ip: true
File name for IP logging
ip-log-file: "ips.log" ```
Commands
- `/portel help` - Shows the interactive help message. - `/portel restart` - Restarts the web server. - Permission: `portel.restart` - `/portel reload` - Reloads the configuration. - Permission: `portel.reload` - `/portel version` - Displays the current version. - `/portel whitelist <add/remove/list/on/off> [ip]` - Manage IP access. - Permission: `portel.admin`
Guides
- WebSocket Support - Learn how to use the real-time chat feature. - PlaceholderAPI Support - Integrate dynamic server information into your web pages. - HTTPS/SSL Support - Secure your web server with SSL certificates.
Building from source
To build the plugin from source, you will need to have Java 21 and Gradle installed.
1. Clone the repository: `git clone https://github.com/Skullmc1/Portel.git` 2. Navigate to the project directory: `cd Portel` 3. Build the plugin: `./gradlew shadowJar`
The compiled `.jar` file will be located in the `build/libs` directory.
Contributing
Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or create a pull request.
License
This project is licensed under the MIT License - see the LICENSE file for details. <div align="center"> <img src="https://github.com/Skullmc1/Portel/raw/main/images/ingame.png" alt="Portel Logo" width="800"/> </div>