Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
1.12.x
1.11.x
1.10.x
1.9.x
1.8.x
Platforms
Tags
Creators
Details
Licensed MIT
Published 2 months ago
AusWeis — Cloudflare Turnstile Verification
AusWeis is a lightweight Bukkit/Paper plugin that integrates Cloudflare Turnstile to provide frictionless human verification before players enter your server. It effectively stops bot attacks while offering a smooth experience for real players.
I am not a native English speaker, so corrections are welcome if there are any mistakes.
Features
- Simple workflow – Players are kicked once with a verification URL; after completing the Turnstile challenge on your website, they can rejoin normally.
- Real‑time API check – Every login queries your backend API for the player's verification status (no local cache, always up‑to‑date).
- Bypass permission – Grant
ausweis.bypassto trusted players (or yourself) to skip verification entirely. - Highly customisable – Kick message, API URL, timeout and more can be changed in
config.yml. Supports Minecraft colour codes and multi‑line messages. - Multi‑language ready – Choose the language in config (
en,zh, or add your own .yml files in thelangfolder). Built‑in English and Chinese translations. - Command reload – Use
/ausweis reloadto apply configuration changes without restarting the server. - Wide compatibility – Works on Spigot/Paper from 1.8 to latest (tested on 1.12.2, 1.16.5, 1.21+).
Installation
- Download the latest AusWeis-*.jar from the Releases page.
- Place the JAR file into your server's
plugins/folder. - Restart your server (or use
/reload– restart is recommended). - The plugin will generate a default
config.ymland alang/folder with language files. - Edit
plugins/AusWeis/config.ymlto set your own backend API URL and verification page URL. - Run
/ausweis reloadto apply the changes.
Config
# Language file to use (e.g., en, zh). Must correspond to a messages_<lang>.yml file in the lang folder.
language: "en"
# API URL to check player verification status
api-url: "https://your-server.com/api/check?user={player}"
# Verification page URL to show in kick message
verify-url: "https://your-server.com/verify?user={player}"
# HTTP request timeout in milliseconds
timeout: 5000
# Debug mode, enables more detailed logs
debug: false
Commands
| Command | Description | Permission | Default |
|---|---|---|---|
/ausweis reload |
Reload the plugin configuration | ausweis.reload |
op |
/ausw reload |
Alias for the above | same | op |
| Permission | Description | Default |
|---|---|---|
ausweis.reload |
Allows reloading config | op |
ausweis.bypass |
Bypass verification and always join | false |
API Specification
Your website must provide two endpoints:
1. Verification Status Query
- URL:
GET {api-url}?user={player} - Response format: JSON
{ "verified": true, "user": "Steve", "timestamp": 1709123456.789 } - Description: Return
"verified": trueif the player has already passed the Turnstile challenge, otherwisefalse.
2. Verification Page
- URL:
{verify-url}?user={player} - Function: Display the Cloudflare Turnstile widget. After successful verification, your backend should mark the player as verified (e.g., update a database) so that subsequent API calls return
true.
Reference implementation: The companion web backend is open‑sourced by @ChineseLiyao – ChineseLiyao/AusWeis. You can deploy it directly or use it as an example.
Languages
- Create a new file
messages_<code>.ymlin theplugins/AusWeis/lang/folder (e.g.,messages_fr.ymlfor French). - Use the same keys as in the built‑in language files (
kick-title,kick-message). - Set
language: "<code>"inconfig.ymland reload.
Building
If you prefer to compile the plugin yourself:
git clone https://github.com/Nskawa/AusWeisPlugin.git
cd AusWeis
mvn clean package
The compiled JAR will be in the target/ directory.
License
This project is licensed under the MIT License – see the LICENSE file for details.
Support
- GitHub Issues: Report bugs / suggest features
- Discussion: Feel free to open a discussion on GitHub or leave a comment below.
Happy Gaming!


