info() public method

public info ( $message, $name = "INFO" )
 public function handleDataPacket(DataPacket $pk)
 {
     $this->logger->debug("Received packet " . $pk::NETWORK_ID . " from {$this->serverIp}:{$this->port}");
     switch ($pk::NETWORK_ID) {
         case Info::INFORMATION_PACKET:
             /** @var InformationPacket $pk */
             switch ($pk->type) {
                 case InformationPacket::TYPE_LOGIN:
                     if ($pk->message == InformationPacket::INFO_LOGIN_SUCCESS) {
                         $this->logger->info("Login success to {$this->serverIp}:{$this->port}");
                         $this->verified = true;
                     } elseif ($pk->message == InformationPacket::INFO_LOGIN_FAILED) {
                         $this->logger->info("Login failed to {$this->serverIp}:{$this->port}");
                     }
                     break;
                 case InformationPacket::TYPE_CLIENT_DATA:
                     $this->clientData = json_decode($pk->message, true);
                     $this->lastRecvInfo = microtime();
                     break;
             }
             break;
         case Info::PLAYER_LOGIN_PACKET:
             /** @var PlayerLoginPacket $pk */
             $player = new Player($this->synLibInterface, mt_rand(0, PHP_INT_MAX), $pk->address, $pk->port);
             $player->setUniqueId($pk->uuid);
             $this->server->addPlayer(spl_object_hash($player), $player);
             $this->players[$pk->uuid->toBinary()] = $player;
             $player->handleLoginPacket($pk);
             break;
         case Info::REDIRECT_PACKET:
             /** @var RedirectPacket $pk */
             if (isset($this->players[$uuid = $pk->uuid->toBinary()])) {
                 $pk = $this->getPacket($pk->mcpeBuffer);
                 $pk->decode();
                 $this->players[$uuid]->handleDataPacket($pk);
             }
             break;
         case Info::PLAYER_LOGOUT_PACKET:
             /** @var PlayerLogoutPacket $pk */
             if (isset($this->players[$uuid = $pk->uuid->toBinary()])) {
                 $this->players[$uuid]->setConnected(false);
                 $this->players[$uuid]->close("", $pk->reason);
                 $this->removePlayer($this->players[$uuid]);
             }
             break;
     }
 }
        //Found Git information!
        \define("pocketmine\\GIT_COMMIT", \strtolower(\trim(\file_get_contents(\pocketmine\PATH . ".git/refs/heads/master"))));
    } else {
        //Unknown :(
        \define("pocketmine\\GIT_COMMIT", \str_repeat("00", 20));
    }
    @\define("ENDIANNESS", \pack("d", 1) === "?ð" ? Binary::BIG_ENDIAN : Binary::LITTLE_ENDIAN);
    @\define("INT32_MASK", \is_int(4294967295.0) ? 4294967295.0 : -1);
    @\ini_set("opcache.mmap_base", \bin2hex(Utils::getRandomBytes(8, \false)));
    //Fix OPCache address errors
    if (!\file_exists(\pocketmine\DATA . "server.properties") and !isset($opts["no-wizard"])) {
        new Installer();
    }
    if (\Phar::running(\true) === "") {
        $logger->warning("Non-packaged PocketMine-MP installation detected, do not use on production.");
    }
    ThreadManager::init();
    $server = new Server($autoloader, $logger, \pocketmine\PATH, \pocketmine\DATA, \pocketmine\PLUGIN_PATH);
    $logger->info("Stopping other threads");
    foreach (ThreadManager::getInstance()->getAll() as $id => $thread) {
        $logger->debug("Stopping " . (new \ReflectionClass($thread))->getShortName() . " thread");
        $thread->quit();
    }
    $killer = new ServerKiller(8);
    $killer->start();
    $killer->detach();
    $logger->shutdown();
    $logger->join();
    echo Terminal::$FORMAT_RESET . "\n";
    exit(0);
}
Beispiel #3
0
     //Found Git information!
     define("pocketmine\\GIT_COMMIT", strtolower(trim(file_get_contents(\pocketmine\PATH . ".git/refs/heads/master"))));
 } else {
     //Unknown :(
     define("pocketmine\\GIT_COMMIT", str_repeat("00", 20));
 }
 @define("ENDIANNESS", pack("d", 1) === "?�" ? Binary::BIG_ENDIAN : Binary::LITTLE_ENDIAN);
 @define("INT32_MASK", is_int(4294967295.0) ? 4294967295.0 : -1);
 @ini_set("opcache.mmap_base", bin2hex(Utils::getRandomBytes(8, false)));
 //Fix OPCache address errors
 if (!file_exists(\pocketmine\DATA . "server.properties") and !isset($opts["no-wizard"])) {
     new Installer();
 }
 if (\Phar::running(true) === "") {
     $logger->warning("Non-packaged Yuriko-MP installation detected! Do not use it on servers! IT CAN REALLY BLOW UP THE ENTIRE SERVER!");
     $logger->info("Don't call us if your server gets destroyed. We advised you!");
 }
 ThreadManager::init();
 $server = new Server($autoloader, $logger, \pocketmine\PATH, \pocketmine\DATA, \pocketmine\PLUGIN_PATH);
 $logger->info("Stopping other threads");
 foreach (ThreadManager::getInstance()->getAll() as $id => $thread) {
     $logger->debug("Stopping " . (new \ReflectionClass($thread))->getShortName() . " thread");
     $thread->quit();
 }
 $killer = new ServerKiller(8);
 $killer->start();
 $killer->detach();
 $logger->shutdown();
 $logger->join();
 echo Terminal::$FORMAT_RESET . "\n";
 exit(0);
