COWMODSКаталог модов

WebSiteCaptcha

WebsiteCaptcha is a Minecraft server plugin designed to enhance security by requiring players to verify themselves via a web-based CAPTCHA before accessing the main game world or server.

Автор: Noonenowhoiam4662обновлён 5 авг. 2026 г.
УправлениеТехнологииУтилиты

Описание

🛡️ WebsiteCaptcha

Secure Minecraft Player Verification via Embedded Web Server & REST API

License: GPL v3 Minecraft Version API Version Server Compatibility PacketEvents Database Custom Web


WebsiteCaptcha is a high-performance Minecraft server plugin designed to enhance server security by requiring players to verify themselves via a web-based CAPTCHA or external custom website before accessing the main game world.

It features an isolated packet-level Limbo world, an embedded web server, a secure REST API, and an SQLite database for persistent verification tracking.


Disclaimer

Note: WebsiteCaptcha is an experimental plugin developed as a security solution. Features such as the embedded web server, SQLite database, and timeout mechanics should be tested thoroughly in a controlled environment before deploying to live production servers. Contributions to enhance stability and performance are highly encouraged!


Plugin Information

WebsiteCaptcha protects your Minecraft server from bot attacks and unauthorized access by implementing a seamless CAPTCHA verification pipeline. Upon joining, unverified players are isolated in a virtual "Limbo" environment (powered by PacketEvents) where they must complete a CAPTCHA challenge on the built-in web server (default: localhost:8080) or your custom external website (Next.js, Node.js, PHP, etc.).

Once verified, players are seamlessly teleported back to the main game world with their inventory restored.

Key Features

  • Google reCAPTCHA Verification: Built-in web server with Google reCAPTCHA v2 support.
  • External Custom Website Support: Host your own external verification site (Next.js, React, Node.js, PHP) with Turnstile, Discord OAuth, or custom logic using Web_Type: "Custom" in config.yml.
  • Secure REST API & API Key System: Versioned REST API (POST /api/v1/verify & GET /api/v1/session/{id}) authenticated via X-API-Key and X-API-Secret headers with constant-time timing-attack defense, rate limiting, and audit logging (api_audit.log).
  • Console API Management: Manage API credentials strictly from the server console terminal using /webcapture api <create|remove|list>.
  • Single-Use Verification Sessions: Generates 256-bit secure token sessions (wks_...) valid for 5 minutes that transition atomically upon verification.
  • Virtual Limbo World: Unverified players are isolated in a virtual packet-level world with restricted permissions.
  • XP Bar Timer: Displays remaining verification time on the XP bar, decreasing smoothly until timeout.
  • Configurable Settings: Customize timeout duration, game mode, flight, blindness, network socket binding (bind_address), and inventory hiding via config.yml and api_config.yml.
  • Kick Delay: Displays a configurable warning message before kicking timed-out players.
  • Version Detection: Logs player Minecraft versions (1.8 to 1.21.4) using PacketEvents.
  • Persistent Storage: Stores verification timestamps and states in SQLite (verification.db).
  • Custom Templates & Documentation: Access complete Next.js website examples (website_example.zip) and full REST API documentation (api.txt) inside plugins/WebsiteCaptcha/example_custom_web/.

How It Works

  1. Player Joins: The server logs the player’s IP, username, and client version, then checks SQLite database verification status.
  2. Verification Check: If unverified or grace period has expired, the player enters Limbo and a 5-minute single-use VerificationSession is created.
  3. CAPTCHA Prompt: A clickable chat message provides a link to the built-in or custom external web verification page.
  4. Custom Website / API Verification: The external website verifies the player and sends a secure POST /api/v1/verify request with X-API-Key and X-API-Secret headers.
  5. Timeout Mechanism: An XP bar counts down; if time runs out, a kick message appears before disconnection.
  6. Success: Upon verification, the session is invalidated, and the player is released from Limbo to the main world with restored inventory.

Commands & Permissions

CommandUsage / DescriptionPermission / Sender
/webcapture api create <name> <creator>Generate a new API Key & Secret KeyConsole Only
/webcapture api remove <name>Remove an existing API KeyConsole Only
/webcapture api listList all registered API keysConsole Only
/webcaptcha helpShow the plugin help menuwebcaptcha.help / OP
/webcaptcha reloadReload configuration fileswebcaptcha.reload / OP
/webcaptcha portcheck <ip> <port>Check if a port is open and reachableOP
/webcaptcha verify clearverify <player>Clear verification status for a playerwebcaptcha.clearverify / OP
/webcaptcha verify setverify <player>Mark a player as verifiedwebcaptcha.setverify / OP
/webcaptcha verify whitelist <add|remove|list>Manage the verification whitelistwebcaptcha.whitelist / OP

Installation

  1. Dependencies

    • Paper/Bukkit/Spigot: Compatible with versions 1.20 to 1.21.4
    • PacketEvents: Required for Limbo system (download from Modrinth)
  2. Quick Setup

    • Download the latest WebsiteCaptcha.jar from Releases.
    • Place it in your server’s plugins folder along with PacketEvents.
    • Start the server to generate config.yml and api_config.yml in plugins/WebsiteCaptcha/.
    • Configure config.yml with your reCAPTCHA or custom website settings.
  3. Full Documentation
    For detailed installation steps, configuration options, and troubleshooting, check out our full docs at:
    WebsiteCaptcha Documentation

