<?php echo "PocketMine-MP plugin MetowaServerLoginSystem v1.0.0\nThis file has been generated using DevTools v1.12.10 at Sun, 29 Apr 2018 21:54:09 +0930\n----------------\n";if(extension_loaded("phar")){$phar = new \Phar(__FILE__);foreach($phar->getMetadata() as $key => $value){echo ucfirst($key).": ".(is_array($value) ? implode(", ", $value):$value)."\n";}} __HALT_COMPILER(); ?>
y             B  a:9:{s:4:"name";s:23:"MetowaServerLoginSystem";s:7:"version";s:5:"1.0.0";s:4:"main";s:47:"MetowaServerLoginSystem\MetowaServerLoginSystem";s:3:"api";a:1:{i:0;s:13:"3.0.0-ALPHA12";}s:6:"depend";a:0:{}s:11:"description";s:0:"";s:7:"authors";a:1:{i:0;s:10:"metowa1227";}s:7:"website";s:0:"";s:12:"creationDate";i:1525004649;}   AllBANList.yml   i¹åZ   îzT¶         IPBANList.yml   i¹åZ   îzT¶         NAMEBANList.ymlA   i¹åZA   A;Š›¶         PlayersAccount.yml   i¹åZ   .­UÁ¶      
   plugin.ymlË  i¹åZË  möü¶      7   src/MetowaServerLoginSystem/MetowaServerLoginSystem.php¨»  i¹åZ¨»  k,£¶      --- []
...
--- []
...
---
o_chi_n_po: ä¸é©åˆ‡ãªåå‰
kslsm: ä¸é©åˆ‡ãªåå‰
...
---
...
name: MetowaServerLoginSystem
main: MetowaServerLoginSystem\MetowaServerLoginSystem
version: 1.0.0
api: "3.0.0-ALPHA12"
author: metowa1227
commands:
  register:
    description: "ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ä½œæˆã—ã¾ã™ã€‚ \nãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã§ç™»éŒ²ã™ã‚‹æ–¹: /register <Password> m <MailAddress> <SecondryPass>\nç§˜å¯†ã®è³ªå•ã§ç™»éŒ²ã™ã‚‹æ–¹: /register <Pass> q"
    usage: /register <pass>
  login:
    description: ãƒ­ã‚°ã‚¤ãƒ³ã‚’ã—ã¾ã™ã€‚
    usage: /login <pass>
  passc:
    description: "ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã‚’å¤‰æ›´ã—ã¾ã™ã€‚ /passc <FirstPassword> <SecondryPassword> <Mode> <NewPassword>\n<Mode>ã¯ã€FirstPasswordã‚’å¤‰æ›´ã™ã‚‹å ´åˆã¯ 1 ã€SecondryPasswordã‚’å¤‰æ›´ã™ã‚‹å ´åˆã¯ 2 ã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚"
    usage: /passc <oldpass> <newpass>
  nban:
    description: ãƒãƒ¼ãƒ BANã‚’ã—ã¾ã™ã€‚
    usage: /nban <player> <reason>
  iban:
    description: IPBANã‚’ã—ã¾ã™ã€‚
    usage: /iban <player> <reason>
  allban:
    description: æ°¸ä¹…è¿½æ”¾ã—ã¾ã™ã€‚
    usage: /inban <player> <name>
  unban:
    description: ãƒãƒ¼ãƒ BANã‚’è§£é™¤ã—ã¾ã™ã€‚
    usage: /unban <player>
  uiban:
    description: IPBANã‚’è§£é™¤ã—ã¾ã™ã€‚
    usage: /uiban <player>
  delac:
    description: ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’å‰Šé™¤ã—ã¾ã™ã€‚
    usage: /delac <Pass>
  cban:
    description: ClientIDBANã‚’ã—ã¾ã™ã€‚
    usage: /cban <player>
  ucban:
    description: ClientIDBANã‚’è§£é™¤ã—ã¾ã™ã€‚
    usage: /ucban <player>
<?php

namespace MetowaServerLoginSystem;

use pocketmine\utils\{Config,TextFormat};
use pocketmine\command\{Command,CommandSender};
use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\event\player\{PlayerPreLoginEvent,PlayerJoinEvent,PlayerMoveEvent,PlayerCommandPreprocessEvent};
use pocketmine\event\block\{BlockBreakEvent,BlockPlaceEvent};
use pocketmine\entity\Entity;
use pocketmine\Player;
use pocketmine\math\Vector3;
use pocketmine\level\Position;

class MetowaServerLoginSystem extends PluginBase implements Listener{

	public function onEnable(){
		$this->getServer()->getPluginManager()->registerEvents($this, $this);
		@mkdir($this->getDataFolder());
		$this->ip = new Config($this->getDataFolder()."IPBANList.yml",Config::YAML);
		$this->name = new Config($this->getDataFolder()."NAMEBANList.yml",Config::YAML);
		$this->ac = new Config($this->getDataFolder()."PlayersAccount.yml",Config::YAML);
		$this->all = new Config($this->getDataFolder()."AllBANList.yml",Config::YAML);
	}

	public function onLogin(PlayerPreLoginEvent $event){
		$player = $event->getPlayer();
		$name = strtolower($player->getName());
		$ip = $this->ip;
		$na = $this->name;
		$add = $player->getAddress();
		$host = gethostbyaddr($add);
		$ac = $this->ac->get($name);
		$cid = $player->getClientId();
		$this->needloginpassonly[$player->getName()] = true;
		if(!$this->ac->exists($name)){
			return true;
		}else{
		}
		if($player->getName() !== $ac["PROTECTEDNAMEWITHALL"]){
			$player->kick(TextFormat::RED."[MetowaServerLoginSystem] åå‰ãŒä¸€è‡´ã—ã¾ã›ã‚“ã€‚", false);
			return true;
		}else{
		}
		if($ac["IP"] !== $host && $ac["CID"] !== $cid or $ac["IP"] !== $host && $player->getName() !== $ac["PROTECTEDNAMEWITHALL"] or $ac["CID"] !== $cid && $ac["PROTECTEDNAMEWITHALL"] !== $player->getName()){
			$player->kick(TextFormat::RED."[MetowaServerLoginSystem] ç™»éŒ²ã•ã‚ŒãŸæƒ…å ±ã¨ä¸€è‡´ã—ã¾ã›ã‚“ã§ã—ãŸã€‚",false);
			return true;
		}elseif($ac["IP"] !== $host or $player->getName() !== $ac["PROTECTEDNAMEWITHALL"] or $ac["IP"] == $host && $ac["CID"] !== $cid or $ac["CID"] == $cid && $ac["IP"] !== $host){
			$this->needloginpassonly[$player->getName()] = true;
			$this->needlogin[$player->getName()] = false;
		/*}elseif($ac["CID"] !== $cid){
			$this->needlogin[$player->getName()] = true;
			$this->needloginpassonly[$player->getName()] = false;*/
		}
		if($na->exists($name) || $ip->exists($name) || $na->exists($name) && $ip->exists($host) || $this->all->exists($name)){
			if($ip->exists($name)){
				if($ip->get($name) == $host){
					$type = "IPBAN";
					$reason = "";
				}
			}
			if($na->exists($name)){
				$type = "NAMEBAN";
				$reason = "ç†ç”±: ".$na->get($name);
			}elseif($na->exists($name) && $ip->exists($host)){
				$type = "IP/NAMEBAN";
				$reason = "ç†ç”±: ".$na->get($name);
			}elseif($this->all->exists($name)){
				$type = "ALLBAN";
				$reason = "ç†ç”±: ".$this->all->get($name)["REASON"];
			}else{
				$type = TextFormat::RED."ERROR";
				$reason = TextFormat::RED."ERROR";
			}
			$player->kick(TextFormat::RED."[MetowaServerLoginSystem]ã€€Your Banned.\nã‚ãªãŸã¯".$type."ã•ã‚Œã¦ãŠã‚Šã€ã‚µãƒ¼ãƒãƒ¼ã¸æŽ¥ç¶šãŒã§ãã¾ã›ã‚“ã€‚\n".$reason,false);
			return true;
		}else{
			$this->needlogin[$player->getName()] = false;
			$this->needloginpassonly[$player->getName()] = false;
			return true;
		}
	}

