Portel
Host a simple website in you're minecraft server.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
Portel
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.