
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.
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. This plugin integrates with a SQLite database for persistent verification data and offers extensive customization options to tailor the verification experience to your server’s needs.
Disclaimer
WebsiteCaptcha is an experimental plugin and may contain numerous bugs and glitches. Developed as a proof-of-concept, it might exhibit instabilities, especially under high player loads or with certain server configurations. Features such as the embedded web server, SQLite database, and timeout mechanics could lead to unexpected behavior. Use this plugin at your own risk, and thoroughly test it in a controlled environment before deploying it on a live server. Contributions to fix bugs or enhance stability are highly encouraged!
Plugin Information
WebsiteCaptcha protects your Minecraft server from unauthorized access by implementing a CAPTCHA verification system. Upon joining, unverified players are sent to a configurable "Limbo" world where they must complete a CAPTCHA challenge hosted on a local web server (default: localhost:8080). Once verified, players gain access to the main world. The plugin includes features like an XP bar countdown timer, configurable game modes, flight options, and visual effects like blindness to manage unverified players effectively.
Key Features
- CAPTCHA Verification: Players complete a Google reCAPTCHA challenge via a web link.
- Limbo World: Unverified players are isolated in a separate world with restricted permissions.
- XP Bar Timer: Displays remaining verification time, decreasing smoothly until timeout.
- Configurable Settings: Customize timeout duration, game mode, flight, blindness, and inventory hiding via
config.yml. - Kick Delay: Displays a configurable message for 5 seconds before kicking on timeout.
- Version Detection: Logs player Minecraft versions (1.8 to 1.21.4) using ProtocolLib.
- Persistent Storage: Stores verification timestamps and states in SQLite (
verification.db). - Custom Website Editor – Want to animate the page, add custom JavaScript, or build your dream interface? You can! Edit the default site at plugins/WebsiteCaptcha/website, or add your own custom pages in website/custom.
How It Works
- Player Joins: The server logs the player’s IP, name, and version, then checks their verification status.
- Verification Check: If unverified or the grace period has expired, the player is sent to Limbo.
- CAPTCHA Prompt: A clickable chat message provides a link to the CAPTCHA page.
- Timeout Mechanism: An XP bar counts down; if time runs out, a kick message appears for 5 seconds before disconnection.
- Success: Upon CAPTCHA completion, the player is teleported to the main world with restored settings.
- Custom Website Editor – Want to animate the page, add custom JavaScript, or build your dream interface? You can! Edit the default site at plugins/WebsiteCaptcha/website, or add your own custom pages in website/custom.
Installation
- Dependencies:
- Paper/Bukkit/Spigot: Compatible with versions 1.20 to 1.21.4.
- ProtocolLib: Required for Limbo system and version detection.
- Steps:
- Download the latest
WebsiteCaptcha.jarfrom the Releases page. - Place it in your server’s
pluginsfolder. - Install ProtocolLib and ensure it’s loaded.
- Start the server to generate
config.ymlinplugins/WebsiteCaptcha/. - Configure
config.ymlwith your reCAPTCHA keys and preferences.
- Download the latest
- Visit the Documentation for full setup and customization tips
