The plugin is based on the source code BungeeAuth.
This is done for maximum compatibility with the old version.
See the change log at the bottom of the page for help with the changes I've made.
The plugin can work on the API Bungee, Bukkit and Sponge.
Depending on which server you turn on the plugin, certain functionality will be used. If you do not have a Bungee server, then this plugin is useless for you.
When installed on the Bukkit/Sponge server, the plugin controls the game events. The operation of events for unauthorized players is configured in the plugin's configuration. In the free version you can control only the player's login event. You can also configure all the plugin messages.
Translation of configuration files can be found here. You can also offer your translation. The messages configuration may change later.
Setup
- Place the plugin file in the BungeeCord server plugin directory. Repeat this procedure for the game servers.
- Restart the BungeeCord server.
- Configure the connection settings for the database in the plugin configuration on the BungeeCord server. Set other parameters at your discretion.
- Restart the BungeeCord server.
- Configure the connection settings for the database in the plugin configuration on the Bukkit/Sponge server. Set other parameters at your discretion.
- Restart the Bukkit/Sponge server.
- Done.
Permissions - bungee
bauth.forceregister - This permission is needed to use the /register force command.
bauth.forcelogin - This permission is needed to use the /login force command.
bauth.reset - This permission is needed for players who can use the /reset command.
Commands - bungee
/register [password] <email> - This command is used by first time players to register themselves in the server. Email is required if it is enabled in config.yml.
/register force [player] [password] <email> - This command allows you to force register a player without needing them to be online. Email is required if it is enabled in config.yml.
/login [password] - This command is used by returning users to login to the server.
/login force [player] - This commands is used to force login a player without using a password.
/changepw [old password] [new password] - This command is used by players who want to change their password. It can only be used once the player logs in.
/reset [player] - This command is used by admins who want to reset a player's password. Doing this un-registers the player and there is no way of getting his/her password back.
/logout - This command successfully logs out the player and moves them to the AuthLobby.
Command Aliases - bungee
/register - /reg
/login - /l
/changepw - /changepassword - /changepass - /cpw
Main Config - Bungee
The config.yml for this plugin is located in its data folder, similar to bukkit plugins.
It looks similar to this:
##############################
# #
# Bungee Auth Reloaded #
# Authors #
# Old - Vik1395 #
# Current - Mr_Krab #
# #
# Support #
# https://vk.com/id109471660 #
# #
##############################
# Set this to true if you want to use a file based database (SQLite) rather than MySQL.
# If you enable SQLite, you will not be able to perform event checks on the game servers.
Use SQLite: false
# Please enter the Host of your MySQL database here.
Host: 127.0.0.1
# Please enter the port where your MySQL database is hosted.
Port: 3306
# The Username which should be used to login to the MySQL database.
Username: root
# The Password which should be used to login to the MySQL database. If you don't have a password, please leave two single quotation marks (') in this field.
Password: 'pass'
#The name of the MySQL database where BungeeAuth's Tables shall be created.
DBName: Bungee
# The name of the lobby server.
Lobby: Lobby
# The name of the fallback lobby server in case the main lobby is down.
Fallback Lobby: Lobby2
# The name of the lobby where players are pushed before they authenticate. leave it same as normal lobby if you don't have an auth lobby.
AuthLobby: AuthLobby
# The name of the fallback AuthLobby server in case the main AuthLobby is down.
Fallback AuthLobby: AuthLobby2
# Set this to True if you want the plugin to prompt users to register their email when they login to the server for the first time.
Ask Email: false
# How long (in minutes) does the user's session remains running after a player quits. This allows the user to log back in within the time frame without
# having to type their password again. If user logs in from a different IP, they will be asked to type their password again for security reasons.
Session Length: 5
# How long (in seconds) the user has before they have to register or login. Set this to 0 to disable guest session time limits.
Guest Session Length: 60
# Allowed Characters in Usernames (). Enclose in quotation marks.
Legal Usernames Characters: "[a-zA-Z0-9_]*"
# Number of users that can register (not login) from the same IP.
Users per IP: 5
# Number of times a player can input a wrong password before getting their account locked. Set this to 0 to disable this feature.
Password Tries: 5
# Timeout (in minutes) for players who spam commands. The timeout occurs if a player tries to use a BungeeAuth command more than 10 times.
# Set this to 0 to disable this feature.
Wrong Password Timeout: 5
# A failsafe method that runs every 10 seconds to check if a guest player is in AuthLobby, and if not, moves them to AuthLobby.
Guest Server Failsafe Check: true
#---------------------------- PHP API AREA ----------------------------#
# Enabling this will make the plugin listen to API requests from a port.
Enable PHP API: false
# The port that the plugin will be listening for API requests on.
PHP API Port: 1395
# The password required in the API requests for a response. If you don't have a password, please leave two single quotation marks (') in this field.
API Password: 'pZe8qNCC6s5NKvYj'
# Set the maximum number of wrong api password attempts used by a php script before it's ip gets blocked. IP will be blocked until removed from apiblacklist.txt
API Error Limit: 5
Main Config - Bukkit
Code
##############################
# #
# Bungee Auth Reloaded #
# Authors #
# Old - Vik1395 #
# Current - Mr_Krab #
# #
# Support #
# https://vk.com/id109471660 #
# #
##############################
#Do not change this!
"ConfigVersion": 1
#Configuring the Database Connection
DBSetting:
Host: "127.0.0.1"
Port: "3306"
DBName: "Bungee"
Username: "root"
Password: "pass"
#Setting up the work of events for unauthorized players
#In future versions there will be more functions
#Free Version
Events:
Join:
Cancel: false
Message: "&4You are not authorized in and can not login to this server"
BlockBreack: #Premium Version ▼
Cancel: false
Message: "&4You can't break blocks until you are authorized"
BlockPlace:
Cancel: false
Message: "&4You can not place blocks until you are authorized"
Interact:
Cancel: false
Message: "&4You will not be able to interact with this until you are authorized"
Move:
Cancel: false
Message: "&4You can not move until you are authorized"
Teleport:
Cancel: false
Message: "&4You can not teleport until you are authorized"
InventoryOpen:
Cancel: false
Message: "&4You will not be able to interact with this until you are authorized"
InventoryClick:
Cancel: false
Message: "&4You can not change inventory until you are authorized"
PickupItem:
Cancel: false
Message: "&4You can not pick up items until you are authorized"
DropItem:
Cancel: false
Message: "&4You can not drop items until you are authorized"
#Other plugin messages
Messages:
LoadComplete: "&aPlugin successfully started."
FistDeveloper: "&eAuthor of the original plugin &4Vik1395."
CurrentDeveloper: "&eCurrent developer &4Mr_Krab."
UsingAPI: "&ePlugin uses the &6API Bukkit."
Thanks: "&eThank you for testing, if you have any questions or problems, please write to https://vk.com/id109471660"
Reload: "&aPlugin has been reloaded." #Premium Version ◄
ConfigWarn: "&cAttention!!! The version of your configuration file does not match the current one!"
ConfigUpdate: "&aYour config has been replaced with the default config. Old config see in the file ConfigOld.txt."
Main Config - Sponge
Code
##############################
# #
# Bungee Auth Reloaded #
# Authors #
# Old - Vik1395 #
# Current - Mr_Krab #
# #
# Support #
# https://vk.com/id109471660 #
# #
##############################
#Do not change this!
"ConfigVersion": 1
#Configuring the Database Connection
DBSetting {
"Host": "127.0.0.1",
"Port": "3306",
"DBName": "Bungee",
"Username": "root",
"Password": "pass"
}
#Setting up the work of events for unauthorized players
#In future versions there will be more functions
#Free Version
Events {
Join {
"Cancel": false,
"Message": "&4You are not authorized in and can not login to this server"
},
#Premium Version ▼
InteractBlock {
"Cancel": false,
"Message": "&4You will not be able to interact with the items and blocks until you are authorized"
},
ChangeBlock {
"Cancel": false,
"Message": "&4You will not be able to place or break blocks until you are authorized"
},
InteractEntity {
"Cancel": false,
"Message": "&4Interaction with entities will be disabled for you until you are authorized"
},
DamageEntity {
"Cancel": false,
"Message": "&4Receiving and damaging for you will be disabled until you are authorized"
},
MoveEntity {
"Cancel": false,
"Message": "&4You can not move until you are authorized"
},
Teleport {
"Cancel": false,
"Message": "&4You can not teleport until you are authorized"
},
InteractInventory {
"Cancel": false,
"Message": "&4Inventory will be blocked until you are authorized"
},
ClickInventory {
"Cancel": false,
"Message": "&4Inventory will be blocked until you are authorized"
},
ChangeInventory {
"Cancel": false,
"Message": "&4Inventory will be blocked until you are authorized"
},
PickupItem {
"Cancel": false,
"Message": "&4You can not pick up items until you are authorized"
},
DropItem {
"Cancel": false,
"Message": "&4You can not drop items until you are authorized"
},
InteractItem {
"Cancel": false,
"Message": "&4You will not be able to interact with the items and blocks until you are authorized"
},
UseItem {
"Cancel": false,
"Message": "&4You will not be able to use items until you are authorized"
}
}
#Other plugin messages
Messages {
"LoadComplete": "&aPlugin successfully started."
"FistDeveloper": "&eAuthor of the original plugin &4Vik1395."
"CurrentDeveloper": "&eCurrent developer &4Mr_Krab."
"UsingAPI": "&ePlugin uses the &6API Sponge."
"Thanks": "&eThank you for testing, if you have any questions or problems, please write to https://vk.com/id109471660"
"Reload": "&aPlugin has been reloaded." #Premium Version <--
"ConfigWarn": "&cAttention!!! The version of your configuration file does not match the current one!"
"ConfigUpdate": "&aYour config has been replaced with the default config. Old config see in the file bungeeauthreloaded.txt."
}
The Plugin automatically creates the MySQL Tables. You just have to input the MySQL Database Host, Login details and Database name in the config file. If you enable SQLite, the plugin creates a SQLite.db file in the config folder. You do not need to change any other database related fields in config.yml if you are using SQLite. If you enable SQLite, you will not be able to perform event checks on the game servers.
Until the player logs in, he/she wont be able to use any commands except for /register and /login. After disconnecting, depending on the Session Length set by the admin, the player will have a certain amount of time within which they can log back in to the server without having to retype their password, considering they log in from the same IP.
When the player logs in successfully, He/she will be teleported to the Lobby server (if it is different from the Authentication Lobby).
If the player spams /login multiple times (such as in a brute force attack), they are automatically muted for a certain amount of time (specified in the config.yml).
Lobby server and Auth Lobby server in the config CANNOT be the same.
For Developers
The Javadoc for BungeeAuth is available at http://api.vik1395.me/
Adding BungeeAuth as a maven dependency:
Code
<repositories>
<repository>
<id>bungeeauth-repo</id>
<url>http://repo.vik1395.me/repositories</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>me.vik1395</groupId>
<artifactId>BungeeAuth</artifactId>
<version>VERSION</version>
</dependency>
</dependencies>Changelog
Version 2.0
Powered by Bungee/Bukkit/Sponge API
Command aliases have been added.
Added help messages to the language file.
Fixed SSL warn connection.
Ability to cancel game events is added.
========== Old ==========
See this
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