public function onRun($tick) { foreach ($this->plugin->getServer()->getOnlinePlayers() as $player) { foreach ($this->plugin->getServer()->getOnlinePlayers() as $players) { if (!ServerAuth::getAPI()->isPlayerAuthenticated($player)) { $players->hidePlayer($player); } else { $players->showPlayer($player); } } } }
public function onRun($tick) { $cfg = $this->plugin->getConfig()->getAll(); foreach ($this->plugin->getServer()->getOnlinePlayers() as $player) { if (!ServerAuth::getAPI()->isPlayerAuthenticated($player)) { if (!isset($this->players[strtolower($player->getName())])) { $this->players[strtolower($player->getName())]["interval"] = 0; $this->players[strtolower($player->getName())]["kick"] = 0; } } if (!isset(ServerAuth::getAPI()->cached_registered_users[strtolower($player->getName())]) && isset($this->players[strtolower($player->getName())])) { $this->players[strtolower($player->getName())]["interval"] += 1; $this->players[strtolower($player->getName())]["kick"] += 1; if ($this->players[strtolower($player->getName())]["interval"] >= $cfg["register"]["message-interval"]) { if (ServerAuth::getAPI()->areRegisterMessagesEnabled()) { if ($cfg["register"]["password-confirm-required"]) { $player->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["register"]["message-conf"])); } else { $player->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["register"]["message"])); } } $this->players[strtolower($player->getName())]["interval"] = 0; } if ($this->players[strtolower($player->getName())]["kick"] >= $cfg["timeout"]) { $player->close("", $this->plugin->translateColors("&", $this->plugin->chlang["register"]["register-timeout"])); unset($this->players[strtolower($player->getName())]); } } else { if (!ServerAuth::getAPI()->isPlayerAuthenticated($player) && isset($this->players[strtolower($player->getName())])) { $this->players[strtolower($player->getName())]["interval"] += 1; $this->players[strtolower($player->getName())]["kick"] += 1; if ($this->players[strtolower($player->getName())]["interval"] >= $cfg["login"]["message-interval"]) { if (ServerAuth::getAPI()->areLoginMessagesEnabled()) { $player->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["login"]["message"])); } $this->players[strtolower($player->getName())]["interval"] = 0; } if ($this->players[strtolower($player->getName())]["kick"] >= $cfg["timeout"]) { $player->close("", $this->plugin->translateColors("&", $this->plugin->chlang["login"]["login-timeout"])); unset($this->players[strtolower($player->getName())]); } } elseif (isset($this->players[strtolower($player->getName())])) { unset($this->players[strtolower($player->getName())]); } } } foreach ($this->players as $key => $player) { if ($this->plugin->getServer()->getPlayer($key) == null) { $this->players[$key]["kick"] = 0; } } }
public function onEnable() { $this->logger = Server::getInstance()->getLogger(); if ($this->getServer()->getPluginManager()->getPlugin("ServerAuth")) { if (ServerAuth::getAPI()->getAPIVersion() == "1.1.1") { $this->logger->info($this->translateColors("&", Main::PREFIX . "&aInvisibleLogin &cv" . Main::VERSION . " &adeveloped by&c " . Main::PRODUCER)); $this->logger->info($this->translateColors("&", Main::PREFIX . "&aWebsite &c" . Main::MAIN_WEBSITE)); $this->getServer()->getScheduler()->scheduleRepeatingTask(new PlayerTask($this), 20); } else { $this->logger->error($this->translateColors("&", Main::PREFIX . "&cPlease use ServerAuth (API 1.1.1). Plugin Disabled!")); } } else { $this->logger->error($this->translateColors("&", Main::PREFIX . "&cPlease install ServerAuth (API 1.1.1). Plugin Disabled!")); } }
public function onCommand(CommandSender $sender, Command $cmd, $label, array $args) { $fcmd = strtolower($cmd->getName()); switch ($fcmd) { case "login": if ($sender->hasPermission("serverauth.login")) { //Player Sender if ($sender instanceof Player) { $cfg = $this->plugin->getConfig()->getAll(); //Check if login is enabled if ($cfg["login"]["enabled"]) { //Check args if (count($args) == 1) { $status = ServerAuth::getAPI()->authenticatePlayer($sender, $args[0]); if ($status == ServerAuth::SUCCESS) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["login"]["login-success"])); } elseif ($status == ServerAuth::ERR_WRONG_PASSWORD) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["errors"]["wrong-password"])); } elseif ($status == ServerAuth::ERR_USER_ALREADY_AUTHENTICATED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["login"]["already-login"])); } elseif ($status == ServerAuth::ERR_USER_NOT_REGISTERED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["errors"]["user-not-registered"])); } elseif ($status == ServerAuth::CANCELLED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["operation-cancelled"])); } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["errors"]["generic"])); } } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["login"]["command"])); } } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["login"]["disabled"])); } break; } else { //Console Sender $sender->sendMessage($this->plugin->translateColors("&", ServerAuth::PREFIX . "&cYou can only perform this command as a player")); break; } } else { $sender->sendMessage($this->plugin->translateColors("&", "&cYou don't have permissions to use this command")); break; } return true; } }
public function onEnable() { @mkdir($this->getDataFolder()); $this->saveDefaultConfig(); $this->logger = Server::getInstance()->getLogger(); if ($this->getServer()->getPluginManager()->getPlugin("ServerAuth")) { if (ServerAuth::getAPI()->getAPIVersion() == "1.1.1") { $this->logger->info($this->translateColors("&", Main::PREFIX . "&aPlugin Enabled!")); $this->getCommand("chatlogin")->setExecutor(new Commands\Commands($this)); $this->getServer()->getPluginManager()->registerEvents(new EventListener($this), $this); } else { $this->logger->error($this->translateColors("&", Main::PREFIX . "&cPlease use ServerAuth (API 1.1.1). Plugin Disabled!")); } } else { $this->logger->error($this->translateColors("&", Main::PREFIX . "&cPlease install ServerAuth (API 1.1.1). Plugin Disabled!")); } }
public function onCommand(CommandSender $sender, Command $cmd, $label, array $args) { $fcmd = strtolower($cmd->getName()); switch ($fcmd) { case "logout": if ($sender->hasPermission("serverauth.logout")) { //Player Sender if ($sender instanceof Player) { $cfg = $this->plugin->getConfig()->getAll(); //Check if logout is enabled if ($cfg["logout"]["enabled"]) { $status = ServerAuth::getAPI()->deauthenticatePlayer($sender); if ($status == ServerAuth::SUCCESS) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["logout"]["logout-success"])); } elseif ($status == ServerAuth::ERR_USER_NOT_AUTHENTICATED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["user-not-authenticated"])); } elseif ($status == ServerAuth::ERR_USER_NOT_REGISTERED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["user-not-registered"])); } elseif ($status == ServerAuth::CANCELLED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getCancelledMessage())); } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["generic"])); } } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["logout"]["disabled"])); } break; } else { //Console Sender $sender->sendMessage($this->plugin->translateColors("&", ServerAuth::PREFIX . $this->plugin->chlang["errors"]["player-only"])); break; } } else { $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["errors"]["no-permissions"])); break; } return true; } }
public function onRun($tick) { $cfg = $this->plugin->getConfig()->getAll(); //Check MySQL if ($cfg["use-mysql"] == true) { if (ServerAuth::getAPI()->getDatabase() == false) { $check = ServerAuth::getAPI()->checkDatabase($cfg["mysql"]["host"], $cfg["mysql"]["port"], $cfg["mysql"]["username"], $cfg["mysql"]["password"]); if ($check[0]) { Server::getInstance()->getLogger()->info($this->plugin->translateColors("&", ServerAuth::PREFIX . ServerAuth::getAPI()->getConfigLanguage()->getAll()["mysql-restored"])); ServerAuth::getAPI()->initializeDatabase($cfg["mysql"]["host"], $cfg["mysql"]["port"], $cfg["mysql"]["username"], $cfg["mysql"]["password"], $cfg["mysql"]["database"], $cfg["mysql"]["table_prefix"]); ServerAuth::getAPI()->mysql = true; } } elseif (!ServerAuth::getAPI()->getDatabase()->ping()) { $check = ServerAuth::getAPI()->checkDatabase($cfg["mysql"]["host"], $cfg["mysql"]["port"], $cfg["mysql"]["username"], $cfg["mysql"]["password"]); if ($check[0]) { Server::getInstance()->getLogger()->info($this->plugin->translateColors("&", ServerAuth::PREFIX . ServerAuth::getAPI()->getConfigLanguage()->getAll()["mysql-restored"])); ServerAuth::getAPI()->initializeDatabase($cfg["mysql"]["host"], $cfg["mysql"]["port"], $cfg["mysql"]["username"], $cfg["mysql"]["password"], $cfg["mysql"]["database"], $cfg["mysql"]["table_prefix"]); ServerAuth::getAPI()->mysql = true; } } } else { ServerAuth::getAPI()->mysql = false; } }
public function onCommand(CommandSender $sender, Command $cmd, $label, array $args) { $fcmd = strtolower($cmd->getName()); switch ($fcmd) { case "register": if ($sender->hasPermission("serverauth.register")) { //Player Sender if ($sender instanceof Player) { $cfg = $this->plugin->getConfig()->getAll(); //Check if register is enabled if ($cfg["register"]["enabled"]) { //Check confirm password if ($cfg["register"]["password-confirm-required"]) { //Check args if (count($args) == 2) { if ($args[0] == $args[1]) { $status = ServerAuth::getAPI()->registerPlayer($sender, $args[0]); if ($status == ServerAuth::SUCCESS) { ServerAuth::getAPI()->authenticatePlayer($sender, $args[0]); $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["register"]["register-success"])); } elseif ($status == ServerAuth::ERR_USER_ALREADY_REGISTERED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["register"]["already-registered"])); } elseif ($status == ServerAuth::ERR_PASSWORD_TOO_SHORT) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["password-too-short"])); } elseif ($status == ServerAuth::ERR_PASSWORD_TOO_LONG) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["password-too-long"])); } elseif ($status == ServerAuth::ERR_MAX_IP_REACHED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["max-ip-reached"])); } elseif ($status == ServerAuth::CANCELLED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getCancelledMessage())); } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["generic"])); } } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["password-no-match"])); } } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["register"]["command-conf"])); } } else { //Check args if (count($args) == 1) { $status = ServerAuth::getAPI()->registerPlayer($sender, $args[0]); if ($status == ServerAuth::SUCCESS) { ServerAuth::getAPI()->authenticatePlayer($sender, $args[0]); $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["register"]["register-success"])); } elseif ($status == ServerAuth::ERR_USER_ALREADY_REGISTERED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["register"]["already-registered"])); } elseif ($status == ServerAuth::ERR_PASSWORD_TOO_SHORT) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["password-too-short"])); } elseif ($status == ServerAuth::ERR_PASSWORD_TOO_LONG) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["password-too-long"])); } elseif ($status == ServerAuth::ERR_MAX_IP_REACHED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["max-ip-reached"])); } elseif ($status == ServerAuth::CANCELLED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getCancelledMessage())); } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["generic"])); } } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["register"]["command"])); } } } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["register"]["disabled"])); } break; } else { //Console Sender $sender->sendMessage($this->plugin->translateColors("&", ServerAuth::PREFIX . $this->plugin->chlang["errors"]["player-only"])); break; } } else { $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["errors"]["no-permissions"])); break; } return true; } }
/** * Deauthenticate a player * * @param Player $player * * @return int|boolean true on SUCCESS, otherwise the current error */ public function deauthenticatePlayer(Player $player) { if ($this->isPlayerRegistered($player->getName())) { if ($this->isPlayerAuthenticated($player)) { $this->getServer()->getPluginManager()->callEvent($event = new Events\ServerAuthDeauthenticateEvent($player)); if ($event->isCancelled()) { return ServerAuth::CANCELLED; } if ($this->getDataProvider()) { //Check MySQL connection if ($this->getDatabase() && $this->getDatabase()->ping()) { $query = "UPDATE " . $this->getDatabaseConfig()["table_prefix"] . "serverauthdata SET ip='" . $player->getAddress() . "' WHERE user='******'"; //Restore default messages ServerAuth::getAPI()->enableLoginMessages(true); ServerAuth::getAPI()->enableRegisterMessages(true); unset($this->auth_users[strtolower($player->getName())]); if ($this->getDatabase()->query($query)) { return ServerAuth::SUCCESS; } else { return ServerAuth::ERR_GENERIC; } } else { return ServerAuth::ERR_GENERIC; } } else { $data = new Config($this->getDataFolder() . "users/" . strtolower($player->getName() . ".yml"), Config::YAML); $data->set("ip", $player->getAddress()); $data->save(); //Restore default messages ServerAuth::getAPI()->enableLoginMessages(true); ServerAuth::getAPI()->enableRegisterMessages(true); unset($this->auth_users[strtolower($player->getName())]); return ServerAuth::SUCCESS; } } else { return ServerAuth::ERR_USER_NOT_AUTHENTICATED; } } else { return $this->isPlayerRegistered($player->getName()); } }
public function onAwardAchievement(PlayerAchievementAwardedEvent $event) { if ($this->plugin->getConfig()->getAll()["block-all-events"]) { if (!ServerAuth::getAPI()->isPlayerRegistered($event->getPlayer()->getName()) || !ServerAuth::getAPI()->isPlayerAuthenticated($event->getPlayer())) { $event->setCancelled(true); } } }
public function onCommand(CommandSender $sender, Command $cmd, $label, array $args) { $fcmd = strtolower($cmd->getName()); switch ($fcmd) { case "serverauth": if (isset($args[0])) { $args[0] = strtolower($args[0]); if ($args[0] == "help") { if ($sender->hasPermission("serverauth.help")) { $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["1"])); $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["2"])); $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["3"])); $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["4"])); $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["5"])); $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["6"])); $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["7"])); $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["8"])); $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["9"])); break; } else { $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["errors"]["no-permissions"])); break; } } elseif ($args[0] == "info") { if ($sender->hasPermission("serverauth.info")) { $sender->sendMessage($this->plugin->translateColors("&", ServerAuth::PREFIX . "&bServerAuth &av" . ServerAuth::VERSION . " &bdeveloped by&a " . ServerAuth::PRODUCER)); $sender->sendMessage($this->plugin->translateColors("&", ServerAuth::PREFIX . "&bWebsite &a" . ServerAuth::MAIN_WEBSITE)); break; } else { $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["errors"]["no-permissions"])); break; } } elseif ($args[0] == "reload") { if ($sender->hasPermission("serverauth.reload")) { $this->plugin->reloadConfig(); $this->cfg = $this->plugin->getConfig()->getAll(); $this->plugin->chlang = ServerAuth::getAPI()->getConfigLanguage()->getAll(); //Restart MySQL ServerAuth::getAPI()->task->cancel(); $this->plugin->task = $this->plugin->getServer()->getScheduler()->scheduleRepeatingTask(new MySQLTask($this->plugin), 20); $this->plugin->mysql = false; //Check MySQL if ($this->cfg["use-mysql"] == true) { $check = $this->plugin->checkDatabase($this->cfg["mysql"]["host"], $this->cfg["mysql"]["port"], $this->cfg["mysql"]["username"], $this->cfg["mysql"]["password"]); if ($check[0]) { $this->plugin->initializeDatabase($this->cfg["mysql"]["host"], $this->cfg["mysql"]["port"], $this->cfg["mysql"]["username"], $this->cfg["mysql"]["password"], $this->cfg["mysql"]["database"], $this->cfg["mysql"]["table_prefix"]); Server::getInstance()->getLogger()->info($this->plugin->translateColors("&", ServerAuth::PREFIX . $this->plugin->chlang["mysql-success"])); $this->mysql = true; } else { Server::getInstance()->getLogger()->info($this->plugin->translateColors("&", ServerAuth::PREFIX . ServerAuth::getAPI()->replaceArrays($this->plugin->chlang["mysql-fail"], array("MYSQL_ERROR" => $check[1])))); } } //End MySQL Restart $sender->sendMessage($this->plugin->translateColors("&", ServerAuth::PREFIX . $this->plugin->chlang["config-reloaded"])); break; } else { $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["errors"]["no-permissions"])); break; } } else { if ($sender->hasPermission("serverauth")) { $sender->sendMessage($this->plugin->translateColors("&", ServerAuth::PREFIX . ServerAuth::getAPI()->replaceArrays($this->plugin->chlang["help"]["error"], array("SUBCMD" => $args[0])))); break; } else { $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["errors"]["no-permissions"])); break; } } } else { if ($sender->hasPermission("serverauth.help")) { $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["1"])); $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["2"])); $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["3"])); $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["4"])); $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["5"])); $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["6"])); $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["7"])); $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["8"])); $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["help"]["9"])); break; } else { $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["errors"]["no-permissions"])); break; } } } }
public function onCommand(CommandSender $sender, Command $cmd, $label, array $args) { $fcmd = strtolower($cmd->getName()); switch ($fcmd) { case "serverauth": if (isset($args[0])) { $args[0] = strtolower($args[0]); if ($args[0] == "help") { if ($sender->hasPermission("serverauth.help")) { $sender->sendMessage($this->plugin->translateColors("&", "&b=> &aAvailable Commands &b<=")); $sender->sendMessage($this->plugin->translateColors("&", "&a/changepassword &b=>&a Change the account password")); $sender->sendMessage($this->plugin->translateColors("&", "&a/login &b=>&a Do login")); $sender->sendMessage($this->plugin->translateColors("&", "&a/logout &b=>&a Do logout")); $sender->sendMessage($this->plugin->translateColors("&", "&a/register &b=>&a Register an account")); $sender->sendMessage($this->plugin->translateColors("&", "&a/serverauth help &b=>&a Show help about this plugin")); $sender->sendMessage($this->plugin->translateColors("&", "&a/serverauth info &b=>&a Show info about this plugin")); $sender->sendMessage($this->plugin->translateColors("&", "&a/serverauth reload &b=>&a Reload the config")); $sender->sendMessage($this->plugin->translateColors("&", "&a/unregister &b=>&a Unregister your account")); break; } else { $sender->sendMessage($this->plugin->translateColors("&", "&cYou don't have permissions to use this command")); break; } } elseif ($args[0] == "info") { if ($sender->hasPermission("serverauth.info")) { $sender->sendMessage($this->plugin->translateColors("&", ServerAuth::PREFIX . "&bServerAuth &av" . ServerAuth::VERSION . " &bdeveloped by&a " . ServerAuth::PRODUCER)); $sender->sendMessage($this->plugin->translateColors("&", ServerAuth::PREFIX . "&bWebsite &a" . ServerAuth::MAIN_WEBSITE)); break; } else { $sender->sendMessage($this->plugin->translateColors("&", "&cYou don't have permissions to use this command")); break; } } elseif ($args[0] == "reload") { if ($sender->hasPermission("serverauth.reload")) { $this->plugin->reloadConfig(); $this->cfg = $this->plugin->getConfig()->getAll(); //Restart MySQL ServerAuth::getAPI()->task->cancel(); $this->plugin->task = $this->plugin->getServer()->getScheduler()->scheduleRepeatingTask(new MySQLTask($this->plugin), 20); $this->plugin->mysql = false; //Check MySQL if ($this->cfg["use-mysql"] == true) { $check = $this->plugin->checkDatabase($this->cfg["mysql"]["host"], $this->cfg["mysql"]["port"], $this->cfg["mysql"]["username"], $this->cfg["mysql"]["password"]); if ($check[0]) { $this->plugin->initializeDatabase($this->cfg["mysql"]["host"], $this->cfg["mysql"]["port"], $this->cfg["mysql"]["username"], $this->cfg["mysql"]["password"], $this->cfg["mysql"]["database"], $this->cfg["mysql"]["table_prefix"]); Server::getInstance()->getLogger()->info($this->plugin->translateColors("&", ServerAuth::PREFIX . ServerAuth::getAPI()->getConfigLanguage()->getAll()["mysql-success"])); $this->mysql = true; } else { Server::getInstance()->getLogger()->info($this->plugin->translateColors("&", ServerAuth::PREFIX . ServerAuth::getAPI()->replaceArrays(ServerAuth::getAPI()->getConfigLanguage()->getAll()["mysql-fail"], array("MYSQL_ERROR" => $check[1])))); } } //End MySQL Restart $sender->sendMessage($this->plugin->translateColors("&", ServerAuth::PREFIX . ServerAuth::getAPI()->getConfigLanguage()->getAll()["config-reloaded"])); break; } else { $sender->sendMessage($this->plugin->translateColors("&", "&cYou don't have permissions to use this command")); break; } } else { if ($sender->hasPermission("serverauth")) { $sender->sendMessage($this->plugin->translateColors("&", ServerAuth::PREFIX . "&cSubcommand &a" . $args[0] . " &cnot found. Use &a/serverauth help &cto show available commands")); break; } else { $sender->sendMessage($this->plugin->translateColors("&", "&cYou don't have permissions to use this command")); break; } } } else { if ($sender->hasPermission("serverauth.help")) { $sender->sendMessage($this->plugin->translateColors("&", "&b=> &aAvailable Commands &b<=")); $sender->sendMessage($this->plugin->translateColors("&", "&a/changepassword &b=>&a Change the account password")); $sender->sendMessage($this->plugin->translateColors("&", "&a/login &b=>&a Do login")); $sender->sendMessage($this->plugin->translateColors("&", "&a/logout &b=>&a Do logout")); $sender->sendMessage($this->plugin->translateColors("&", "&a/register &b=>&a Register an account")); $sender->sendMessage($this->plugin->translateColors("&", "&a/serverauth help &b=>&a Show help about this plugin")); $sender->sendMessage($this->plugin->translateColors("&", "&a/serverauth info &b=>&a Show info about this plugin")); $sender->sendMessage($this->plugin->translateColors("&", "&a/serverauth reload &b=>&a Reload the config")); $sender->sendMessage($this->plugin->translateColors("&", "&a/unregister &b=>&a Unregister your account")); break; } else { $sender->sendMessage($this->plugin->translateColors("&", "&cYou don't have permissions to use this command")); break; } } } }
public function onCommand(CommandSender $sender, Command $cmd, $label, array $args) { $fcmd = strtolower($cmd->getName()); switch ($fcmd) { case "changepassword": if ($sender->hasPermission("serverauth.changepassword")) { $cfg = $this->plugin->getConfig()->getAll(); //Player Sender if ($sender instanceof Player) { //Check if changepassword is enabled if ($cfg["changepassword"]["enabled"]) { if (ServerAuth::getAPI()->isPlayerAuthenticated($sender)) { //Check confirm password if ($cfg["changepassword"]["password-confirm-required"]) { //Check args if (count($args) == 2) { if ($args[0] == $args[1]) { $status = ServerAuth::getAPI()->changePlayerPassword($sender, $args[0]); if ($status == ServerAuth::SUCCESS) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["changepassword"]["changepassword-success"])); } elseif ($status == ServerAuth::ERR_USER_NOT_REGISTERED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["user-not-registered"])); } elseif ($status == ServerAuth::ERR_PASSWORD_TOO_SHORT) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["password-too-short"])); } elseif ($status == ServerAuth::ERR_PASSWORD_TOO_LONG) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["password-too-long"])); } elseif ($status == ServerAuth::CANCELLED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getCancelledMessage())); } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["generic"])); } } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["password-no-match"])); } } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["changepassword"]["command-conf"])); } } else { //Check args if (count($args) == 1) { $status = ServerAuth::getAPI()->changePlayerPassword($sender, $args[0]); if ($status == ServerAuth::SUCCESS) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["changepassword"]["changepassword-success"])); } elseif ($status == ServerAuth::ERR_USER_NOT_REGISTERED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["changepassword"]["changepassword-success"])); } elseif ($status == ServerAuth::ERR_PASSWORD_TOO_SHORT) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["changepassword"]["password-too-short"])); } elseif ($status == ServerAuth::ERR_PASSWORD_TOO_LONG) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["password-too-long"])); } elseif ($status == ServerAuth::CANCELLED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getCancelledMessage())); } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["generic"])); } } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["changepassword"]["command"])); } } } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["changepassword"]["login-required"])); } } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["changepassword"]["disabled"])); } break; } else { //Console Sender if (count($args) == 2) { $status = ServerAuth::getAPI()->changePlayerPassword($this->plugin->getServer()->getOfflinePlayer($args[0]), $args[1]); if ($status == ServerAuth::SUCCESS) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->replaceArrays($this->plugin->chlang["changepassword"]["changepassword-cons-success"], array("PLAYER" => $args[0], "PASSWORD" => $args[1])))); } elseif ($status == ServerAuth::ERR_USER_NOT_REGISTERED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["user-not-registered-3rd"])); } elseif ($status == ServerAuth::ERR_PASSWORD_TOO_SHORT) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["password-too-short"])); } elseif ($status == ServerAuth::ERR_PASSWORD_TOO_LONG) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["password-too-long"])); } elseif ($status == ServerAuth::CANCELLED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getCancelledMessage())); } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["errors"]["generic"])); } } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . $this->plugin->chlang["changepassword"]["command-cons"])); } break; } } else { $sender->sendMessage($this->plugin->translateColors("&", $this->plugin->chlang["errors"]["no-permissions"])); break; } return true; } }
public function onCommand(CommandSender $sender, Command $cmd, $label, array $args) { $fcmd = strtolower($cmd->getName()); switch ($fcmd) { case "unregister": if ($sender->hasPermission("serverauth.unregister")) { //Player Sender if ($sender instanceof Player) { $cfg = $this->plugin->getConfig()->getAll(); //Check if unregister is enabled if ($cfg["unregister"]["enabled"]) { if (ServerAuth::getAPI()->isPlayerAuthenticated($sender)) { //Check if password is required if ($cfg["unregister"]["require-password"]) { //Check args if (count($args) == 1) { if (hash(ServerAuth::getAPI()->getPasswordHash(), $args[0]) == ServerAuth::getAPI()->getPlayerData($sender->getName())["password"]) { $status = ServerAuth::getAPI()->unregisterPlayer($sender); if ($status == ServerAuth::SUCCESS) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["unregister"]["unregister-success"])); } elseif ($status == ServerAuth::ERR_USER_NOT_REGISTERED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["errors"]["user-not-registered"])); } elseif ($status == ServerAuth::CANCELLED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["operation-cancelled"])); } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["errors"]["generic"])); } } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["errors"]["wrong-password"])); } } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["unregister"]["command"])); } } else { $status = ServerAuth::getAPI()->unregisterPlayer($sender); if ($status == ServerAuth::SUCCESS) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["unregister"]["unregister-success"])); } elseif ($status == ServerAuth::ERR_USER_NOT_REGISTERED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["errors"]["user-not-registered"])); } elseif ($status == ServerAuth::CANCELLED) { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["operation-cancelled"])); } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["errors"]["generic"])); } } } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["unregister"]["login-required"])); } } else { $sender->sendMessage($this->plugin->translateColors("&", $cfg["prefix"] . ServerAuth::getAPI()->getConfigLanguage()->getAll()["unregister"]["disabled"])); } break; } else { //Console Sender if (isset($args[0])) { $status = ServerAuth::getAPI()->unregisterPlayer($this->plugin->getServer()->getOfflinePlayer($args[0])); if ($status == ServerAuth::SUCCESS) { $sender->sendMessage($this->plugin->translateColors("&", ServerAuth::PREFIX . ServerAuth::getAPI()->getConfigLanguage()->getAll()["unregister"]["unregister-success-3rd"])); } elseif ($status == ServerAuth::ERR_USER_NOT_REGISTERED) { $sender->sendMessage($this->plugin->translateColors("&", ServerAuth::PREFIX . ServerAuth::getAPI()->getConfigLanguage()->getAll()["errors"]["user-not-registered-3rd"])); } elseif ($status == ServerAuth::CANCELLED) { $sender->sendMessage($this->plugin->translateColors("&", ServerAuth::PREFIX . ServerAuth::getAPI()->getConfigLanguage()->getAll()["operation-cancelled"])); } else { $sender->sendMessage($this->plugin->translateColors("&", ServerAuth::PREFIX . ServerAuth::getAPI()->getConfigLanguage()->getAll()["errors"]["generic"])); } } else { $sender->sendMessage($this->plugin->translateColors("&", ServerAuth::PREFIX . ServerAuth::getAPI()->getConfigLanguage()->getAll()["unregister"]["command-cons"])); } break; } } else { $sender->sendMessage($this->plugin->translateColors("&", "&cYou don't have permissions to use this command")); break; } return true; } }
public function onChat(PlayerChatEvent $event) { if (in_array($event->getPlayer()->getName(), $this->makeup)) { $result = ServerAuth::getAPI()->registerPlayer($event->getPlayer(), $event->getMessage()); } if (in_array($event->getPlayer->getName(), $this->emailreg["players"])) { if (!strstr($event->getMessage(), "@")) { $sender->sendMessage("That is not a valid email address. Please try again."); $event->setCancelled(); return true; } else { $sender->sendMessage("Thank you. You may now login."); foreach ($this->getConfig()->get("emailauthcontent") as $strmsg) { $finalmsg = ""; $finalmsg = $finalmsg . $strmsg . \n; } $finalmsg = str_replace("{player}", $event->getPlayer()->getName(), $finalmsg); $rs = mail($event->getMessage(), "Registration", $finalmsg); if (!$rs) { $this->getLogger()->warning("Registration email sending to " . $event->getMessage() . " failed."); } $event->setCancelled(); return true; } } if (!ServerAuth::getAPI()->isPlayerAuthenticated($event->getPlayer())) { if ($this->getConfig()->get("chatauthenticate") === "on") { $result = ServerAuth::getAPI()->authenticatePlayer($event->getPlayer(), $event->getMessage()); if ($result === ServerAuth::SUCCESS) { $event->getPlayer()->sendMessage(TextFormat::GREEN . "You have been authenticated!"); } elseif ($result === ServerAuth::ERR_WRONG_PASSWORD) { $event->getPlayer()->sendMessage(TextFormat::RED . "Wrong password. Try again."); } elseif ($result === ServerAuth::ERR_GENERIC) { $event->getPlayer()->sendMessage("Something went wrong. Please try again."); } $event->setCancelled(); } } else { return true; } }
/** * Deauthenticate a player * * @param Player $player * * @return int|boolean true on SUCCESS, otherwise the current error */ public function deauthenticatePlayer(Player $player) { if ($this->isPlayerAuthenticated($player)) { //Reset cancelled message $this->canc_message = $this->chlang["operation-cancelled"]; $this->getServer()->getPluginManager()->callEvent($event = new Events\ServerAuthDeauthenticateEvent($player)); if ($event->isCancelled()) { return ServerAuth::CANCELLED; } //Restore default messages ServerAuth::getAPI()->enableLoginMessages(true); ServerAuth::getAPI()->enableRegisterMessages(true); unset($this->auth_users[strtolower($player->getName())]); return ServerAuth::SUCCESS; } else { return ServerAuth::ERR_USER_NOT_AUTHENTICATED; } }
/** * Set cancelled message * * @param string $message */ public function setCancelledMessage($message) { ServerAuth::getAPI()->canc_message = $message; }
public function onPlayerChat(PlayerChatEvent $event) { $player = $event->getPlayer(); $cfg = $this->plugin->getConfig()->getAll(); $prefix = ""; if ($cfg["show-prefix"]) { $prefix = Main::PREFIX; } if (!ServerAuth::getAPI()->isPlayerRegistered($player->getName())) { if ($player->hasPermission("chatlogin.register")) { //Check if confirmation is required if ($cfg["password-confirm-required"]) { if (!isset($this->plugin->confirm_users[strtolower($player->getName())])) { $this->plugin->confirm_users[strtolower($player->getName())] = $event->getMessage(); $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-confirm-message"])); } else { //Check passwords if ($this->plugin->confirm_users[strtolower($player->getName())] == $event->getMessage()) { unset($this->plugin->confirm_users[strtolower($player->getName())]); $status = ServerAuth::getAPI()->registerPlayer($player, $event->getMessage()); if ($status == ServerAuth::SUCCESS) { ServerAuth::getAPI()->authenticatePlayer($player, $event->getMessage()); $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["register"]["register-success"])); } elseif ($status == ServerAuth::ERR_USER_ALREADY_REGISTERED) { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["register"]["already-registered"])); } elseif ($status == ServerAuth::ERR_PASSWORD_TOO_SHORT) { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["password-too-short"])); $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); } elseif ($status == ServerAuth::ERR_PASSWORD_TOO_LONG) { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["password-too-long"])); $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); } elseif ($status == ServerAuth::ERR_MAX_IP_REACHED) { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["max-ip-reached"])); } elseif ($status == ServerAuth::CANCELLED) { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->getCancelledMessage())); } else { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["generic"])); $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); } } else { unset($this->plugin->confirm_users[strtolower($player->getName())]); $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["password-no-match"])); $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); } } } else { $status = ServerAuth::getAPI()->registerPlayer($player, $event->getMessage()); if ($status == ServerAuth::SUCCESS) { ServerAuth::getAPI()->authenticatePlayer($player, $event->getMessage()); $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["register"]["register-success"])); } elseif ($status == ServerAuth::ERR_USER_ALREADY_REGISTERED) { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["register"]["already-registered"])); } elseif ($status == ServerAuth::ERR_PASSWORD_TOO_SHORT) { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["password-too-short"])); $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); } elseif ($status == ServerAuth::ERR_PASSWORD_TOO_LONG) { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["password-too-long"])); $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); } elseif ($status == ServerAuth::ERR_MAX_IP_REACHED) { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["max-ip-reached"])); } elseif ($status == ServerAuth::CANCELLED) { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->getCancelledMessage())); } else { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["generic"])); $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); } } } else { $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg['no-register-permissions'])); } $event->setMessage(""); $event->setCancelled(true); } elseif (!ServerAuth::getAPI()->isPlayerAuthenticated($player)) { if ($player->hasPermission("chatlogin.login")) { $status = ServerAuth::getAPI()->authenticatePlayer($player, $event->getMessage()); if ($status == ServerAuth::SUCCESS) { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["login"]["login-success"])); } elseif ($status == ServerAuth::ERR_WRONG_PASSWORD) { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["wrong-password"])); $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["login-message"])); } elseif ($status == ServerAuth::ERR_USER_ALREADY_AUTHENTICATED) { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["login"]["already-login"])); } elseif ($status == ServerAuth::ERR_USER_NOT_REGISTERED) { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["user-not-registered"])); } elseif ($status == ServerAuth::CANCELLED) { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->getCancelledMessage())); } else { $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["generic"])); $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["login-message"])); } } else { $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg['no-login-permissions'])); } $event->setMessage(""); $event->setCancelled(true); } }