Перейти к содержимому
Mineforgian

Portel

Host a simple website in you're minecraft server.

Загрузки
112
Подписчики
3
Обновлён
15 марта 2026 г.
Лицензия
MIT

Опубликован 3 ноября 2025 г.

Portel Logo

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 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
  • /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

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.

Portel Logo

Ченджлог

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

Комментарии

Загружаем…