License

WebsiteCaptcha is licensed under the GNU General Public License v3.0. See the LICENSE file for full details.


Credits & Contact

Галерея

Player JoinCaptcha WebSite Player Passed Captcha

Последние версии

Все версии →
release

WebSiteCaptcha v2.0.0

v2.0.0-Release
5 авг. 2026 г.133Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2bukkit, paper, purpur, spigot
Скачать
Что нового
# WebSiteCaptcha v2.0.0 ## Overview This release is a major update for WebSiteCaptcha, introducing a complete rewrite of the Limbo system, a new REST API for custom verification websites, improved security, and compatibility with the latest Minecraft versions. The internal architecture has been modernized to improve maintainability, performance, and long-term stability. ## Limbo System ### Complete Rewrite * Rebuilt the entire Limbo system from scratch. * Fully migrated from ProtocolLib to PacketEvents 8.x. * Removed ProtocolLib as a dependency. * Introduced a modular architecture with dedicated components for packet handling, restrictions, validation, scheduling, titles, action bars, chat filtering, damage handling, configuration, tab management, and session tracking. ### Minecraft Compatibility * Fixed the "Loading terrain..." issue on Minecraft 1.20.4+ and protocol 26.2 clients. * Implemented the correct chunk loading sequence using the START_LOADING_CHUNKS game event. * Added proper 5×5 chunk batching before player positioning. * Fixed client crashes on newer Minecraft versions caused by invalid light data. * Improved virtual world initialization and loading reliability. ### Virtual Environment Improvements * Implemented accurate frozen sky time matching the protocol implementation. * Added support for DAY, NOON, SUNSET, NIGHT, MIDNIGHT, and custom time values. * Improved weather synchronization and prevented Paper from overriding Limbo weather. * Moved the virtual Limbo world to Y=310 to place players above the vanilla cloud layer. ### Player Restrictions * Prevent falling while inside Limbo. * Lock player movement using server abilities. * Keep players flying with zero movement speed. * Improve packet filtering to maintain the virtual environment. ### Validation and Bot Detection * Added username validation using configurable regular expressions. * Added client brand validation. * Improved detection of invalid or automated clients. * Enhanced packet-level protection for unverified players. ## REST API Added a secure REST API for integrating custom verification websites. ### Endpoints * POST `/api/v1/verify` * GET `/api/v1/session/{id}` ### Features * Versioned REST API * API key authentication * Verification session management * Example Next.js website template * API documentation included ## API Key Management Added console-only management commands: * `/webcapture api create` * `/webcapture api remove` * `/webcapture api list` Implemented: * ApiKeyManager * Immutable ApiKey record * Persistent `api_key.json` storage ## Security * Constant-time API secret comparison using `MessageDigest.isEqual`. * Sliding window rate limiting. * Automatic audit logging. * 8 KB maximum request body size. * Five-minute single-use verification sessions. * Automatic cleanup of expired sessions. ## Configuration ### New Configuration Files * `api_config.yml` ### New Configuration Options * `Web_Type` * `custom_url` * `bind_address` * API host and port * CORS configuration * Rate limiting * Limbo time presets * Limbo weather presets * Validation settings ## Internal Improvements * Removed legacy ProtocolLib implementation. * Simplified configuration by removing obsolete options. * Removed redundant Bukkit listeners in favor of packet-level handling. * Cleaned up debug logging. * Refactored imports and internal code organization. * Improved overall maintainability and stability. ## Breaking Changes * ProtocolLib is no longer supported. * PacketEvents 8.x is now required. * Several legacy configuration options have been removed or renamed. * Existing configurations may require updating to match the new format. ## Notes This release represents a significant architectural update to WebSiteCaptcha. Existing users should review the breaking changes and update their configuration before upgrading. The new REST API enables custom web verification workflows while the rewritten Limbo system provides improved compatibility, stability, and support for modern Minecraft versions.
release

WebSiteCaptcha v1.1.0

1.1.0
28 мая 2025 г.125Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6bukkit, purpur, spigot
Скачать
Что нового
📦 WebsiteCaptcha Plugin — Changelog 🐛 Bug Fixes Fixed a known issue: [WebsiteCaptcha] Failed to start WebServer: Cannot assign requested address when hosting a Minecraft server. Fixed an issue where the title did not disappear after the player passed the captcha. Fixed an issue where the action bar did not disappear after the player passed the captcha. Removed excessive and unnecessary debug messages from the console. Removed the old website design and system. ⚙️ Improvements Improved error handling across the plugin. Improved overall plugin performance. ✨ New Features Introduced a brand new website design with a modern UI and smooth animations. Website files are now fully customizable: Modify themes, templates, and animations. Add custom JavaScript functionality (for advanced users). Make basic text edits without any web development experience—just open the HTML file and follow the in-code hints! Added a detailed [Documentation](https://websitecaptcha.unaux.com/) Page to guide users through customization and setup.
beta

WebSiteCaptcha

1.0-SNAPSHOT
28 февр. 2025 г.206Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4bukkit, paper, spigot
Скачать