-
-
Notifications
You must be signed in to change notification settings - Fork 39
ServerAuth API
1. Define the plugin dependency in plugin.yml (you can check if ServerAuth is installed in different ways):
depend: [ServerAuth]
2. Include ServerAuth API and ServerAuth Events in your php code:
//PocketMine Event Listener
use pocketmine\event\Listener;
//ServerAuth API
use ServerAuth\ServerAuth;
//ServerAuth Events
use ServerAuth\Events\ServerAuthRegisterEvent;
3. Create the class:
class Example extends PluginBase implements Listener {
}
4. Check if ServerAuth API is compatible (insert this code in onEnable() function)
if(ServerAuth::getAPI()->getAPIVersion() == "(used API version)"){
//API compatible
//Register Events
$this->getServer()->getPluginManager()->registerEvents($this, $this);
}else{
//API not compatible
$this->getPluginLoader()->disablePlugin($this);
}
}
5. Handle a ServerAuth event (in this tutorial we will handle the ServerAuthRegisterEvent):
public function onRegister(ServerAuthRegisterEvent $event){
$player = $event->getPlayer();
$player->sendMessage("You are now registered, " . $player->getName());
}
6. Call the API function:
ServerAuth::getAPI()->api_function();
This event is handled when a player log into his account.
Event functions are:
Player getPlayer()
Description:
Get event player.
Return:
The event player
This event is handled when a player log out from his account.
Event functions are:
Player getPlayer()
Description:
Get event player.
Return:
The event player
This event is handled when a player changes his account password.
Event functions are:
Player getPlayer()
Description:
Get event player.
Return:
The event player
string getPassword()
Description:
Get the new password.
Return:
The new password
This event is handled when a player registers an account.
Event functions are:
Player getPlayer()
Description:
Get event player.
Return:
The event player
string getPassword()
Description:
Get password (it can be hashed or not).
Return:
The password
This event is handled when a player unregisters his account.
Event functions are:
Player getPlayer()
Description:
Get event player.
Return:
The event player
Description:
User not registered
Value:
0
Description:
Success
Value:
1
Description:
Wrong password error
Value:
2
Description:
User not authenticated error
Value:
3
Description:
User already authenticated error
Value:
4
Description:
User already registered error
Value:
5
Description:
Password too short error
Value:
6
Description:
Password too long error
Value:
7
Description:
Max number of same IPs reached error
Value:
8
Description:
A generic error
Value:
9
string getVersion()
Description:
Get ServerAuth plugin version
Return:
plugin version
string getAPIVersion()
Description:
Get the ServerAuth API version.
Return:
plugin API version
mysqli|boolean getDatabase()
Description:
Get ServerAuth MySQLi instance.
Return:
mysqli on success
false on MySQL connection failure
array getDatabaseConfig()
Description:
Get ServerAuth MySQL configuration array.
Return:
array
boolean getDataProvider()
Description:
Get ServerAuth data provider.
Return:
true if ServerAuth is using MySQL
false if ServerAuth is using YAML config
boolean areRegisterMessagesEnabled()
Description:
Check if register messages are enabled.
Return:
boolean
function enableRegisterMessages($bool)
Description:
Enable\Disable register messages.
Parameters:
$bool true to enable them or false to disable them
boolean areLoginMessagesEnabled()
Description:
Check if login messages are enabled.
Return:
boolean
function enableLoginMessages($bool)
Description:
Enable\Disable login messages.
Parameters:
$bool true to enable them or false to disable them
array|int getPlayerData($player)
Description:
Get player data.
Parameters:
$player The player name
Return:
The array of player data on SUCCESS, otherwise the current error
string getPasswordHash()
Description:
Get password hash.
Return:
The password hash algorithm
Config getLanguage($language)
Description:
Get language data.
Parameters:
$language The language file name
Return:
A pocketmine\utils\Config instance containing language data
Config getConfigLanguage()
Description:
Get the ServerAuth language specified in config.
Return:
A pocketmine\utils\Config instance containing the current language data
boolean|int isPlayerRegistered($player)
Description:
Check if a player is registered.
Parameters:
$player The player name
Return:
true or false on SUCCESS, otherwise the current error
boolean isPlayerAuthenticated(Player $player)
Description:
Check if a player is authenticated.
Parameters:
$player The player instance
Return:
boolean
boolean|int registerPlayer(Player $player, $password)
Description:
Register a player to ServerAuth.
Parameters:
$player The player instance
$password The password
Return:
true on SUCCESS, otherwise the current error
boolean|int unregisterPlayer(Player $player)
Description:
Unregister a player.
Parameters:
$player The player instance
Return:
true or false on SUCCESS or false if the player is not registered, otherwise the current error
boolean|int authenticatePlayer(Player $player, $password, $hash = true)
Description:
Authenticate a player.
Parameters:
$player The player instance
$password The password
$hash true to hash the password
Return:
true on SUCCESS, otherwise the current error
boolean|int deauthenticatePlayer(Player $player)
Description:
Deauthenticate a player.
Parameters:
$player The player instance
Return:
true on SUCCESS, otherwise the current error
int|boolean changePlayerPassword(Player $player, $new_password)
Description:
Change player password.
Parameters:
$player The player instance
$new_password The new password
Return:
true on SUCCESS or false if the player is not registered, otherwise the current status
ServerAuth
ServerAuth Web API
ServerAuth Account Manager