Beispiel #4
0
 Terminal::init();
 define("pocketmine\\ANSI", Terminal::hasFormattingCodes());
 if (!file_exists(\pocketmine\DATA)) {
     mkdir(\pocketmine\DATA, 0777, true);
 }
 //Logger has a dependency on timezone, so we'll set it to UTC until we can get the actual timezone.
 date_default_timezone_set("UTC");
 if (!file_exists("katana.yml")) {
     $content = file_get_contents("src/pocketmine/resources/katana.yml");
     @file_put_contents("katana.yml", $content);
 }
 $tmpKatanaProperties = new Config("katana.yml", Config::YAML, []);
 $saveLog = $tmpKatanaProperties->getNested("console.save-console", true);
 $logger = new MainLogger(\pocketmine\DATA . "server.log", \pocketmine\ANSI, $saveLog);
 if ($saveLog) {
     $logger->info("Writing logs to server.log");
 } else {
     $logger->info("Server logging disabled");
 }
 if (!ini_get("date.timezone")) {
     if ($timezone = detect_system_timezone() and date_default_timezone_set($timezone)) {
         //Success! Timezone has already been set and validated in the if statement.
         //This here is just for redundancy just in case some program wants to read timezone data from the ini.
         ini_set("date.timezone", $timezone);
     } else {
         //If system timezone detection fails or timezone is an invalid value.
         if ($response = Utils::getURL("http://ip-api.com/json") and $ip_geolocation_data = json_decode($response, true) and $ip_geolocation_data['status'] != 'fail' and date_default_timezone_set($ip_geolocation_data['timezone'])) {
             //Again, for redundancy.
             ini_set("date.timezone", $ip_geolocation_data['timezone']);
         } else {
             ini_set("date.timezone", "UTC");
 \ini_set("memory_limit", -1);
 \define("pocketmine\\START_TIME", \microtime(\true));
 $opts = \getopt("", ["data:", "plugins:", "no-wizard", "enable-profiler"]);
 \define("pocketmine\\DATA", isset($opts["data"]) ? $opts["data"] . DIRECTORY_SEPARATOR : \getcwd() . DIRECTORY_SEPARATOR);
 \define("pocketmine\\PLUGIN_PATH", isset($opts["plugins"]) ? $opts["plugins"] . DIRECTORY_SEPARATOR : \getcwd() . DIRECTORY_SEPARATOR . "plugins" . DIRECTORY_SEPARATOR);
 Terminal::init();
 \define("pocketmine\\ANSI", Terminal::hasFormattingCodes());
 if (!\file_exists(\pocketmine\DATA)) {
     \mkdir(\pocketmine\DATA, 0777, \true);
 }
 //Logger has a dependency on timezone, so we'll set it to UTC until we can get the actual timezone.
 \date_default_timezone_set("UTC");
 $saveLog = false;
 $logger = new MainLogger(\pocketmine\DATA . "server.log", \pocketmine\ANSI, $saveLog);
 if ($saveLog) {
     $logger->info("Writing logs to server.log");
 } else {
     $logger->info("Server logging disabled");
 }
 if (!\ini_get("date.timezone")) {
     if ($timezone = detect_system_timezone() and \date_default_timezone_set($timezone)) {
         //Success! Timezone has already been set and validated in the if statement.
         //This here is just for redundancy just in case some program wants to read timezone data from the ini.
         \ini_set("date.timezone", $timezone);
     } else {
         //If system timezone detection fails or timezone is an invalid value.
         if ($response = Utils::getURL("http://ip-api.com/json") and $ip_geolocation_data = \json_decode($response, \true) and $ip_geolocation_data['status'] != 'fail' and \date_default_timezone_set($ip_geolocation_data['timezone'])) {
             //Again, for redundancy.
             \ini_set("date.timezone", $ip_geolocation_data['timezone']);
         } else {
             \ini_set("date.timezone", "UTC");