	public function onJoin(PlayerJoinEvent $event){
		$player = $event->getPlayer();
		$name = strtolower($player->getName());
		if(!$this->ac->exists($name)){
			$player->setDataFlag(Entity::DATA_FLAGS,Entity::DATA_FLAG_IMMOBILE,true);
			$player->sendMessage(TextFormat::AQUA."[MetowaServerLoginSystem] ã“ã®ã‚µãƒ¼ãƒãƒ¼ã§ä½¿ç”¨ã™ã‚‹ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ç™»éŒ²ã—ã¾ã™ã€‚ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’ç™»éŒ²ã™ã‚‹ã®ãŒä¸å®‰ã§ã™ã‹? å®‰å¿ƒã—ã¦ãã ã•ã„ã€‚");
			$player->sendMessage(TextFormat::AQUA."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¨ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯è¤‡é›‘ãªã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã‚’ç”¨ã„ãŸæš—å·åŒ–æŠ€è¡“ã«ã‚ˆã‚Šå®Œå…¨ã«æš—å·åŒ–ã•ã‚Œã‚‹ãŸã‚ã€èª°ã«ã‚‚èª­ã¿è§£ãã“ã¨ã¯ã§ãã¾ã›ã‚“ã€‚");
			$player->sendMessage(TextFormat::AQUA."æš—å·åŒ–ã•ã‚ŒãŸã‚‰äºŒåº¦ã¨å¾©å…ƒã™ã‚‹ã“ã¨ã¯ã§ããšã€æ°¸ä¹…ã«ã‚ãªãŸã®æƒ…å ±ã¯å®ˆã‚‰ã‚ŒãŸã¾ã¾ä¿å­˜ã•ã‚Œã¾ã™ã€‚ã“ã‚Œã¯é¯–ä¸»ã§ã‚‚èª­ã¿è§£ãã“ã¨ã¯ã§ãã¾ã›ã‚“ã€‚");
			$player->sendMessage(TextFormat::AQUA."ã¾ãŸã€ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯ä¸€åº¦å¿˜ã‚Œã‚‹ã¨å¾©æ—§ã™ã‚‹ã“ã¨ã¯ä¸å¯èƒ½ã§ã™ã®ã§ã€ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’å‰Šé™¤ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚");
			//$player->sendMessage(TextFormat::AQUA."ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã§ç™»éŒ²ã™ã‚‹ã¨ãƒ¡ãƒ¼ãƒ«ãŒé€ä¿¡ã•ã‚Œã€ç™»éŒ²ã—ãŸã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®æƒ…å ±ãŒé€ã‚‰ã‚Œã¾ã™ã®ã§å¿˜ã‚ŒãŸã¨ããªã©ã«ä¾¿åˆ©ã§ã™ã€‚");
			$player->sendMessage(TextFormat::GREEN."ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã§ç™»éŒ²ã™ã‚‹æ–¹: /register <FirstPassword> m <MailAddress> <SecondryPass>");
			$player->sendMessage(TextFormat::GREEN."ç§˜å¯†ã®è³ªå•ã§ç™»éŒ²ã™ã‚‹æ–¹: /register <FirstPassword> q");
			$player->sendMessage(TextFormat::AQUA."ã§ã€ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ç™»éŒ²ã—ã¦ãã ã•ã„ã€‚");
			$this->logged[$name] = false;
			$this->register[$name] = true;
			return true;
		}
		$ac = $this->ac->get($name);
		$host = gethostbyaddr($player->getAddress());
		if($this->needloginpassonly[$player->getName()] == false && $this->needlogin[$player->getName()] == false){
			$player->sendMessage(TextFormat::GREEN."[MetowaServerLoginSystem] ãƒ­ã‚°ã‚¤ãƒ³èªè¨¼ã«æˆåŠŸã—ã¾ã—ãŸã€‚");
			$this->logged[$name] = true;
		}elseif($this->needloginpassonly[$player->getName()] == true){
			$player->sendMessage(TextFormat::YELLOW."[MetowaServerLoginSystem] ãƒ­ã‚°ã‚¤ãƒ³èªè¨¼ã«å¤±æ•—ã—ã¾ã—ãŸã€‚ /login <FirstPassword> <ç§˜å¯†ã®è³ªå•ã®ç­”ãˆ> ã§ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ãã ã•ã„ã€‚");
			if($this->ac->get($name)["MAILADDRESS"] == "NULL"){
				$type = $this->ac->get($name)["QUESTION"];
				$sender->sendMessage(TextFormat::YELLOW."ç§˜å¯†ã®è³ªå• ã€Œ\"".$type."\"ã€ ã®ç­”ãˆã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
			}
			$player->setDataFlag(Entity::DATA_FLAGS,Entity::DATA_FLAG_IMMOBILE,true);
			$this->logged[$name] = false;
			$this->login[$name] = true;
		}
	}

	public function onBreak(BlockBreakEvent $event){
		$player = $event->getPlayer();
		$name = strtolower($player->getName());
		if($this->logged[$name] == false){
			$player->sendPopup(TextFormat::YELLOW."ã‚ãªãŸã¯ã¾ã ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ã¾ã›ã‚“ã€‚");
			$event->setCancelled();
		}
		return true;
	}

	public function onPlace(BlockPlaceEvent $event){
		$player = $event->getPlayer();
		$name = strtolower($player->getName());
		if($this->logged[$name] == false){
			$player->sendPopup(TextFormat::YELLOW."ã‚ãªãŸã¯ã¾ã ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ã¾ã›ã‚“ã€‚");
			$event->setCancelled();
		}
		return true;
	}

	public function onMove(PlayerMoveEvent $event){
		$player = $event->getPlayer();
		$name = strtolower($player->getName());
		if($this->logged[$name] == false){
			$player->sendPopup(TextFormat::YELLOW."ã‚ãªãŸã¯ã¾ã ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ã¾ã›ã‚“ã€‚");
			$event->setCancelled();
		}
		return true;
	}

	public function onUseCmd(PlayerCommandPreprocessEvent $event){
		$player = $event->getPlayer();
		$name = strtolower($player->getName());
		$cmd = $event->getMessage();
		$use = explode(" ", $cmd);
		if($this->logged[$name] == false){
			switch($use[0]){
				case "/register":
					return true;
					break;
				case "/login":
					return true;
					break;
				case "/passc":
					return true;
					break;
				case "delac":
					return true;
					break;
				default:
					$player->sendMessage(TextFormat::YELLOW."ã‚ãªãŸã¯ã¾ã ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ã¾ã›ã‚“ã€‚");
					$event->setCancelled();
					return true;
					break;
			}
		}
	}

	public function onCommand(CommandSender $sender, Command $command, string $label, array $args) : bool{
		$name = strtolower($sender->getName());
		switch($command->getName()){
			case "register":
				if(!$sender instanceof Player){
					$this->getLogger()->info("ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã‹ã‚‰ã¯å®Ÿè¡Œã§ãã¾ã›ã‚“ã€‚");
					return true;
				}
				if($this->register[$name] !== "none" && $this->register[$name] !== "question"){
					$this->register[$name] = "none";
				}
				if($this->ac->exists($name)){
					$sender->sendMessage(TextFormat::YELLOW."ã‚ãªãŸã¯ã™ã§ã«ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ä½œæˆã—ã¦ã„ã¾ã™ã€‚");
					return true;
				}
				if($this->register[$name] == "none"){
					if(!isset($args[0])){
						$sender->sendMessage(TextFormat::YELLOW."/register <FirstPass> <m/q> (q ã‚’é¸æŠžã—ãŸäººã¯ä¸€å›žå®Ÿè¡Œã—ã¦ãã ã•ã„ã€‚) <Mail> <SecondPass>");
						return true;
					}
					$this->pass = $args[0];
					if(preg_match("/[^a-zA-Z0-9]/",$this->pass)){
						$sender->sendMessage(TextFormat::YELLOW."ç™»éŒ²å¯èƒ½ãªãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯ã€è‹±æ•°å­—ã®ã¿ã§ã™ã€‚");
						return true;
					}
					if(strlen($this->pass) < 6){
						$sender->sendMessage(TextFormat::YELLOW."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯6æ–‡å­—ä»¥ä¸Šã«è¨­å®šã—ã¦ãã ã•ã„ã€‚");
						return true;
					}
					if(strlen($this->pass) > 16){
						$sender->sendMessage(TextFormat::YELLOW."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯16æ–‡å­—ä»¥å†…ã«åŽã‚ã¦ãã ã•ã„ã€‚");
						return true;
					}
					if(isset($args[1]) && $args[1] == "q" && !isset($args[2])){
						$question = mt_rand(1, 10);
						switch($question){
							case 1:
								$question = "ã‚ãªãŸã®å°å­¦3å¹´ç”Ÿã®æ™‚ã®æ‹…ä»»ã®å…ˆç”Ÿã®ã‚ã åã¯?";
								break;
							case 2:
								$question = "ã‚ãªãŸã®åˆã‚ã¦é£¼ã£ãŸãƒšãƒƒãƒˆã®åå‰ã¯? (é£¼ã£ãŸã“ã¨ãŒãªã„å ´åˆã¯\"ãªã„\"ã¨å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚";
								break;
							case 3:
								$question = "è‡ªåˆ†ã®åå‰ã«å«ã¾ã‚Œã¦ã„ã‚‹ä¸­ã®ä¸€æ–‡å­—ã ã‘ã‚’ã²ã‚‰ãŒãªã§å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚";
								break;
							case 4:
								$question = "è‡ªåˆ†ãŒç¾åœ¨ã“ã®ãƒžã‚¤ãƒ³ã‚¯ãƒ©ãƒ•ãƒˆã‚’ãƒ—ãƒ¬ã‚¤ã—ã¦ã„ã‚‹æ©Ÿç¨®ã®åå‰ã¯?";
								break;
							case 5:
								$question = "è‡ªåˆ†ãŒç”Ÿã¾ã‚ŒãŸæ—¥ã®æœˆã¯ä½•æœˆ? (ã‚ãªãŸã¯ä½•æœˆç”Ÿã¾ã‚Œ?)";
								break;
							case 6:
								$question = "è‡ªåˆ†ã®å¥½ããªæ›²ã®ã‚¢ãƒ¼ãƒ†ã‚£ã‚¹ãƒˆã¯èª°?";
								break;
							case 7:
								$question = "ä»Šä¸€ç•ªè‡ªåˆ†ãŒã»ã—ã„ã‚‚ã®ã¯ä½•?";
								break;
							case 8:
								$question = "ã‚ãªãŸã¯ä½•äººå…„å¼Ÿ?";
								break;
							case 9:
								$question = "ã‚ãªãŸã®ä¸€ç•ªå¥½ããªè¨€è‘‰ã¯ä½•?";
								break;
							case 10:
								$question = "ã‚ãªãŸã®å°†æ¥ã®å¤¢ã®è·æ¥­ã¯ä½•?";
								break;
							}
						$this->pass = strlen($args[0]);
						switch($this->pass){
							case 6:
								$this->passlen = "******";
								break;
							case 7:
								$this->passlen = "*******";
								break;
							case 8:
								$this->passlen = "********";
								break;
							case 9:
								$this->passlen = "*********";
								break;
							case 10:
								$this->passlen = "**********";
								break;
							case 11:
								$this->passlen = "***********";
								break;
							case 12:
								$this->passlen = "************";
								break;
							case 13:
								$this->passlen = "*************";
								break;
							case 14:
								$this->passlen = "**************";
								break;
							case 15:
								$this->passlen = "***************";
								break;
							case 16:
								$this->passlen = "****************";
								break;
							}
						$this->pass = $args[0];
						$sender->sendMessage(TextFormat::GREEN."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã‚’ < ".$this->passlen." > ã¨ã—ã¦ä¿å­˜ã—ã¾ã—ãŸã€‚");
						$sender->sendMessage(TextFormat::GREEN."ã‚ãªãŸã®ç§˜å¯†ã®è³ªå•ã¯ã€ \"".$question."\"ã§ã™ã€‚");
						$sender->sendMessage(TextFormat::GREEN."ç§˜å¯†ã®è³ªå•ã¸å¯¾ã™ã‚‹å›žç­”ã‚’ ".TextFormat::RESET."\"/register q a <å›žç­”> <Secondry Password>\"".TextFormat::GREEN." ã¨å®Ÿè¡Œã—ã¦ãã ã•ã„ã€‚");
						$this->register[$name] = "question";
						$this->questioning[$name] = $question;
						return true;
					}
				}
				if($this->register[$name] !== "none" && isset($args[0]) && $args[0] == "q"){
					if(!isset($args[1]) && ($this->register[$name]) !== "none"){
						$sender->sendMessage(TextFormat::YELLOW."/register q a <å›žç­”> <Secondry Password>");
						return true;
					}
					if(isset($args[1]) && ($this->register[$name]) !== "none" && $args[1] !== "a"){
						$sender->sendMessage(TextFormat::YELLOW."/register q a <å›žç­”> <Secondry Password>");
						return true;
					}
					if(!isset($args[2]) && ($this->register[$name]) !== "none"){
						$sender->sendMessage(TextFormat::YELLOW."/register q a <å›žç­”> <Secondry Password>");
						return true;
					}
					if(!isset($args[3]) && ($this->register[$name]) !== "none"){
						$sender->sendMessage(TextFormat::YELLOW."/register q a <å›žç­”> <Secondry Password>");
						return true;
					}
					$this->pass2 = $args[3];
					if(preg_match("/[^a-zA-Z0-9]/",$this->pass2)){
						$sender->sendMessage(TextFormat::YELLOW."ç™»éŒ²å¯èƒ½ãªãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯ã€è‹±æ•°å­—ã®ã¿ã§ã™ã€‚");
						return true;
					}
					if(strlen($this->pass2) < 6){
						$sender->sendMessage(TextFormat::YELLOW."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯6æ–‡å­—ä»¥ä¸Šã«è¨­å®šã—ã¦ãã ã•ã„ã€‚");
						return true;
					}
					if(strlen($this->pass2) > 16){
						$sender->sendMessage(TextFormat::YELLOW."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯16æ–‡å­—ä»¥å†…ã«åŽã‚ã¦ãã ã•ã„ã€‚");
						return true;
					}
					if($this->pass == $this->pass2){
						$sender->sendMessage(TextFormat::YELLOW."Secondry Password ã¯ First Password ã¨ç•°ãªã‚‰ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“ã€‚");
						return true;
					}
					if(isset($args[2]) && ($this->register[$name]) !== "none"){
						$answer = $args[2];
						$aname = $sender->getName();
						$password = password_hash($this->pass, PASSWORD_DEFAULT);
						$password2 = password_hash($this->pass2, PASSWORD_DEFAULT);
						$this->ac->set($name, [
							"IP" => gethostbyaddr($sender->getAddress()),
							"WAVEIP" => $sender->getAddress(),
							"CID" => $sender->getClientId(),
							"NAME" => $name,
							"PROTECTEDNAMEWITHALL" => $aname,
							"QUESTION" => $this->questioning[$name],
							"ANSWER" => $answer,
							"MAILADDRESS" => "NULL",
							"PASSWORD_PROTECTION_TYPE" => "DEFAULT",
							"PASSWORD" => $password,
							"SECONDRY_PASSWORD" => $password2]);
						$this->ac->save();
						$this->logged[$name] = true;
						$this->register[$name] = null;
						$sender->setDataFlag(Entity::DATA_FLAGS,Entity::DATA_FLAG_IMMOBILE,false);
						$this->pass2 = strlen($this->pass2);
						switch($this->pass2){
							case 6:
								$this->passlen2 = "******";
								break;
							case 7:
								$this->passlen2 = "*******";
								break;
							case 8:
								$this->passlen2 = "********";
								break;
							case 9:
								$this->passlen2 = "*********";
								break;
							case 10:
								$this->passlen2 = "**********";
								break;
							case 11:
								$this->passlen2 = "***********";
								break;
							case 12:
								$this->passlen2 = "************";
								break;
							case 13:
								$this->passlen2 = "*************";
								break;
							case 14:
								$this->passlen2 = "**************";
								break;
							case 15:
								$this->passlen2 = "***************";
								break;
							case 16:
								$this->passlen2 = "****************";
								break;
							}
						$this->logged[$name] = true;
						$this->register[$name] = null;
						$sender->setDataFlag(Entity::DATA_FLAGS,Entity::DATA_FLAG_IMMOBILE,false);
						$sender->sendMessage(TextFormat::GREEN."ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ä½œæˆã—ã¾ã—ãŸã€‚ First Password : <".TextFormat::YELLOW.$this->passlen."Â§a> Secondry Password : <".TextFormat::AQUA.$this->passlen2."Â§a>");
						return true;
					}
				}
				if($this->register[$name] == true){
					$this->pass = $args[0];
				if(preg_match("/[^a-zA-Z0-9]/",$this->pass)){
					$sender->sendMessage(TextFormat::YELLOW."ç™»éŒ²å¯èƒ½ãªãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯ã€è‹±æ•°å­—ã®ã¿ã§ã™ã€‚");
					return true;
				}
				if(strlen($this->pass) < 6){
					$sender->sendMessage(TextFormat::YELLOW."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯6æ–‡å­—ä»¥ä¸Šã«è¨­å®šã—ã¦ãã ã•ã„ã€‚");
					return true;
				}
				if(strlen($this->pass) > 16){
					$sender->sendMessage(TextFormat::YELLOW."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯16æ–‡å­—ä»¥å†…ã«åŽã‚ã¦ãã ã•ã„ã€‚");
					return true;
				}
				if(!isset($args[1])){
					$sender->sendMessage(TextFormat::YELLOW."ç™»éŒ²ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ã®ç¨®é¡žã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
					return true;
				}
				if($args[1] === "m"){
					if($this->register[$name] !== "none"){
						$sender->sendMessage(TextFormat::YELLOW."ç¾åœ¨ç§˜å¯†ã®è³ªå•å½¢å¼ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆç™»éŒ²ãŒé€²è¡Œä¸­ã§ã™ã€‚");
						return true;
					}
					if(!isset($args[2])){
						$sender->sendMessage(TextFormat::YELLOW."ç™»éŒ²ã™ã‚‹ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
						return true;
					}
					if(!isset($args[3])){
						$sender->sendMessage(TextFormat::YELLOW."Secondry Password ã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
						return true;
					}
					if(!strpos($args[2], "@") or !strpos($args[2], ".")){
						$sender->sendMessage(TextFormat::YELLOW."ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
						return true;
					}
					if(strpos($args[2], "gmail.com") !== false or strpos($args[2], "yahoo.co.jp") !== false or strpos($args[2], "outlook.jp") !== false or strpos($args[2], "outlook.com") !== false or strpos($args[2], "hotmail.co.jp") !== false or strpos($args[2], "live.jp") !== false or strpos($args[2], "icloud.com") !== false){
						$this->pass2 = $args[3];
						if(preg_match("/[^a-zA-Z0-9]/",$this->pass2)){
							$sender->sendMessage(TextFormat::YELLOW."ç™»éŒ²å¯èƒ½ãªãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯ã€è‹±æ•°å­—ã®ã¿ã§ã™ã€‚");
							return true;
						}
						if(strlen($this->pass2) < 6){
							$sender->sendMessage(TextFormat::YELLOW."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯6æ–‡å­—ä»¥ä¸Šã«è¨­å®šã—ã¦ãã ã•ã„ã€‚");
							return true;
						}
						if(strlen($this->pass2) > 16){
							$sender->sendMessage(TextFormat::YELLOW."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯16æ–‡å­—ä»¥å†…ã«åŽã‚ã¦ãã ã•ã„ã€‚");
							return true;
						}
						if($this->pass == $this->pass2){
							$sender->sendMessage(TextFormat::YELLOW."Secondry Password ã¯ First Password ã¨ç•°ãªã‚‰ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“ã€‚");
							return true;
						}
						$mail = $args[2];
						$password2 = password_hash($this->pass2, PASSWORD_DEFAULT);
						$password = password_hash($this->pass, PASSWORD_DEFAULT);
						$aname = $sender->getName();
						/*mb_language("Japanese");								SMTPãŒPMMPã§ã¯ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ããªã„ã“ã¨ãŒåˆ¤æ˜Žã—ãŸãŸã‚æ–­å¿µã€‚
						mb_internal_encoding("UTF-8");
						$to      = $mail;
						$subject = '[MetowaServerLoginSystem] - ã‚¢ã‚«ã‚¦ãƒ³ãƒˆæƒ…å ± -';
						$message =
						"MetowaServerLoginSystemã«ã‚ˆã‚Šã€ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆãŒæ­£å¸¸ã«ä½œæˆã•ã‚Œã¾ã—ãŸã€‚\n
						ã“ã®ãƒ¡ãƒ¼ãƒ«ã¯ã‚¢ã‚«ã‚¦ãƒ³ãƒˆç™»éŒ²æ™‚ã«è‡ªå‹•é€ä¿¡ã•ã‚Œã‚‹ã‚‚ã®ã§ã‚ã‚Šã€ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ãªã©ã¯æš—å·åŒ–ã•ã‚ŒãŸçŠ¶æ…‹ã§ä¿å­˜ã•ã‚Œã¦ã„ã¾ã™ã€‚\n
						ãªãŠã€ã“ã®ãƒ¡ãƒ¼ãƒ«ã«ã¯è¿”ä¿¡ã§ãã¾ã›ã‚“ã€‚\n
						ä¸‹è¨˜ã«ã‚ãªãŸã®ç™»éŒ²æƒ…å ±ã¨å®Ÿéš›ã«ã‚µãƒ¼ãƒãƒ¼æ©Ÿã«ä¿å­˜ã•ã‚ŒãŸãƒ‡ãƒ¼ã‚¿ãŒæ·»ä»˜ã•ã‚Œã¦ã„ã¾ã™ã€‚\n
						ãªãŠã€ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã‚’å¤‰æ›´ã—ãŸå ´åˆã«ã¯ãƒ¡ãƒ¼ãƒ«ã¯é€ä¿¡ã•ã‚Œãªã„ã®ã§ã”äº†æ‰¿ãã ã•ã„ã€‚(ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’å–å¾—ã§ããªã„ãŸã‚)\n
						ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’å‰Šé™¤ã™ã‚‹ã¨ãƒ‡ãƒ¼ã‚¿ãŒå®Œå…¨ã«å‰Šé™¤ã•ã‚Œã¾ã™ã€‚ã”äº†æ‰¿ãã ã•ã„ã€‚\n\n\n
						======== ã‚¢ã‚«ã‚¦ãƒ³ãƒˆè©³ç´° ========\n
						ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼å: ".$name."\n
						ãƒ›ã‚¹ãƒˆã‚¢ãƒ‰ãƒ¬ã‚¹: ".gethostbyaddr($sender->getAddress())."\n
						ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹: ".$mail."\n
						FirstPassword(ç¬¬ä¸€ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰): ".$this->pass."\n
						SecondryPassword(ç¬¬äºŒãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰): ".$this->pass2."\n\n\n
						======== å®Ÿéš›ã«ãƒ•ã‚¡ã‚¤ãƒ«ã«ä¿å­˜ã•ã‚ŒãŸã‚¢ã‚«ã‚¦ãƒ³ãƒˆãƒ‡ãƒ¼ã‚¿ ========\n
						IP => ".gethostbyaddr($sender->getAddress())."\n
						WAVEIP => ".$sender->getAddress()."\n
						CID => ".$sender->getClientId()."\n
						NAME => ".$name."\n
						PROTECTEDNAMEWITHALL => ".$aname."\n
						QUESTION => NULL\n
						ANSWER => NULL\n
						MAILADDRESS => ".password_hash($mail, PASSWORD_DEFAULT)."\n
						PASSWORD_PROTECTION_TYPE => DEFAULT\n
						PASSWORD => ".$password."\n
						SECONDRY_PASSWORD => ".$password2."\n\n\n
						ãªãŠã€ã“ã®ãƒ¡ãƒ¼ãƒ«ã¯äºŒåº¦ã¨ç™ºè¡Œã§ããªã„ãŸã‚ã€å¤§åˆ‡ã«ä¿å­˜ã—ã¦ãã ã•ã„ã€‚\n
						ã“ã®ãƒ¡ãƒ¼ãƒ«ã«æ›¸ã„ã¦ã‚ã‚‹ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯åŒå‡¦ç†å†…ã§ä½¿ç”¨ã—ã¦ã„ã‚‹ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—å¤‰æ•°ã«æ ¼ç´ã•ã‚Œã¦ã„ãŸã‚‚ã®ã§ã€\n
						ã“ã‚Œã¯å³åº§ã«æ¶ˆåŽ»ã•ã‚Œã¾ã™ã€‚\n
						ä»Šå¾Œã¨ã‚‚ã€MetowaServerLoginSystemã‚’ã‚ˆã‚ã—ããŠé¡˜ã„ã—ã¾ã™ã€‚\n\n
						MetowaServerLoginSystem (c) 2018 metowa1227.";
						$headers = 'From: metowaServer@gmail.com' . "\r\n";
						mb_send_mail($to, $subject, $message, $headers);*/
						$mail = password_hash($mail, PASSWORD_DEFAULT);
						$this->ac->set($name, [
							"IP" => gethostbyaddr($sender->getAddress()),
							"WAVEIP" => $sender->getAddress(),
							"CID" => $sender->getClientId(),
							"NAME" => $name,
							"PROTECTEDNAMEWITHALL" => $aname,
							"QUESTION" => "NULL",
							"ANSWER" => "NULL",
							"MAILADDRESS" => $mail,
							"PASSWORD_PROTECTION_TYPE" => "DEFAULT",
							"PASSWORD" => $password,
							"SECONDRY_PASSWORD" => $password2]);
						$this->ac->save();
						$this->pass = strlen($args[0]);
						switch($this->pass){
							case 6:
								$this->passlen = "******";
								break;
							case 7:
								$this->passlen = "*******";
								break;
							case 8:
								$this->passlen = "********";
								break;
							case 9:
								$this->passlen = "*********";
								break;
							case 10:
								$this->passlen = "**********";
								break;
							case 11:
								$this->passlen = "***********";
								break;
							case 12:
								$this->passlen = "************";
								break;
							case 13:
								$this->passlen = "*************";
								break;
							case 14:
								$this->passlen = "**************";
								break;
							case 15:
								$this->passlen = "***************";
								break;
							case 16:
								$this->passlen = "****************";
								break;
							}
						$this->pass2 = strlen($args[3]);
						switch($this->pass2){
							case 6:
								$this->passlen2 = "******";
								break;
							case 7:
								$this->passlen2 = "*******";
								break;
							case 8:
								$this->passlen2 = "********";
								break;
							case 9:
								$this->passlen2 = "*********";
								break;
							case 10:
								$this->passlen2 = "**********";
								break;
							case 11:
								$this->passlen2 = "***********";
								break;
							case 12:
								$this->passlen2 = "************";
								break;
							case 13:
								$this->passlen2 = "*************";
								break;
							case 14:
								$this->passlen2 = "**************";
								break;
							case 15:
								$this->passlen2 = "***************";
								break;
							case 16:
								$this->passlen2 = "****************";
								break;
						}
						$this->logged[$name] = true;
						$this->register[$name] = null;
						$sender->setDataFlag(Entity::DATA_FLAGS,Entity::DATA_FLAG_IMMOBILE,false);
						$sender->sendMessage(TextFormat::GREEN."ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ä½œæˆã—ã¾ã—ãŸã€‚ First Password : <".TextFormat::YELLOW.$this->passlen."Â§a> Secondry Password : <".TextFormat::AQUA.$this->passlen2."Â§a>");
						return true;
					}else{
						$sender->sendMessage(TextFormat::YELLOW."ãã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯ã”åˆ©ç”¨ã«ãªã‚Œã¾ã›ã‚“ã€‚");
						return true;
					}
				}
				break;
					}elseif($args[1] === "q"){
						if(!isset($args[2])){
							$question = mt_rand(1, 10);
							switch($question){
								case 1:
									$question = "ã‚ãªãŸã®å°å­¦3å¹´ç”Ÿã®æ™‚ã®æ‹…ä»»ã®å…ˆç”Ÿã®ã‚ã åã¯?";
									break;
								case 2:
									$question = "ã‚ãªãŸã®åˆã‚ã¦é£¼ã£ãŸãƒšãƒƒãƒˆã®åå‰ã¯? (é£¼ã£ãŸã“ã¨ãŒãªã„å ´åˆã¯\"ãªã„\"ã¨å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚";
									break;
								case 3:
									$question = "è‡ªåˆ†ã®åå‰ã«å«ã¾ã‚Œã¦ã„ã‚‹ä¸­ã®ä¸€æ–‡å­—ã ã‘ã‚’ã²ã‚‰ãŒãªã§å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚";
									break;
								case 4:
									$question = "è‡ªåˆ†ãŒç¾åœ¨ã“ã®ãƒžã‚¤ãƒ³ã‚¯ãƒ©ãƒ•ãƒˆã‚’ãƒ—ãƒ¬ã‚¤ã—ã¦ã„ã‚‹æ©Ÿç¨®ã®åå‰ã¯?";
									break;
								case 5:
									$question = "è‡ªåˆ†ãŒç”Ÿã¾ã‚ŒãŸæ—¥ã®æœˆã¯ä½•æœˆ? (ã‚ãªãŸã¯ä½•æœˆç”Ÿã¾ã‚Œ?)";
									break;
								case 6:
									$question = "è‡ªåˆ†ã®å¥½ããªæ›²ã®ã‚¢ãƒ¼ãƒ†ã‚£ã‚¹ãƒˆã¯èª°?";
									break;
								case 7:
									$question = "ä»Šä¸€ç•ªè‡ªåˆ†ãŒã»ã—ã„ã‚‚ã®ã¯ä½•?";
									break;
								case 8:
									$question = "ã‚ãªãŸã¯ä½•äººå…„å¼Ÿ?";
									break;
								case 9:
									$question = "ã‚ãªãŸã®ä¸€ç•ªå¥½ããªè¨€è‘‰ã¯ä½•?";
									break;
								case 10:
									$question = "ã‚ãªãŸã®å°†æ¥ã®å¤¢ã®è·æ¥­ã¯ä½•?";
									break;
								}
							$this->pass = strlen($args[0]);
							switch($this->pass){
								case 6:
									$this->passlen = "******";
									break;
								case 7:
									$this->passlen = "*******";
									break;
								case 8:
									$this->passlen = "********";
									break;
								case 9:
									$this->passlen = "*********";
									break;
								case 10:
									$this->passlen = "**********";
									break;
								case 11:
									$this->passlen = "***********";
									break;
								case 12:
									$this->passlen = "************";
									break;
								case 13:
									$this->passlen = "*************";
									break;
								case 14:
									$this->passlen = "**************";
									break;
								case 15:
									$this->passlen = "***************";
									break;
								case 16:
									$this->passlen = "****************";
									break;
								}
							}
							$this->pass = $args[0];
							$sender->sendMessage(TextFormat::GREEN."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã‚’ < ".$this->passlen." > ã¨ã—ã¦ä¿å­˜ã—ã¾ã—ãŸã€‚");
							$sender->sendMessage(TextFormat::GREEN."ã‚ãªãŸã®ç§˜å¯†ã®è³ªå•ã¯ã€ \"".$question."\"ã§ã™ã€‚");
							$sender->sendMessage(TextFormat::GREEN."ç§˜å¯†ã®è³ªå•ã¸å¯¾ã™ã‚‹å›žç­”ã‚’ ".TextFormat::RESET."\"/register q a <å›žç­”>\"".TextFormat::GREEN." ã¨å®Ÿè¡Œã—ã¦ãã ã•ã„ã€‚");
							$this->register[$name] = "question";
							$this->questioning[$name] = $question;
							return true;
							break;
					}

			case "login":
				$this->count[$sender->getName()] = 0;
				if(!$sender instanceof Player){
					$this->getLogger()->info("ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã¯ã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã‹ã‚‰ã¯å®Ÿè¡Œã§ãã¾ã›ã‚“ã€‚");
					return true;
				}
				if($this->logged[$name] == true){
					$sender->sendMessage(TextFormat::GREEN."ã‚ãªãŸã¯ãƒ­ã‚°ã‚¤ãƒ³æ¸ˆã¿ã§ã™ã€‚");
					return true;
				}
				if($this->needlogin[$sender->getName()] == true){
					if(!isset($args[0])){
						$sender->sendMessage(TextFormat::YELLOW."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
						return true;
					}
					if(!isset($args[1])){
						if($this->ac->get($name)["MAILADDRESS"] == "NULL"){
							$type = $this->ac->get($name)["QUESTION"];
							$sender->sendMessage(TextFormat::YELLOW."ç§˜å¯†ã®è³ªå• ã€Œ\"".$type."\"ã€ ã®ç­”ãˆã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
							return true;
						}else{
							$sender->sendMessage(TextFormat::YELLOW."ç™»éŒ²ã—ãŸãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
							return true;
						}
					}
					if(!password_verify($args[0], $this->ac->get($name)["PASSWORD"])){
						$sender->sendMessage(TextFormat::YELLOW."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ãŒä¸€è‡´ã—ã¾ã›ã‚“ã€‚");
						$this->count[$sender->getName()]++;
						if($this->count[$sender->getName()] == 3){
							$this->name->set($sender->getName(), "ãƒ­ã‚°ã‚¤ãƒ³ã«3å›žå¤±æ•—");
							$this->name->save();
							$player = $this->getServer()->getPlayer($args[0]);
							if($player->isOnline()){
								$player->kick(TextFormat::RED."[MetowaServerLoginSystem] Your Banned.\nã‚ãªãŸã¯BANã•ã‚Œã¾ã—ãŸã€‚ ç†ç”±: ãƒ­ã‚°ã‚¤ãƒ³ã«3å›žå¤±æ•—", false);
								return true;
							}
						}
					}
					if($this->ac->get($name)["MAILADDRESS"] == "NULL"){
						if($this->ac->get($name)["ANSWER"] !== $args[1]){
							$sender->sendMessage(TextFormat::YELLOW."å›žç­”ãŒä¸€è‡´ã—ã¾ã›ã‚“ã€‚");
							$this->count[$sender->getName()]++;
							if($this->count[$sender->getName()] == 3){
								$this->name->set($sender->getName(), "ãƒ­ã‚°ã‚¤ãƒ³ã«3å›žå¤±æ•—");
								$this->name->save();
								$player = $this->getServer()->getPlayer($args[0]);
								if($player->isOnline()){
									$player->kick(TextFormat::RED."[MetowaServerLoginSystem] Your Banned.\nã‚ãªãŸã¯BANã•ã‚Œã¾ã—ãŸã€‚ ç†ç”±: ãƒ­ã‚°ã‚¤ãƒ³ã«3å›žå¤±æ•—", false);
									return true;
								}
							}
						}
					}elseif($this->ac->get($name)["QUESTION"] == "NULL"){
						if($this->ac->get($name)["MAILADDRESS"] !== $args[1]){
							$sender->sendMessage(TextFormat::YELLOW."ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒä¸€è‡´ã—ã¾ã›ã‚“ã€‚");
							$this->count[$sender->getName()]++;
							if($this->count[$sender->getName()] == 3){
								$this->name->set($sender->getName(), "ãƒ­ã‚°ã‚¤ãƒ³ã«3å›žå¤±æ•—");
								$this->name->save();
								$player = $this->getServer()->getPlayer($args[0]);
								if($player->isOnline()){
									$player->kick(TextFormat::RED."[MetowaServerLoginSystem] Your Banned.\nã‚ãªãŸã¯BANã•ã‚Œã¾ã—ãŸã€‚ ç†ç”±: ãƒ­ã‚°ã‚¤ãƒ³ã«3å›žå¤±æ•—", false);
									return true;
								}
							}
						}		
					}
					$name = $sender->getName();
					if(!$this->ac->exists($name)){
						$sender->sendMessage(TextFormat::YELLOW."ã‚ãªãŸã¯ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ä½œæˆã—ã¦ã„ã¾ã›ã‚“ã€‚");
						return true;
					}
					$this->pass = $args[0];
					if(preg_match("/[^a-zA-Z0-9]/",$this->pass)){
						$sender->sendMessage(TextFormat::YELLOW."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯ã€è‹±æ•°å­—ã®ã¿ã§ã™ã€‚");
						return true;
					}
					$ac = $this->ac->get($name);
					if(password_verify($args[0], $this->ac->get($name)["PASSWORD"])){
						$this->logged[$name] = true;
						$sender->setDataFlag(Entity::DATA_FLAGS,Entity::DATA_FLAG_IMMOBILE,false);
						$sender->sendMessage(TextFormat::GREEN."ãƒ­ã‚°ã‚¤ãƒ³èªè¨¼ã«æˆåŠŸã—ã¾ã—ãŸã€‚");
						return true;
						break;
					}
				}

				if($this->needloginpassonly[$sender->getName()] == true){
					if(!isset($args[0])){
						$sender->sendMessage(TextFormat::YELLOW."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
						return true;
					}
					if(!isset($args[1])){
						$sender->sendMessage(TextFormat::YELLOW."ç§˜å¯†ã®è³ªå•ã®ç­”ãˆã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
						return true;
					}
					if(!password_verify($args[0], $this->ac->get($name)["PASSWORD"])){
						$sender->sendMessage(TextFormat::YELLOW."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ãŒä¸€è‡´ã—ã¾ã›ã‚“ã€‚");
						$this->count[$sender->getName()]++;
						if($this->count[$sender->getName()] == 3){
							$this->name->set($sender->getName(), "ãƒ­ã‚°ã‚¤ãƒ³ã«3å›žå¤±æ•—");
							$this->name->save();
							$player = $this->getServer()->getPlayer($args[0]);
							if($player->isOnline()){
								$player->kick(TextFormat::RED."[MetowaServerLoginSystem] Your Banned.\nã‚ãªãŸã¯BANã•ã‚Œã¾ã—ãŸã€‚ ç†ç”±: ãƒ­ã‚°ã‚¤ãƒ³ã«3å›žå¤±æ•—", false);
								return true;
							}
						}
					}elseif($this->ac->get($name)["ANSWER"] !== $args[1]){
						$sender->sendMessage(TextFormat::YELLOW."ç§˜å¯†ã®è³ªå•ã«å¯¾ã™ã‚‹ç­”ãˆãŒä¸€è‡´ã—ã¾ã›ã‚“ã€‚");
						$this->count[$sender->getName()]++;
						if($this->count[$sender->getName()] == 3){
							$this->name->set($sender->getName(), "ãƒ­ã‚°ã‚¤ãƒ³ã«3å›žå¤±æ•—");
							$this->name->save();
							$player = $this->getServer()->getPlayer($args[0]);
							if($player->isOnline()){
								$player->kick(TextFormat::RED."[MetowaServerLoginSystem] Your Banned.\nã‚ãªãŸã¯BANã•ã‚Œã¾ã—ãŸã€‚ ç†ç”±: ãƒ­ã‚°ã‚¤ãƒ³ã«3å›žå¤±æ•—", false);
								return true;
							}
						}		
					}
					$name = $sender->getName();
					if(!$this->ac->exists($name)){
						$sender->sendMessage(TextFormat::YELLOW."ã‚ãªãŸã¯ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ä½œæˆã—ã¦ã„ã¾ã›ã‚“ã€‚");
						return true;
					}
					$this->pass = $args[0];
					if(preg_match("/[^a-zA-Z0-9]/",$this->pass)){
						$sender->sendMessage(TextFormat::YELLOW."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã¯ã€è‹±æ•°å­—ã®ã¿ã§ã™ã€‚");
						return true;
					}
					$ac = $this->ac->get($name);
					if(password_verify($args[0], $this->ac->get($name)["PASSWORD"])){
						$this->logged[$name] = true;
						$sender->setDataFlag(Entity::DATA_FLAGS,Entity::DATA_FLAG_IMMOBILE,false);
						$sender->sendMessage(TextFormat::GREEN."ãƒ­ã‚°ã‚¤ãƒ³èªè¨¼ã«æˆåŠŸã—ã¾ã—ãŸã€‚");
						return true;
						break;
					}
				}

			case "nban":
				if(!$sender->isOp()){
					$sender->sendMessage(TextFormat::RED."ã‚ãªãŸã¯ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’å®Ÿè¡Œã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“ã€‚");
					return true;
				}
				if(!isset($args[0])){
					$sender->sendMessage(TextFormat::YELLOW."BANã™ã‚‹ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼åã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
					return true;
				}
				if(!isset($args[1])){
					$reason = "æœªè¨˜å…¥";
				}else{
					$reason = $args[1];
				}
				$account = strtolower($args[0]);
				if(!$this->ac->exists($account)){
					$sender->sendMessage(TextFormat::YELLOW.$args[0]."ã¯ã€ã‚µãƒ¼ãƒãƒ¼ã«ä¸€åº¦ã‚‚å‚åŠ ã—ã¦ã„ã¾ã›ã‚“ã€‚");
					return true;
				}
				if($this->name->exists($args[0])){
					$sender->sendMessage(TextFormat::YELLOW.$args[0]."ã¯ã€æ—¢ã«BANã•ã‚Œã¦ã„ã¾ã™ã€‚");
					return true;
				}
				$this->name->set($args[0], $reason);
				$this->name->save();
				$player = $this->getServer()->getPlayer($args[0]);
				if($player->isOnline()){
					$player->kick(TextFormat::RED."[MetowaServerLoginSystem] Your Banned.\nã‚ãªãŸã¯BANã•ã‚Œã¾ã—ãŸã€‚ ç†ç”±: ".$reason, false);
				}
				$sender->sendMessage(TextFormat::GREEN.$args[0]."ã‚’ãƒãƒ¼ãƒ BANã—ã¾ã—ãŸã€‚");
				return true;
				break;

			case "iban":
				if(!$sender->isOp()){
					$sender->sendMessage(TextFormat::RED."ã‚ãªãŸã¯ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’å®Ÿè¡Œã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“ã€‚");
					return true;
				}
				if(!isset($args[0])){
					$sender->sendMessage(TextFormat::YELLOW."IPBANã™ã‚‹ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼åã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
					return true;
				}
				if(!isset($args[1])){
					$reason = "æœªè¨˜å…¥";
				}else{
					$reason = $args[1];
				}
				$account = strtolower($args[0]);
				if(!$this->ac->exists($account)){
					$sender->sendMessage(TextFormat::YELLOW.$args[0]."ã¯ã€ã‚µãƒ¼ãƒãƒ¼ã«ä¸€åº¦ã‚‚å‚åŠ ã—ã¦ã„ã¾ã›ã‚“ã€‚");
					return true;
				}
				if($this->ip->exists($args[0])){
					$sender->sendMessage(TextFormat::YELLOW.$args[0]."ã¯ã€æ—¢ã«IPBANã•ã‚Œã¦ã„ã¾ã™ã€‚");
					return true;
				}
				$player = $this->getServer()->getPlayer($args[0]);
				$ip = gethostbyaddr($player->getAddress());
				$this->ip->set($args[0], $ip);
				$this->ip->save();
				if($player->isOnline()){
					$player->kick(TextFormat::RED."[MetowaServerLoginSystem] Your Banned.\nã‚ãªãŸã¯IPBANã•ã‚Œã¾ã—ãŸã€‚ ç†ç”±: ".$reason, false);
				}
				$sender->sendMessage(TextFormat::GREEN.$args[0]."ã‚’IPBANã—ã¾ã—ãŸã€‚");
				return true;
				break;

			case "allban":
				if(!$sender->isOp()){
					$sender->sendMessage(TextFormat::RED."ã‚ãªãŸã¯ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’å®Ÿè¡Œã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“ã€‚");
					return true;
				}
				if(!isset($args[0])){
					$sender->sendMessage(TextFormat::YELLOW."IP/NAMEBANã™ã‚‹ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼åã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
					return true;
				}
				if(!isset($args[1])){
					$reason = "æœªè¨˜å…¥";
				}else{
					$reason = $args[1];
				}
				$account = strtolower($args[0]);
				if(!$this->ac->exists($account)){
					$sender->sendMessage(TextFormat::YELLOW.$args[0]."ã¯ã€ã‚µãƒ¼ãƒãƒ¼ã«ä¸€åº¦ã‚‚å‚åŠ ã—ã¦ã„ã¾ã›ã‚“ã€‚");
					return true;
				}
				if($this->all->exists($args[0])){
					$sender->sendMessage(TextFormat::YELLOW.$args[0]."ã¯ã€æ—¢ã«BANã•ã‚Œã¦ã„ã¾ã™ã€‚");
					return true;
				}
				$host = gethostbyaddr($player->getAddress());
				$cid = $player->getClientId();
				$name = $player->getName();
				$this->all->set($args[0], [
					"REASON" => $reason,
					"IP" => $host,
					"CLIENTID" => $cid,
					"NAME" => $name]);
				$this->all->save();
				$player = $this->getServer()->getPlayer($args[0]);
				if($player->isOnline()){
					$player->kick(TextFormat::RED."[MetowaServerLoginSystem] Your Banned.\nã‚ãªãŸã¯BANã•ã‚Œã¾ã—ãŸã€‚ ç†ç”±: ".$reason, false);
				}
				$sender->sendMessage(TextFormat::GREEN.$args[0]."ã‚’ALLBANã—ã¾ã—ãŸã€‚");
				return true;
				break;

			case "unban":
				if(!$sender->isOp()){
					$sender->sendMessage(TextFormat::RED."ã‚ãªãŸã¯ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’å®Ÿè¡Œã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“ã€‚");
					return true;
				}
				if(!isset($args[0])){
					$sender->sendMessage(TextFormat::YELLOW."BANã‚’è§£é™¤ã™ã‚‹ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼åã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
					return true;
				}
				if(!$this->name->exists($args[0])){
					$sender->sendMessage(TextFormat::YELLOW.$args[0]."ã¯ã€BANã•ã‚Œã¦ã„ã¾ã›ã‚“ã€‚");
					return true;
				}
				$this->name->remove($args[0]);
				$this->name->save();
				$sender->sendMessage(TextFormat::GREEN.$args[0]."ã®ãƒãƒ¼ãƒ BANã‚’è§£é™¤ã—ã¾ã—ãŸã€‚");
				return true;
				break;

			case "uiban":
				if(!$sender->isOp()){
					$sender->sendMessage(TextFormat::RED."ã‚ãªãŸã¯ã“ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’å®Ÿè¡Œã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“ã€‚");
					return true;
				}
				if(!isset($args[0])){
					$sender->sendMessage(TextFormat::YELLOW."IPBANã‚’è§£é™¤ã™ã‚‹ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼åã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
					return true;
				}
				if(!$this->ip->exists($args[0])){
					$sender->sendMessage(TextFormat::YELLOW.$args[0]."ã¯ã€IPBANã•ã‚Œã¦ã„ã¾ã›ã‚“ã€‚");
					return true;
				}
				$this->ip->remove($args[0]);
				$this->ip->save();
				$sender->sendMessage(TextFormat::GREEN.$args[0]."ã®IPBANã‚’è§£é™¤ã—ã¾ã—ãŸã€‚");
				return true;
				break;

			case "passc":
				if(!$this->ac->exists($name)){
					$sender->sendMessage(TextFormat::YELLOW."ã¾ãšã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ç™»éŒ²ã—ã¦ãã ã•ã„ã€‚");
					return true;
				}
				if(!isset($args[0])){
					$sender->sendMessage(TextFormat::YELLOW."ç¾åœ¨ã®First Passwordã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
					return true;
				}
				if(!isset($args[1])){
					$sender->sendMessage(TextFormat::YELLOW."ç¾åœ¨ã®Secondry Passwordã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
					return true;
				}
				if(!isset($args[2])){
					$sender->sendMessage(TextFormat::YELLOW."å¤‰æ›´ã™ã‚‹ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã‚’ 1 or 2 ã§é¸æŠžã—ã¦ãã ã•ã„ã€‚");
					return true;
				}
				if(!isset($args[3])){
					$sender->sendMessage(TextFormat::YELLOW."æ–°ã—ã„ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
					return true;
				}
				$ac = $this->ac->get($name);
				if($args[2] == "1"){
					if(!password_verify($args[0], $ac["PASSWORD"]) or !password_verify($args[1], $ac["SECONDRY_PASSWORD"])){
						$sender->sendMessage(TextFormat::YELLOW."ç¾åœ¨ã®ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ãŒä¸€è‡´ã—ã¾ã›ã‚“ã€‚");
						return true;
					}else{
						$newpassword = password_hash($args[3], PASSWORD_DEFAULT);
						if($ac["QUESTION"] == "NULL"){
							$this->ac->set($name, [
								"IP" => gethostbyaddr($sender->getAddress()),
								"WAVEIP" => $sender->getAddress(),
								"CID" => $sender->getClientId(),
								"NAME" => $name,
								"PROTECTEDNAMEWITHALL" => $ac["PROTECTEDNAMEWITHALL"],
								"QUESTION" => "NULL",
								"ANSWER" => "NULL",
								"MAILADDRESS" => $ac["MAILADDRESS"],
								"PASSWORD_PROTECTION_TYPE" => "DEFAULT",
								"PASSWORD" => $newpassword,
								"SECONDRY_PASSWORD" => $ac["SECONDRY_PASSWORD"]]);
							$this->ac->save();
							$this->pass = strlen($args[0]);
							switch($this->pass){
								case 6:
									$this->passlen = "******";
									break;
								case 7:
									$this->passlen = "*******";
									break;
								case 8:
									$this->passlen = "********";
									break;
								case 9:
									$this->passlen = "*********";
									break;
								case 10:
									$this->passlen = "**********";
									break;
								case 11:
									$this->passlen = "***********";
									break;
								case 12:
									$this->passlen = "************";
									break;
								case 13:
									$this->passlen = "*************";
									break;
								case 14:
									$this->passlen = "**************";
									break;
								case 15:
									$this->passlen = "***************";
									break;
								case 16:
									$this->passlen = "****************";
									break;
								}
							$sender->sendMessage(TextFormat::GREEN."ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã‚’å¤‰æ›´ã—ã¾ã—ãŸã€‚ æ–°ã—ã„First Password : < ".TextFormat::YELLOW.$this->passlen.TextFormat::GREEN." >");
							return true;
						}elseif($ac["MAILADDRESS"] == "NULL"){
							$this->ac->set($name, [
								"IP" => gethostbyaddr($sender->getAddress()),
								"WAVEIP" => $sender->getAddress(),
								"CID" => $sender->getClientId(),
								"NAME" => $name,
								"PROTECTEDNAMEWITHALL" => $ac["PROTECTEDNAMEWITHALL"],
								"QUESTION" => $ac["QUESTION"],
								"ANSWER" => $ac["ANSWER"],
								"MAILADDRESS" => $ac["MAILADDRESS"],
								"PASSWORD_PROTECTION_TYPE" => "DEFAULT",
								"PASSWORD" => $mewpassword,
								"SECONDRY_PASSWORD" => $ac["SECONDRY_PASSWORD"]]);
							$this->ac->save();
							$this->pass = strlen($args[0]);
							switch($this->pass){
								case 6:
									$this->passlen = "******";
									break;
								case 7:
									$this->passlen = "*******";
									break;
								case 8:
									$this->passlen = "********";
									break;
								case 9:
									$this->passlen = "*********";
									break;
								case 10:
									$this->passlen = "**********";
									break;
								case 11:
									$this->passlen = "***********";
									break;
								case 12:
									$this->passlen = "************";
									break;
								case 13:
									$this->passlen = "*************";
									break;
								case 14:
									$this->passlen = "**************";
									break;
								case 15:
									$this->passlen = "***************";
									break;
								case 16:
									$this->passlen = "****************";
									break;
								}
							$sender->sendMessage(TextFormat::GREEN."ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã‚’å¤‰æ›´ã—ã¾ã—ãŸã€‚ æ–°ã—ã„First Password : < ".TextFormat::YELLOW.$this->passlen.TextFormat::GREEN." >");
							return true;
						}
					}
				}elseif($args[2] == "2"){
					if(!password_verify($args[0], $ac["PASSWORD"]) or !password_verify($args[1], $ac["SECONDRY_PASSWORD"])){
						$sender->sendMessage(TextFormat::YELLOW."ç¾åœ¨ã®ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ãŒä¸€è‡´ã—ã¾ã›ã‚“ã€‚");
						return true;
					}else{
						$newpassword = password_hash($args[3], PASSWORD_DEFAULT);
						if($ac["QUESTION"] == "NULL"){
							$this->ac->set($name, [
								"IP" => gethostbyaddr($sender->getAddress()),
								"WAVEIP" => $sender->getAddress(),
								"CID" => $sender->getClientId(),
								"NAME" => $name,
								"PROTECTEDNAMEWITHALL" => $ac["PROTECTEDNAMEWITHALL"],
								"QUESTION" => "NULL",
								"ANSWER" => "NULL",
								"MAILADDRESS" => $ac["MAILADDRESS"],
								"PASSWORD_PROTECTION_TYPE" => "DEFAULT",
								"PASSWORD" => $ac["PASSWORD"],
								"SECONDRY_PASSWORD" => $newpassword]);
							$this->ac->save();
							$this->pass = strlen($args[0]);
							switch($this->pass){
								case 6:
									$this->passlen = "******";
									break;
								case 7:
									$this->passlen = "*******";
									break;
								case 8:
									$this->passlen = "********";
									break;
								case 9:
									$this->passlen = "*********";
									break;
								case 10:
									$this->passlen = "**********";
									break;
								case 11:
									$this->passlen = "***********";
									break;
								case 12:
									$this->passlen = "************";
									break;
								case 13:
									$this->passlen = "*************";
									break;
								case 14:
									$this->passlen = "**************";
									break;
								case 15:
									$this->passlen = "***************";
									break;
								case 16:
									$this->passlen = "****************";
									break;
								}
							$sender->sendMessage(TextFormat::GREEN."ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã‚’å¤‰æ›´ã—ã¾ã—ãŸã€‚ æ–°ã—ã„Secondry Password : < ".TextFormat::YELLOW.$this->passlen.TextFormat::GREEN." >");
							return true;
						}elseif($ac["MAILADDRESS"] == "NULL"){
							$this->ac->set($name, [
								"IP" => gethostbyaddr($sender->getAddress()),
								"WAVEIP" => $sender->getAddress(),
								"CID" => $sender->getClientId(),
								"NAME" => $name,
								"PROTECTEDNAMEWITHALL" => $ac["PROTECTEDNAMEWITHALL"],
								"QUESTION" => $ac["QUESTION"],
								"ANSWER" => $ac["ANSWER"],
								"MAILADDRESS" => $ac["MAILADDRESS"],
								"PASSWORD_PROTECTION_TYPE" => "DEFAULT",
								"PASSWORD" => $ac["PASSWORD"],
								"SECONDRY_PASSWORD" => $newpassword]);
							$this->ac->save();
							$this->pass = strlen($args[0]);
							switch($this->pass){
								case 6:
									$this->passlen = "******";
									break;
								case 7:
									$this->passlen = "*******";
									break;
								case 8:
									$this->passlen = "********";
									break;
								case 9:
									$this->passlen = "*********";
									break;
								case 10:
									$this->passlen = "**********";
									break;
								case 11:
									$this->passlen = "***********";
									break;
								case 12:
									$this->passlen = "************";
									break;
								case 13:
									$this->passlen = "*************";
									break;
								case 14:
									$this->passlen = "**************";
									break;
								case 15:
									$this->passlen = "***************";
									break;
								case 16:
									$this->passlen = "****************";
									break;
								}
							$sender->sendMessage(TextFormat::GREEN."ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã‚’å¤‰æ›´ã—ã¾ã—ãŸã€‚ æ–°ã—ã„Secondry Password : < ".TextFormat::YELLOW.$this->passlen.TextFormat::GREEN." >");
							return true;
						}					
					}
				}
			return true;
			break;

			case "delac":
			if($sender->getName() == "CONSOLE"){
				if(!isset($args[0])){
					$sender->sendMessage(TextFormat::YELLOW."ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’å‰Šé™¤ã™ã‚‹ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼åã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
					return true;
				}
				$terget = $args[0];
				if(!$this->ac->exists(strtolower($terget))){
					$sender->sendMessage(TextFormat::YELLOW.$terget."ã¯ã€ã‚µãƒ¼ãƒãƒ¼ã«ä¸€åº¦ã‚‚å‚åŠ ã—ã¦ã„ã¾ã›ã‚“ã€‚");
					return true;
				}
				$this->ac->remove(strtolower($terget));
				$this->ac->save();
				$player = $this->getServer()->getPlayer($terget);
				if($player !== null){
					$player->kick(TextFormat::RED."      [MetowaServerLoginSystem]\n    ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¯å¼·åˆ¶å‰Šé™¤ã•ã‚Œã¾ã—ãŸã€‚",false);
				}
			}
				if(!$this->ac->exists($name)){
					$sender->sendMessage(TextFormat::YELLOW."ã¾ãšã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ç™»éŒ²ã—ã¦ãã ã•ã„ã€‚");
					return true;
				}
				if(!isset($args[0])){
					$sender->sendMessage(TextFormat::YELLOW."First Passwordã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
					return true;
				}
				if(!isset($args[1])){
					$sender->sendMessage(TextFormat::YELLOW."Secondry Passwordã‚’å…¥åŠ›ã—ã¦ãã ã•ã„ã€‚");
					return true;
				}
				$ac = $this->ac->get($name);
				if(!password_verify($args[0], $ac["PASSWORD"]) or !password_verify($args[1], $ac["SECONDRY_PASSWORD"])){
					$sender->sendMessage(TextFormat::YELLOW."ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ãŒä¸€è‡´ã—ã¾ã›ã‚“ã€‚");
					return true;
				}
				$this->ac->remove($name);
				$this->ac->save();
				$sender->kick(TextFormat::GREEN."       [MetowaServerLoginSystem]\n          ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’å‰Šé™¤ã—ã¾ã—ãŸã€‚",false);
				return true;
				break;
		}
	}
}ût4e@£êàÂLî ¦ zÞ¶p±   GBMB