getPluginManager() public method

public getPluginManager ( ) : PluginManager
return pocketmine\plugin\PluginManager
Esempio n. 1
1
 public function __construct(Server $server, $timeout = 5)
 {
     $this->timeout = $timeout;
     $this->serverName = $server->getMotd();
     $this->listPlugins = $server->getProperty("settings.query-plugins", true);
     $this->plugins = $server->getPluginManager()->getPlugins();
     $this->players = [];
     foreach ($server->getOnlinePlayers() as $player) {
         if ($player->isOnline()) {
             $this->players[] = $player;
         }
     }
     if ($server->isDServerEnabled() and $server->dserverConfig["queryMaxPlayers"]) {
         $pc = $server->dserverConfig["queryMaxPlayers"];
     } elseif ($server->isDServerEnabled() and $server->dserverConfig["queryAllPlayers"]) {
         $pc = $server->getDServerMaxPlayers();
     } else {
         $pc = $server->getMaxPlayers();
     }
     if ($server->isDServerEnabled() and $server->dserverConfig["queryPlayers"]) {
         $poc = $server->getDServerOnlinePlayers();
     } else {
         $poc = count($this->players);
     }
     $this->gametype = ($server->getGamemode() & 0x1) === 0 ? "SMP" : "CMP";
     $this->version = $server->getVersion();
     $this->server_engine = $server->getName() . " " . $server->getPocketMineVersion();
     $this->map = $server->getDefaultLevel() === null ? "unknown" : $server->getDefaultLevel()->getName();
     $this->numPlayers = $poc;
     $this->maxPlayers = $pc;
     $this->whitelist = $server->hasWhitelist() ? "on" : "off";
     $this->port = $server->getPort();
     $this->ip = $server->getIp();
 }
Esempio n. 2
0
 public function check()
 {
     for ($n = 0; $n < $this->threads; ++$n) {
         if ($this->workers[$n]->isTerminated() === true) {
             $this->workers[$n] = new RCONInstance($this->socket, $this->password, $this->clientsPerThread);
         } elseif ($this->workers[$n]->isWaiting()) {
             if ($this->workers[$n]->response !== "") {
                 $this->server->getLogger()->info($this->workers[$n]->response);
                 $this->workers[$n]->synchronized(function (RCONInstance $thread) {
                     $thread->notify();
                 }, $this->workers[$n]);
             } else {
                 $response = new RemoteConsoleCommandSender();
                 $command = $this->workers[$n]->cmd;
                 $this->server->getPluginManager()->callEvent($ev = new RemoteServerCommandEvent($response, $command));
                 if (!$ev->isCancelled()) {
                     $this->server->dispatchCommand($ev->getSender(), $ev->getCommand());
                 }
                 $this->workers[$n]->response = TextFormat::clean($response->getMessage());
                 $this->workers[$n]->synchronized(function (RCONInstance $thread) {
                     $thread->notify();
                 }, $this->workers[$n]);
             }
         }
     }
 }
Esempio n. 3
0
 public function onCompletion(Server $server)
 {
     if (isset($this->error)) {
         $server->getPluginManager()->getPlugin("VoteReward")->getLogger()->error($this->error);
     }
     $server->getPluginManager()->getPlugin("VoteReward")->rewardPlayer($server->getPlayerExact($this->id), $this->rewards);
     array_splice($server->getPluginManager()->getPlugin("VoteReward")->queue, array_search($this->id, $server->getPluginManager()->getPlugin("VoteReward")->queue, true), 1);
 }
Esempio n. 4
0
 public function onCompletion(Server $server)
 {
     $plugin = $server->getPluginManager()->getPlugin($this->owner);
     if ($plugin == null) {
         $server->getLogger()->error("Internal ERROR: " . __METHOD__ . "," . __LINE__);
         return;
     }
     if (!$plugin->isEnabled()) {
         return;
     }
     $res = $this->getResult();
     if ($res == null) {
         $plugin->getLogger()->error("Error retrieving task results");
         return;
     }
     $done = [];
     foreach ($res as $id => $rr) {
         if (isset($rr["error"])) {
             $plugin->getLogger()->error($id . ": " . $rr["error"]);
         } else {
             $done[$id] = $rr["content"];
         }
     }
     $plugin->retrieveDone($done);
     if ($plugin->debug) {
         $plugin->getLogger()->debug("FetchTask completed.");
     }
 }
