Description: Enter the game by drawing!
Commands:
- /gauth - Main command
Features:
- You don't need to open a chat and type anything to register or log in to the game!
- NO DEPENDENCIES !
- HEX Support !
- All messages can be configured to be displayed in chat, title, actionbar (+ Sound)
- MySQL, SQLite, YAML Database support
- Advanced and easy-to-understand configuration
Instructions and demonstration (EN)
Configuring the plugin
The plugin has only one configuration file:
config.yml
#############################
# GraphicalAuth #
# Made by GameDoctor #
# 2024 #
#############################
# All instructions for using and configuring the plugin are provided on SpigotMC:
# https://www.spigotmc.org/members/gamedoctor.792259
settings: # General settings
# The prefix of all messages in the chat. You can make it empty
messagesPrefix: "&fGraphicalAuth &e> "
# Minimum length of the combination
minPswdLength: 3
# The maximum length of the combination
maxPswdLength: 54
# Maximum authorization/registration time in seconds
maxAuthTime: 60
# If true, authorization will be requested only when the IP address is changed, and if false - every time you log in
authOnlyOnIPChange: true
# If true, the player will be teleported to the specified location before each authorization/registration
spawn:
enable: false
world: world
x: 1
y: 1
z: 1
yaw: 1
pitch: 1
# If true, the player will be teleported to the specified location immediately after authorization/registration
afterAuthTP:
enable: false
world: world
x: 1
y: 1
z: 1
yaw: 1
pitch: 1
# Time format
timeStringFormat:
# If true, only the largest is displayed. For example, not 1 d. 12 h. 5 m. 13 s., but just 1 d.
displayOnlyHighest: true
seconds: "s."
minutes: "m."
hours: "h."
days: "d."
database: # Database settings
# Available types: FILE, MYSQL, SQLITE
type: SQLITE
# It is specified without a format. Used for FILE (.yml) and SQLITE (.db)
fileName: "database"
# The name of the table with the players. Used for FILE, MYSQL, and SQLITE types
playersTableName: "ga_players"
# The name of the database. Only for MYSQL
databaseName: "graphicalauth"
# The host. Only for MYSQL
host: "localhost"
# User. Only for MYSQL
user: "root"
# Password. Only for MYSQL
password: "-"
# Additional connection parameters. Change it if you know what it's for. Only for MYSQL
arguments: "?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false"
standaloneServer: # Use it if GraphicalAuth is installed on a separate server
enable: false
# The server to which the player will be redirected upon successful authorization (BungeeCord)
server: "lobby"
# If false, even after successful authorization, the player will not be able to interact with the world before exiting the authorization server
allowToInteract: false
gui: # Menu settings for authorization, registration and combination changes
# The name of the menu with authorization
title_login: "&a&lSpecify your combination"
# The name of the menu with registration
title_register: "&c&lCome up with a combination"
# The name of the menu with a change in the combination
title_changing: "&6&lCome up with a new combination"
# The painted object
checked_item:
name: "&c"
# Makes the item shimmer
glowing: false
material: "GREEN_WOOL"
# An unpainted object
unchecked_item:
name: "&c"
material: "RED_WOOL"
# The bottom of any menu
footer:
name: "&c"
material: "GRAY_STAINED_GLASS_PANE"
# An item that appears during data processing
loading:
name: "&6Processing..."
material: "CLOCK"
# An item with registration information
info_register:
name: "&bRegistration"
lore:
- "&7You need to come up with a drawing,"
- "&7by entering which you will perform"
- "&7log in to your account."
- "&cTime left: &e%timeLeft%"
slot: 53
material: "BOOK"
# An item with information about changing the combination
info_changing:
name: "&bChanging the combination"
lore:
- "&7You need to come up with a drawing,"
- "&7by entering which one you will perform"
- "&7log in to your account."
slot: 53
material: "BOOK"
# An item with authorization information
info_login:
name: "&bAuthorization"
lore:
- "&7Fill in the required blocks,"
- "&7to log in to your account."
- "&cTime left: &e%timeLeft%"
slot: 53
material: "BOOK"
# An item with a combination length error
apply_fail_passwordLength:
name: "&c&lError"
lore:
- "&cThe combination should not be"
- "&clonger than &e%max% &cor shorter &e%min%"
material: "BARRIER"
# An item with registration confirmation
apply_register:
name: "&aRegister"
lore:
- "&cMake sure you can"
- "&c&nremember&c the specified combination."
material: "GREEN_STAINED_GLASS_PANE"
# An item with authorization confirmation
apply_login:
name: "&aLog in"
material: "GREEN_STAINED_GLASS_PANE"
# An item with confirmation of a combination change
apply_change:
name: "&6Change"
material: "ORANGE_STAINED_GLASS_PANE"
# An item with an exit from the game
exit:
name: "&cExit"
slot: 45
material: "BARRIER"
command: # Settings of the main command /gauth
change: # The name of the subcommand. Do not change
# The right to use a subcommand. Set to '-' if not required
usePermission: "-"
unregister: # The name of the subcommand. Do not change
# The right to use a subcommand. Set to '-' if not required
usePermission: "-"
admin: # The name of the subcommand. Do not change
# The right to use a subcommand. Set to '-' if not required
usePermission: "graphicalauth.admin.use"
kick: # Message settings when you are excluded from the game
# Exclusion from the game in case of an incorrectly specified combination
incorrectPassword:
- "&cYou have entered the wrong combination!"
- " "
- "&bContact the Administration for recovery"
# Exclusion from the game when clicking on the exit item
exit:
- "&cAuthorization cancelled"
# Exclusion from the game when the player does not have time to enter
timeLeft:
- "&cYou didn't have time to log in"
messages: # Message Settings
success_auth:
chat:
enable: true
lines:
- "&aYou have successfully logged in!"
title:
enable: true
line1: "&aWelcome back,"
line2: "&c%player%"
fadeIn: 20 # 1 sec
stay: 60 # 3 sec
fadeOut: 20 # 1 sec
sound: # Take the names of the sounds from the site https://www.spigotmc.org/wiki/cc-sounds-list
enable: true
name: "ENTITY_PLAYER_LEVELUP"
broadcast:
enable: false
lines:
- "&7Player &e%player% &7turned to us!"
success_register:
chat:
enable: true
lines:
- "&aYou have successfully registered!"
title:
enable: true
line1: "&aWelcome,"
line2: "&c%player%"
fadeIn: 20 # 1 sec
stay: 60 # 3 sec
fadeOut: 20 # 1 sec
sound: # Take the names of the sounds from the site https://www.spigotmc.org/wiki/cc-sounds-list
enable: true
name: "ENTITY_PLAYER_LEVELUP"
broadcast:
enable: false
lines:
- "&7Player &e%player% &7joined us!"
success_changed:
chat:
enable: true
lines:
- "&aYou have successfully changed your combination!"
sound: # Take the names of the sounds from the site https://www.spigotmc.org/wiki/cc-sounds-list
enable: true
name: "ENTITY_PLAYER_LEVELUP"
cmdNoPerm:
chat:
enable: true
lines:
- "&cYou don't have enough rights"
sound:
enable: true
name: "ENTITY_ITEM_BREAK"
cmdHelp:
chat:
enable: true
lines:
- "&e------------ &aGraphicalAuth &e------------"
- "&a/%cmd% &7unregister&f: Remove registration from your account"
- "&a/%cmd% &7change&f: Change your combination"
- "&a/%cmd% &7admin&f: Account Management"
cmdAdminHelp:
chat:
enable: true
lines:
- "&e------------ &aGraphicalAuth &e------------"
- "&a/%cmd% &7unregister <name>&f: Remove registration from account"
- "&a/%cmd% &7unlogin <name>&f: Remove authorization from account"
cmdSuccess:
chat:
enable: true
lines:
- "&aSuccessfully"There is no necessary initial configuration in the plugin - it is ready to work immediately after installation.
Configuring OPTIONAL parameters:
For an individual authorization server
To use the GraphicalAuth plugin on a separate server as correctly as possible, you can set the value of the standaloneServer.enable parameter to true. If you want the player to be redirected to another server after authorization is completed, set the value standaloneServer.server to the name of your BungeeCord server.
To remove the messages about the entry/exit of players, you can use my most simple plugin SimpleJoinQuitMessages
Commands
The plugin currently has only one command - /gauth and several sub-commands:
- /gauth unregister - Removes registration from the account. By default, the command is available to everyone
- /gauth change - Allows you to change the combination. By default, the command is available to everyone
- /gauth admin unregister <name> - Removes registration from the specified player. Access by the right specified in the configuration
- /gauth admin unlogin <name> - Removes authorization from the specified player. Access by the right specified in the configuration
API for third-party developers
The plugin contains a simple API for third-party developers.
A number of events are available:
- PlayerAuthEvent - It is called when a player logs in, registers, or changes a combination. The event type can be obtained from here (AuthState - getAuthState())
Using HEX colors
The HEX color format in the plugin is similar to the one used in the infamous Essentials plugin. For the convenience of generating HEX text gradients, there is a website https://spigot.kosfarix.ru/hex
You can place text with HEX color anywhere in the plugin - Be it a hologram, a scoreboard, an item in gui or a chat message.
But keep in mind that variables (%player%, %color%, and so on) cannot be converted to this format.
Инструкции и демонстрация (RU)
Вы можете найти инструкции и демонстрацию на Русском ЗДЕСЬ
Discord: If you need any help with this plugin, you can write to me in Discord: @_gamedoctor_
Note: If you want additional functionality to be added to the plugin, just write about it in the discussion
Installation:
Download, drop it in plugins folder and restart your server
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta
