
Portel
Host a simple website in you're minecraft server.
- Загрузки
- 112
- Подписчики
- 3
- Обновлён
- 15 марта 2026 г.
- Лицензия
- MIT
Опубликован 3 ноября 2025 г.
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
pluginsfolder 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 path-traversal protection and a rate-limiting feature to prevent abuse.
- Real-time updates: Changes to your website files are reflected in real-time with automatic Hot-Reloading.
- 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.
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
- Permission:
/portel reload- Reloads the configuration.- Permission:
portel.reload
- Permission:
/portel version- Displays the current version./portel whitelist <add/remove/list/on/off> [ip]- Manage IP access.- Permission:
portel.admin
- Permission:
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.
- Clone the repository:
git clone https://github.com/Skullmc1/Portel.git - Navigate to the project directory:
cd Portel - 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.
Ченджлог
1.6.1Релиз1.21.9, 1.21.10, 1.21.11 · 15 марта 2026 г.
[1.6.1]
Added
- Minimalist UI: Completely redesigned the web interface with a focus on typography, intentional whitespace, and a unique aesthetic.
- Clickable Commands: The /portel help menu now features fully interactive, clickable subcommands and links.
- SmallFont Consistency: Applied SmallFont formatting across all in-game messages and command outputs.
- Source Filtering: Added source tracking to WebSocket messages to prevent duplicate display on the web interface.
Changed
- Refactored PortelCommand to use the Adventure Component API for more robust event handling.
- Cleaned up console output by removing verbose debug and serving logs.
- Organized project documentation into a dedicated guides/ directory.
[1.6.0]
Added
- Hot-Reloading: Added a FileWatcher service that automatically clears the internal web cache when files in the web/ directory are modified, created, or deleted. No more manual restarts needed after editing assets!
- Added hot-reloading toggle in config.yml.
Changed
- Refactored onDisable and reload logic to properly manage asynchronous services.
[1.5.0]
Added
- Shared SSLUtils to unify SSL configuration between Web and WebSocket servers.
- Configurable chat prefix and colors for web-to-game messages.
- In-memory static file caching for faster asset delivery.
- Asynchronous cleanup task for the RateLimiter to prevent memory growth.
- Thread pool (10 threads) for the web server to handle concurrent requests better.
Fixed
- Security: Blocked unauthenticated web-to-game chat injection via a new toggle.
- Security: Implemented strict path validation to prevent Path Traversal attacks.
- Security: Added HTML escaping to PlaceholderAPI output to prevent XSS.
- Fixed a bug where default assets were overwritten on every startup.
- Synchronized IP logging to prevent thread-safety issues and file corruption.
- Renamed ips.yml to ips.log and made the log file name configurable.
1.4.5Релиз1.21.8, 1.21.9, 1.21.10 · 1 декабря 2025 г.
- PlaceholderAPI support to display server values on web.
- HTTPS/SSL verification
- More file types supported to parsing to web
- Some new commands
Guides for placeholder api support and https/ssl verification are on Github repo
1.4.3Релиз1.21.8, 1.21.9, 1.21.10 · 1 декабря 2025 г.
- Added websocket support
- You can create live integrations with the server now
- Like basically website to server communication
Guide on github.
1.4.2Релиз1.21.8, 1.21.9, 1.21.10 · 17 ноября 2025 г.
Huge skip to version 1.4.2 Minor versions will not be uploaded. Changelogs will be on the git repo not here.
1.1.1Релиз1.21.8, 1.21.9, 1.21.10 · 17 ноября 2025 г.
Added a small rate limiter for security
Added a /portel restart command for convenience
1.0.0Релиз1.21.8, 1.21.9, 1.21.10 · 3 ноября 2025 г.
Portel Release!
Features right now:
- Host HTML files with css,js.
- Use graphical assets.
- Change the port it's hosted on.
- Change the home page destination.
Please note that this is the first iteration of this so this only has the barebone features right now.
If you think this is good or wants this to get new updates contact me on discord
Spoiler
My discord username - v_late
Комментарии
Загружаем…