Plugin for PocketMine-MP that prevents people from impersonating accounts, requiring registration and login when connecting.
- PHP 100%
| resources | ||
| src/SimpleAuth | ||
| .gitignore | ||
| LICENSE | ||
| plugin.yml | ||
| README.md | ||
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