Esempio n. 5
0
 public function check()
 {
     $d = Utils::getRealMemoryUsage();
     $u = Utils::getMemoryUsage(true);
     $usage = round($u[0] / 1024 / 1024, 2) . "/" . round($d[0] / 1024 / 1024, 2) . "/" . round($u[1] / 1024 / 1024, 2) . "/" . round($u[2] / 1024 / 1024, 2) . " MB @ " . Utils::getThreadCount() . " threads";
     $serverStatus = serialize(["online" => count($this->server->getOnlinePlayers()), "max" => $this->server->getMaxPlayers(), "upload" => round($this->server->getNetwork()->getUpload() / 1024, 2), "download" => round($this->server->getNetwork()->getDownload() / 1024, 2), "tps" => $this->server->getTicksPerSecondAverage(), "load" => $this->server->getTickUsageAverage(), "usage" => $usage]);
     for ($n = 0; $n < $this->threads; ++$n) {
         if (!$this->workers[$n]->isTerminated()) {
             $this->workers[$n]->serverStatus = $serverStatus;
         }
         if ($this->workers[$n]->isTerminated() === true) {
             $this->workers[$n] = new RCONInstance($this->socket, $this->password, $this->clientsPerThread);
         } elseif ($this->workers[$n]->isWaiting()) {
             if ($this->workers[$n]->response !== "") {
                 $this->server->getLogger()->info($this->workers[$n]->response);
                 $this->workers[$n]->synchronized(function (RCONInstance $thread) {
                     $thread->notify();
                 }, $this->workers[$n]);
             } else {
                 $response = new RemoteConsoleCommandSender();
                 $command = $this->workers[$n]->cmd;
                 $this->server->getPluginManager()->callEvent($ev = new RemoteServerCommandEvent($response, $command));
                 if (!$ev->isCancelled()) {
                     $this->server->dispatchCommand($ev->getSender(), $ev->getCommand());
                 }
                 $this->workers[$n]->response = $response->getMessage();
                 $this->workers[$n]->synchronized(function (RCONInstance $thread) {
                     $thread->notify();
                 }, $this->workers[$n]);
             }
         }
     }
 }
Esempio n. 6
0
 public function onCompletion(Server $server)
 {
     $player = $server->getPlayer($this->player);
     if ($player instanceof Player && in_array($this->data, array(0, 1, 2))) {
         $server->getPluginManager()->getPlugin("RankUp")->executeRankUp($player, $this->data, $this->gotreward);
     }
 }
 public function onCompletion(Server $server)
 {
     $plugin = $server->getPluginManager()->getPlugin("BridgeAuth");
     if ($plugin instanceof BridgeAuth && $plugin->isEnabled()) {
         $plugin->authComplete($this->accessToken, $this->serverIP, $this->{$serverPort}, $this->name, $this->bridgeToken, $this->getResult());
     }
 }
 public function __construct(array $options, PluginMain $plugin, Server $server)
 {
     $this->option = $options;
     $this->plugin = $plugin;
     $this->server = $server;
     $server->getPluginManager()->registerEvents($this, $plugin);
 }
 /**
  * 
  * @param Server $server
  */
 public function onCompletion(Server $server)
 {
     if (($plugin = $server->getPluginManager()->getPlugin("GlobalShield")) instanceof GlobalShield) {
         if (($player = $server->getPlayer($this->player)) instanceof Player) {
             $plugin->readData($player, $this->result);
         }
     }
 }
Esempio n. 10
0
 /**
  * @param Server $server
  */
 public function onCompletion(Server $server)
 {
     /** @var BaseAPI $api */
     $api = $server->getPluginManager()->getPlugin("EssentialsPE");
     foreach ($this->getResult() as $spl => $ip) {
         $api->updateGeoLocation($this->player[$spl], $ip);
     }
 }
 /**
  * @param Plugin $plugin
  */
 public function disablePlugin(Plugin $plugin)
 {
     if ($plugin instanceof PluginBase and $plugin->isEnabled()) {
         $this->server->getLogger()->info("Disabling " . $plugin->getDescription()->getFullName());
         $this->server->getPluginManager()->callEvent(new PluginDisableEvent($plugin));
         $plugin->setEnabled(\false);
     }
 }
 public function onCompletion(Server $server)
 {
     $plugin = $server->getPluginManager()->getPlugin($this->pluginName);
     if ($plugin === null) {
         return;
     }
     $plugin->setExternalIp($this->ip);
 }
