getPort() public method

public getPort ( ) : integer
return integer
示例#1
0
文件: Main.php 项目: mwvent/WattzMCPE
 public function forcePlayerDisconnect(Player $player)
 {
     // https://forums.pocketmine.net/threads/temporary-solution-for-transferring-players-in-0-12-1.11759/
     // find out the RakLib interface, which is the network interface that MCPE players connect with
     foreach ($this->getServer()->getNetwork()->getInterfaces() as $interface) {
         if ($interface instanceof RakLibInterface) {
             $raklib = $interface;
             break;
         }
     }
     if (!isset($raklib)) {
         Server::getInstance()->getLogger()->critical(Main::PREFIX . "rakLib not found");
         return;
     }
     // calculate the identifier for the player used by RakLib
     $identifier = $player->getAddress() . ":" . $player->getPort();
     // this method call is the most important one - it sends some signal to RakLib that makes it think that the client has clicked the "Quit to Title" button (or timed out). Some RakLib internal stuff will then tell PocketMine that the player has quitted.
     $raklib->closeSession($identifier, "transfer");
 }
示例#2
0
 /**
  * @param Player $player
  * @param string $message
  * @return string
  */
 public function getFixedMessage(Player $player, $message = "")
 {
     return str_replace(["{PLAYER_ADDRESS}", "{PLAYER_DISPLAY_NAME}", "{PLAYER_NAME}", "{PLAYER_PORT}"], [$player->getAddress(), $player->getDisplayName(), $player->getName(), $player->getPort()], $message);
 }
 private function transferPlayer0(Player $player, $ip, $port)
 {
     $sp = new TransferPacket();
     $sp->address = $this->getHostByName($ip);
     $sp->port = $port;
     $player->dataPacket($sp);
     $interfaces = $this->getServer()->getNetwork()->getInterfaces();
     foreach ($interfaces as $interface) {
         if ($interface instanceof RakLibInterface) {
             //				$class = new \ReflectionClass(RakLibInterface::class);
             //				$prop = $class->getProperty("rakLib");
             //				$prop->setAccessible(true);
             //				/** @var RakLibServer $value */
             //				$value = $prop->getValue($interface);
             $identifier = $player->getAddress() . ":" . $player->getPort();
             //				$value->pushMainToThreadPacket(RakLib::PACKET_CLOSE_SESSION . chr(strlen($identifier)) . $identifier);
             $interface->closeSession($identifier, "transferring");
         }
     }
 }