<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?
- **Simplicity:** 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.
- **Performance:** 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.
- **Customization:** 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.
- **Security:** Portel includes a whitelist/blacklist system to control access to your website. It also has a rate-limiting feature to prevent DoS attacks.
- **Real-time updates:** Changes to your website files are reflected in real-time with the `/portel reload` command.
- **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
# The port the web server runs on.
port: 8080
# The file that gets served when you access the root URL.
index-file: index.html
rate-limiting:
enabled: true
delay: 1000 # The delay in milliseconds between requests from the same IP address
# Whitelist/Blacklist configuration
# If is_whitelist_on is true, only IPs in the ip_list will be allowed.
# If is_whitelist_on is false, IPs in the ip_list will be blocked.
is_whitelist_on: false
ip_list: []
logging:
console: false
ip: true
```
## Commands
- `/portel help` - Shows the help message.
- `/portel restart` - Restarts the web server.
- Permission: `portel.restart`
- `/portel reload` - Reloads the configuration.
- Permission: `portel.reload`
<div align="center">
<img src="
https://github.com/Skullmc1/Portel/raw/main/images/ingame.png" alt="Portel Logo" width="800"/>
</div>