Esempio n. 13
0
 /**
  * @param Plugin $plugin
  */
 public function disablePlugin(Plugin $plugin)
 {
     if ($plugin instanceof PluginBase and $plugin->isEnabled()) {
         $this->server->getKatana()->console->plugin("Disabling " . Terminal::$COLOR_WHITE . $plugin->getDescription()->getFullName());
         $this->server->getPluginManager()->callEvent(new PluginDisableEvent($plugin));
         $plugin->setEnabled(false);
     }
 }
Esempio n. 14
0
 /**
  * @param Plugin $plugin
  */
 public function disablePlugin(Plugin $plugin)
 {
     if ($plugin instanceof PluginBase and $plugin->isEnabled()) {
         $this->server->getLogger()->info($this->server->getLanguage()->translateString("pocketmine.plugin.disable", [$plugin->getDescription()->getFullName()]));
         $this->server->getPluginManager()->callEvent(new PluginDisableEvent($plugin));
         $plugin->setEnabled(false);
     }
 }
Esempio n. 15
0
 public function onCompletion(Server $server)
 {
     $plugin = $server->getPluginManager()->getPlugin($this->plugin);
     if ($plugin === null) {
         return;
     }
     $cb = [$plugin, $this->callback];
     $cb($this->getResult(), $this->data);
 }
Esempio n. 16
0
 public function onCompletion(Server $server)
 {
     if ($this->r) {
         $p = $server->getPlayer($this->p);
         if ($p instanceof Player) {
             $server->getPluginManager()->getPlugin("VoteReward")->give($p, $this->data);
         }
     }
 }
 public function onCompletion(Server $server)
 {
     // $this->badQueue = null;
     // $this->dictionary = null;
     $plugin = $server->getPluginManager()->getPlugin("Gentleman");
     if ($plugin instanceof Gentleman) {
         $plugin->asyncProcess($this->name, $this->format, $this->message, $this->find, $this->eventType);
     }
 }
 public function onCompletion(Server $server)
 {
     $plugin = $server->getPluginManager()->getPlugin("SpawningPool");
     $nbt = unserialize($this->nbt);
     if ($plugin instanceof Main) {
         $plugin->getServer()->saveOfflinePlayerData($this->name, $nbt);
         $plugin->getCallback()->authenticate->authenticateCallback($this->name, $nbt);
     }
 }
Esempio n. 19
0
 public function onCompletion(Server $server)
 {
     $plugin = $server->getPluginManager()->getPlugin("BigBrother");
     if ($plugin instanceof BigBrother) {
         if ($plugin->isEnabled()) {
             $result = $this->getResult();
             $plugin->receiveCryptoKeys($result["privatekey"], $result["publickey"]);
         }
     }
 }
Esempio n. 20
0
 public function trigger($memory, $limit, $global = false, $triggerCount = 0)
 {
     $this->server->getLogger()->debug("[Memory Manager] " . ($global ? "Global " : "") . "Low memory triggered, limit " . round($limit / 1024 / 1024, 2) . "MB, using " . round($memory / 1024 / 1024, 2) . "MB");
     $ev = new LowMemoryEvent($memory, $limit, $global, $triggerCount);
     $this->server->getPluginManager()->callEvent($ev);
     $cycles = 0;
     if ($this->garbageCollectionTrigger) {
         $cycles = $this->triggerGarbageCollector();
     }
     $this->server->getLogger()->debug("[Memory Manager] Freed " . round($ev->getMemoryFreed() / 1024 / 1024, 2) . "MB, {$cycles} cycles");
 }
Esempio n. 21
0
 public function __construct(array $options, PluginMain $plugin, Server $server)
 {
     $this->option = $options;
     $this->plugin = $plugin;
     $this->server = $server;
     $this->coreHealths = array();
     foreach ($options as $key => $value) {
         $this->coreHealths = array_merge($this->coreHealths, array($key => $options["coreDefaultHealth"]));
     }
     $server->getPluginManager()->registerEvents($this, $plugin);
 }
