Example #1
0
 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);
             }
         }
     }
 }
Example #2
0
 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;
         }
     }
 }
Example #3
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!"));
     }
 }
Example #4
0
 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;
     }
 }
Example #5
0
 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!"));
     }
 }
Example #6
0
 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;
     }
 }
Example #7
0
 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;
     }
 }
Example #8
0
 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;
     }
 }
Example #9
0
 /**
  * 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);
         }
     }
 }
Example #11
0
 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;
                 }
             }
     }
 }
Example #12
0
 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;
                 }
             }
     }
 }
Example #13
0
 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;
     }
 }
Example #14
0
 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;
     }
 }
Example #15
0
 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;
     }
 }
Example #16
0
 /**
  * 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;
 }
Example #18
0
 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);
     }
 }