- Supported Minecraft Versions
The Beacon Captcha system is a poorly-created script I made in March of 2020 as a partial solution to the onslaught of "server-list" bots. This is not a fully-fledged captcha solution, but it should stop some automated processes.
Demonstration of the Beacon Captcha in action.
If a player has not yet solved the Beacon Captcha, they will be prompted to solve it when attempting to chat or executing a command. They must click on each block that doesn't match with the beacon "tower" until all four stages have been completed. On the final stage, the player must click the beacon block itself to complete the captcha. The player is then granted the ability to speak in chat and execute in-game commands.
After failing or passing the captcha, the player will be presented with an animated success/failure screen that can be exited by clicking on any of the tiles in the GUI.
Still images of the animated success/failure screens.
- beacon.use - Used for /beacon's test commands.
- beacon.bypass - Bypasses the need to use the captcha entirely.
- /beacon [var/test/fail/correct/clear]:
"Var" manually scrambles the Beacon Captcha's block patterns. (i.e. if the beacon's blocks were iron and redstone, it'd be randomized to something completely different. By default, this is automatically scrambled every 5 minutes, but the time between scrambles can be edited in the options section of this script.)
"Test" opens up the Beacon Captcha. This does not grant, nor does it revoke the ability to speak in chat/execute in-game commands.
"Fail" shows the Beacon Captcha's animated "failure" screen.
Likewise, "Correct" shows the Beacon Captcha's animated "success" screen.
"Clear" deletes the command sender's Beacon Captcha data. This forces them to complete the Beacon Captcha again.
This script comes with an options menu that allows you to easily edit all of the script's messages and some of its functions.
# This message is sent to the server's console if a player (that has NOT solved the Beacon Captcha) attempts to chat/enter a command.
console_send_message : %player% has not solved the Beacon captcha yet.
# This message is sent to a player (that has NOT solved the Beacon Captcha) if they attempt to chat.
player_send_chat : &cYou must solve the &f&lBeacon &r&ccaptcha to speak in chat.
# This message is sent to a player (that has NOT solved the Beacon Captcha) if they attempt to enter a command.
player_send_command : &cYou must solve the &f&lBeacon &r&ccaptcha to use commands.
# This is sent to a player if they do not have the permission required to use /beacon.
permission_deny_message : &cYou do not have access to this command.
# Blocks / GUI Messages:
# Sets the time between each "refresh" of the Beacon Captcha's block set.
# NOTE: I do not recommend setting this time to anything less than 10-30 seconds, as this *could* cause lag. (I'm not saying it will, but it's better to be safe than sorry, eh?)
refresh_time : 5 minutes
# Sets the "true" Beacon Captcha blocks, AKA the ones that send you to the "Incorrect Captcha" screen when clicked. These are randomly switched after [refresh_time].
# NOTE: The block list MUST follow this format:
# X, Y, or Z
beacon_true_blocks : gold block, iron block, diamond block, or emerald block
# Sets the "false" Beacon Captcha blocks, AKA the ones that advance you through the 6 stages of the Beacon Captcha. These are randomly switched after [refresh_time].
# NOTE: Like beacon_true_blocks, the block list MUST follow this format:
# X, Y, or Z
beacon_false_blocks : redstone block, lapis lazuli block, or block of coal
# Sets the name of each Beacon Captcha block. This name is applied to both "true" and "false" Beacon blocks.
beacon_block_name : &fBeacon Block
# Sets the name of the Beacon Captcha beam.
beacon_beam_name : &fBeacon Beam
# Sets the lore of the Beacon Captcha beam.
beacon_beam_lore : &7Click me to finish the &f&lBeacon &r&7captcha.
# Used as the name of every item in the "Incorrect Captcha" screen.
fail_name : &c&l✘ You failed the &f&lBeacon &c&lcaptcha.
# Used as the name of every item in the "Passed Captcha" screen.
pass_name : &a&l✔ You finished the &f&lBeacon &a&lcaptcha.
# Used in line 1 of the "Passed Captcha" screen.
pass_lore : &7You may use commands and speak in chat now.
# Used in line 1 of the "Incorrect Captcha" screen's lore and in line 2 of the "Passed Captcha" screen's lore.
quit_lore : &7Click anywhere to exit this menu.
# The sound that plays when you click on a false Beacon Block. (For a list of sounds, contact your local Google Search)
correct_sound : random.orb
# The sound that plays when pass the Beacon Captcha. (For a list of sounds, contact your local Google Search)
pass_sound : level_up
# The sound that plays when you fail the Beacon Captcha. (For a list of sounds, contact your local Google Search)
fail_sound : note.bass
# GUI title for the main Beacon Captcha.
gui_title_captcha : &0What block doesn't match?
# GUI title for the "Captcha Failed" animated GUI.
gui_title_fail : &0BEACON | INCORRECT
# GUI title for the "Passed Captcha" animated GUI.
gui_title_pass : &0BEACON | CORRECT
- Release 1.8
- Possibly any version above 1.8 (Use at your own risk.)