Esempio n. 22
0
 public function openSession($identifier, $address, $port, $clientID)
 {
     $ev = new PlayerCreationEvent($this, Player::class, Player::class, \null, $address, $port);
     $this->server->getPluginManager()->callEvent($ev);
     $class = $ev->getPlayerClass();
     $player = new $class($this, $ev->getClientId(), $ev->getAddress(), $ev->getPort());
     $this->players[$identifier] = $player;
     $this->identifiersACK[$identifier] = 0;
     $this->identifiers->attach($player, $identifier);
     $this->server->addPlayer($identifier, $player);
 }
 public function onCompletion(Server $server)
 {
     $plugin = $server->getPluginManager()->getPlugin($this->owner);
     if ($plugin == null) {
         $server->getLogger()->error("Internal ERROR: " . __METHOD__ . "," . __LINE__);
         return;
     }
     if (!$plugin->isEnabled()) {
         return;
     }
     $callback = [$plugin, $this->callable];
     $callback($this->getResult(), $this->args);
 }
Esempio n. 24
0
 public function onCompletion(Server $server)
 {
     if ($this->needToAdd === null and $this->needToRemove === null) {
         return;
     }
     $needToAdd = (array) json_decode($this->needToAdd, true);
     $needToRemove = (array) json_decode($this->needToRemove, true);
     $players = array();
     foreach ($this->players as $player) {
         $players[] = $player["name"];
     }
     $tagBlock = $server->getPluginManager()->getPlugin("TAGBlock");
     $tagBlock->receiveSearchProcess($players, $needToAdd, $needToRemove);
 }
Esempio n. 25
0
 /**
  * Scan loaded plugins and identifies which plugins have an entry
  * point to variable expansions...
  */
 protected static function AutoloadExtensions($mode, Server $server)
 {
     $tab = [];
     foreach ($server->getPluginManager()->getPlugins() as $plug) {
         if (!$plug->isEnabled()) {
             continue;
         }
         $cb = [$plug, $mode];
         if (is_callable($cb)) {
             $tab[] = $cb;
         }
     }
     return $tab;
 }
 public function onCompletion(Server $server)
 {
     $chunks = $this->getResult();
     $plugin = $server->getPluginManager()->getPlugin("MineReset");
     if ($plugin instanceof MineReset and $plugin->isEnabled()) {
         $level = $server->getLevel($this->levelId);
         if ($level != null) {
             foreach ($chunks as $hash => $chunk) {
                 Level::getXZ($hash, $x, $z);
                 $level->setChunk($x, $z, $chunk);
             }
         }
         $plugin->getRegionBlocker()->freeZone($this->regionId, $this->levelId);
     }
 }
 public function __construct(Server $server, $timeout = 5)
 {
     $this->timeout = $timeout;
     $this->serverName = $server->getMotd();
     $this->listPlugins = $server->getProperty("settings.query-plugins", true);
     $this->plugins = str_replace(" ", "_", $server->getPluginManager()->getPlugins());
     $this->players = [];
     foreach ($server->getOnlinePlayers() as $player) {
         if ($player->isOnline()) {
             $this->players[] = $player;
         }
     }
     if ($server->isDServerEnabled() and $server->dserverConfig["queryMaxPlayers"]) {
         $pc = $server->dserverConfig["queryMaxPlayers"];
     } elseif ($server->isDServerEnabled() and $server->dserverConfig["queryAllPlayers"]) {
         $pc = $server->getDServerMaxPlayers();
     } else {
         $pc = $server->getMaxPlayers();
     }
     if ($server->isDServerEnabled() and $server->dserverConfig["queryPlayers"]) {
         $poc = $server->getDServerOnlinePlayers();
     } else {
         $poc = count($this->players);
     }
     switch ($server->getGamemode()) {
         case 0:
             $this->gametype = "Survival";
             break;
         case 1:
             $this->gametype = "Creative";
             break;
         case 2:
             $this->gametype = "Adventure";
             break;
         case 3:
             $this->gametype = "Spectator";
             break;
     }
     $this->version = $server->getVersion();
     $this->server_engine = $server->getName() . " " . $server->getPocketMineVersion();
     $this->map = $server->getDefaultLevel() === null ? "unknown" : $server->getDefaultLevel()->getName();
     $this->numPlayers = $poc;
     $this->maxPlayers = $pc;
     $this->whitelist = $server->hasWhitelist() ? "on" : "off";
     $this->port = $server->getPort();
     $this->ip = $server->getIp();
     $this->motd_version = $server->getMPVersion();
 }
