/SimpleAuth

Plugin for PocketMine-MP that prevents people to impersonate an account, requering registration and login when connecting.

Primary LanguagePHPGNU Lesser General Public License v3.0LGPL-3.0

SimpleAuth

Plugin for PocketMine-MP that prevents people to impersonate an account, requering registration and login when connecting.

 SimpleAuth plugin for PocketMine-MP
 Copyright (C) 2014 PocketMine Team <https://github.com/PocketMine/SimpleAuth>

 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU Lesser General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

Commands

  • /login <password>
  • /register <password>
  • /unregister <password> (TODO)
  • For OPs: /simpleauth <command: help|unregister> [parameters...] (TODO)

Configuration

You can modify the SimpleAuth/config.yml file on the plugins directory once the plugin has been run for at least one time.

Configuration Type Default Description
timeout integer 60 Unauthenticated players will be kicked after this period of time. Set it to 0 to disable. (TODO)
forceSingleSession boolean true New players won't kick an authenticated player if using the same name.
minPasswordLength integer 6 Minimum length of the register password.
blockAfterFail integer 6 Block clients after several failed attempts
authenticateByLastUniqueId boolean false Enables authentication by last unique id.
dataProvider string yaml Selects the provider to get the data from (yaml, sqlite3, mysql, none)
dataProviderSettings array Sets the settings for the chosen dataProvider
disableRegister boolean false Will set all the permissions for simleauth.command.register to false
disableLogin boolean false Will set all the permissions for simleauth.command.login to false

Permissions

Permission Default Description
simpleauth.chat false Allows using the chat while not being authenticated
simpleauth.move false Allows moving while not being authenticated
simpleauth.lastip true Allows authenticating using the lastIP when enabled in the config
simpleauth.command.register true Allows registering an account
simpleauth.command.login true Allows logging into an account

For developers

Events

  • SimpleAuth\event\PlayerAuthenticateEvent
  • SimpleAuth\event\PlayerDeauthenticateEvent
  • SimpleAuth\event\PlayerRegisterEvent
  • SimpleAuth\event\PlayerUnregisterEvent

Plugin API methods

All methods are available through the main plugin object

  • bool isPlayerAuthenticated(pocketmine\Player $player)
  • bool isPlayerRegistered(pocketmine\IPlayer $player
  • bool authenticatePlayer(pocketmine\Player $player)
  • bool deauthenticatePlayer(pocketmine\Player $player)
  • bool registerPlayer(pocketmine\IPlayer $player, $password)
  • bool unregisterPlayer(pocketmine\IPlayer $player)
  • void setDataProvider(SimpleAuth\provider\DataProvider $provider)
  • SimpleAuth\provider\DataProvider getDataProvider(void)

Implementing your own DataProvider

You can register an instantiated object that implements SimpleAuth\provider\DataProvider to the plugin using the setDataProvider() method