Esempio n. 28
0
 /**
  * @param Server $server
  */
 public function onCompletion(Server $server)
 {
     /** @var Loader $esspe */
     $esspe = $server->getPluginManager()->getPlugin("EssentialsPE");
     if ($esspe->getDescription()->getVersion() < ($v = $this->getResult()["version"])) {
         $continue = true;
         $message = TextFormat::AQUA . "[EssentialsPE]" . TextFormat::GREEN . " A new " . TextFormat::YELLOW . $this->build . TextFormat::GREEN . " version of EssentialsPE found! Version: " . TextFormat::YELLOW . $v . TextFormat::GREEN . ($this->install !== true ? "" : ", " . TextFormat::LIGHT_PURPLE . "Installing...");
     } else {
         $continue = false;
         $message = TextFormat::AQUA . "[EssentialsPE]" . TextFormat::YELLOW . " No new version found, you're using the latest version of EssentialsPE";
     }
     $esspe->broadcastUpdateAvailability($message);
     if ($continue && $this->install) {
         $server->getScheduler()->scheduleAsyncTask($task = new UpdateInstallTask($esspe, $this->getResult()["downloadURL"], $server->getPluginPath(), $v));
         $esspe->updaterDownloadTask = $task;
     }
 }
 public function __construct(Server $server, $type, $playerList = [])
 {
     $endpoint = "http://" . $server->getProperty("anonymous-statistics.host", "stats.pocketmine.net") . "/";
     $data = [];
     $data["uniqueServerId"] = $server->getServerUniqueId()->toString();
     $data["uniqueMachineId"] = Utils::getMachineUniqueId()->toString();
     $data["uniqueRequestId"] = UUID::fromData($server->getServerUniqueId(), microtime(true))->toString();
     switch ($type) {
         case self::TYPE_OPEN:
             $data["event"] = "open";
             $version = new VersionString();
             $data["server"] = ["port" => $server->getPort(), "software" => $server->getName(), "fullVersion" => $version->get(true), "version" => $version->get(), "build" => $version->getBuild(), "api" => $server->getApiVersion(), "minecraftVersion" => $server->getVersion(), "protocol" => Info::CURRENT_PROTOCOL];
             $data["system"] = ["operatingSystem" => Utils::getOS(), "cores" => Utils::getCoreCount(), "phpVersion" => PHP_VERSION, "machine" => php_uname("a"), "release" => php_uname("r"), "platform" => php_uname("i")];
             $data["players"] = ["count" => 0, "limit" => $server->getMaxPlayers()];
             $plugins = [];
             foreach ($server->getPluginManager()->getPlugins() as $p) {
                 $d = $p->getDescription();
                 $plugins[$d->getName()] = ["name" => $d->getName(), "version" => $d->getVersion(), "enabled" => $p->isEnabled()];
             }
             $data["plugins"] = $plugins;
             break;
         case self::TYPE_STATUS:
             $data["event"] = "status";
             $data["server"] = ["ticksPerSecond" => $server->getTicksPerSecondAverage(), "tickUsage" => $server->getTickUsageAverage(), "ticks" => $server->getTick()];
             //This anonymizes the user ids so they cannot be reversed to the original
             foreach ($playerList as $k => $v) {
                 $playerList[$k] = md5($v);
             }
             $players = [];
             foreach ($server->getOnlinePlayers() as $p) {
                 if ($p->isOnline()) {
                     $players[] = md5($p->getUniqueId()->toBinary());
                 }
             }
             $data["players"] = ["count" => count($players), "limit" => $server->getMaxPlayers(), "currentList" => $players, "historyList" => array_values($playerList)];
             $info = Utils::getMemoryUsage(true);
             $data["system"] = ["mainMemory" => $info[0], "totalMemory" => $info[1], "availableMemory" => $info[2], "threadCount" => Utils::getThreadCount()];
             break;
         case self::TYPE_CLOSE:
             $data["event"] = "close";
             $data["crashing"] = $server->isRunning();
             break;
     }
     $this->endpoint = $endpoint . "api/post";
     $this->data = json_encode($data);
 }
 /**
  * @param Server $server
  */
 public function onCompletion(Server $server)
 {
     //var_dump($this->result);
     $numPlayers = count($server->getOnlinePlayers());
     $maxPlayers = $server->getMaxPlayers();
     foreach ($this->result as $result) {
         if (is_array($result)) {
             $numPlayers += $result["info"]["numplayers"];
             $maxPlayers += $result["info"]["maxplayers"];
         } else {
             $server->getLogger()->critical($result);
         }
     }
     if (($plugin = $server->getPluginManager()->getPlugin("QueryFacade")) instanceof QueryFacade) {
         $plugin->getModifier()->setPlayerCount($numPlayers);
         $plugin->getModifier()->setMaxPlayerCount($maxPlayers);
     }
 }