当前位置: 首页>>代码示例>>PHP>>正文


PHP Server::getOnlinePlayers方法代码示例

本文整理汇总了PHP中pocketmine\Server::getOnlinePlayers方法的典型用法代码示例。如果您正苦于以下问题:PHP Server::getOnlinePlayers方法的具体用法?PHP Server::getOnlinePlayers怎么用?PHP Server::getOnlinePlayers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pocketmine\Server的用法示例。


在下文中一共展示了Server::getOnlinePlayers方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: check

 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]);
             }
         }
     }
 }
开发者ID:iTXTech,项目名称:Genisys,代码行数:33,代码来源:RCON.php

示例2: __construct

 public function __construct(Server $server)
 {
     $this->server = $server;
     $this->identifiers = new \SplObjectStorage();
     $this->rakLib = new RakLibServer($this->server->getLogger(), $this->server->getLoader(), $this->server->getPort(), $this->server->getIp() === "" ? "0.0.0.0" : $this->server->getIp());
     $this->interface = new ServerHandler($this->rakLib, $this);
     for ($i = 0; $i < 256; ++$i) {
         $this->channelCounts[$i] = 0;
     }
     $this->setCount(count($this->server->getOnlinePlayers()), $this->server->getMaxPlayers());
 }
开发者ID:TylerAndrew1998,项目名称:Steadfast2.0,代码行数:11,代码来源:RakLibInterface.php

示例3: __construct

 public function __construct(Server $server)
 {
     $this->server = $server;
     $this->identifiers = new \SplObjectStorage();
     $this->rakLib = new RakLibServer($this->server->getLogger(), $this->server->getLoader(), $this->server->getPort(), $this->server->getIp() === "" ? "0.0.0.0" : $this->server->getIp());
     $this->interface = new ServerHandler($this->rakLib, $this);
     for ($i = 0; $i < 256; ++$i) {
         $this->channelCounts[$i] = 0;
     }
     $this->count = count($this->server->getOnlinePlayers());
     $this->name = $this->server->getMotd();
     $this->interface->sendOption("name", "MCPE;" . addcslashes($this->name, ";") . ";" . Info::CURRENT_PROTOCOL . ";" . \pocketmine\MINECRAFT_VERSION_NETWORK . ";" . $this->count . ";" . $this->server->getMaxPlayers());
 }
开发者ID:Cybertechpp,项目名称:Steadfast2,代码行数:13,代码来源:RakLibInterface.php

示例4: __construct

 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();
 }
开发者ID:iTXTech,项目名称:Genisys,代码行数:34,代码来源:QueryRegenerateEvent.php

示例5: generalData

 private function generalData()
 {
     $version = new VersionString();
     $this->data["general"] = [];
     $this->data["general"]["version"] = $version->get(false);
     $this->data["general"]["build"] = $version->getBuild();
     $this->data["general"]["protocol"] = Info::CURRENT_PROTOCOL;
     $this->data["general"]["api"] = \pocketmine\API_VERSION;
     $this->data["general"]["git"] = \pocketmine\GIT_COMMIT;
     $this->data["general"]["raklib"] = RakLib::VERSION;
     $this->data["general"]["uname"] = php_uname("a");
     $this->data["general"]["php"] = phpversion();
     $this->data["general"]["zend"] = zend_version();
     $this->data["general"]["php_os"] = PHP_OS;
     $this->data["general"]["os"] = Utils::getOS();
     $this->addLine("Genisys version: " . $version->get(false) . " #" . $version->getBuild() . " [Protocol " . Info::CURRENT_PROTOCOL . "; API " . API_VERSION . "]");
     $this->addLine("uname -a: " . php_uname("a"));
     $this->addLine("PHP version: " . phpversion());
     $this->addLine("Zend version: " . zend_version());
     $this->addLine("OS : " . PHP_OS . ", " . Utils::getOS());
     $this->addLine();
     $this->addLine("Server uptime: " . $this->server->getUptime());
     $this->addLine("Number of loaded worlds: " . count($this->server->getLevels()));
     $this->addLine("Players online: " . count($this->server->getOnlinePlayers()) . "/" . $this->server->getMaxPlayers());
 }
开发者ID:AnonymousProjects,项目名称:PocketMine-MP-Original,代码行数:25,代码来源:CrashDump.php

示例6: onCompletion

 public function onCompletion(Server $server)
 {
     $this->info = str_ireplace(["{PLAYERS}", "{MAXPLAYERS}"], [count($server->getOnlinePlayers()), $server->getMaxPlayers()], $this->info);
     foreach ($server->getOnlinePlayers() as $player) {
         $name = $player->getName();
         $iname = strtolower($name);
         $item = $player->getInventory()->getItemInHand();
         $message = str_ireplace(["{PLAYER}", "{DISPLAYNAME}", "{MONEY}", "{RANK}", "{HEALTH}", "{MAXHEALTH}", "{X}", "{Y}", "{Z}", "{WORLD}", "{ITEMID}", "{ITEMDAMAGE}", "{ITEMNAME}"], [$name, $player->getDisplayName(), isset($this->moneys[$iname]) ? $this->moneys[$iname] : "-", isset($this->rank[$iname]) ? $this->rank[$iname] : "-", $player->getHealth(), $player->getMaxHealth(), floor(round($player->x, 1) * 10) * 0.1, floor(round($player->y, 1) * 10) * 0.1, floor(round($player->z, 1) * 10) * 0.1, $player->level->getFolderName(), $item->getID(), $item->getDamage(), $item->getName()], $this->info);
         switch (true) {
             case stripos($this->data["DisplayType"], "popup") !== false:
                 $player->sendPopup($message);
             case stripos($this->data["DisplayType"], "tip") !== false:
                 $player->sendTip($message);
                 break;
         }
     }
 }
开发者ID:organization,项目名称:ShowInfo,代码行数:17,代码来源:ShowInfoAsyncTask.php

示例7: format

 public function format(Server $server, CommandSender $sender, $name, array $args)
 {
     $result = [];
     foreach ($server->getOnlinePlayers() as $p) {
         if (CmdSel::checkSelectors($args, $sender, $p)) {
             $result[] = $p->getName();
         }
     }
     return $result;
 }
开发者ID:barnseyminesuk,项目名称:Small-ZC-Plugins,代码行数:10,代码来源:AllRecursiveSelector.php

示例8: getDummys

 /**
  * 더미플레이어 목록을 반환합니다.
  *
  * @return \DummyPlayer\receiver\DummyReceiver[]|\pocketmine\Player[]
  */
 public function getDummys()
 {
     $dummys = array();
     foreach ($this->server->getOnlinePlayers() as $player) {
         if ($player instanceof DummyReceiver) {
             $dummys[] = $player;
         }
     }
     return $dummys;
 }
开发者ID:organization,项目名称:DummyPlayer,代码行数:15,代码来源:DummySystem.php

示例9: select

 public static function select(Server $srv, CommandSender $sender, array $args)
 {
     $result = [];
     foreach ($srv->getOnlinePlayers() as $p) {
         if (count($args) && !self::checkSelectors($args, $sender, $p)) {
             continue;
         }
         $result[] = $p->getName();
     }
     return $result;
 }
开发者ID:DWWf,项目名称:pocketmine-plugins,代码行数:11,代码来源:All.php

示例10: onCompletion

 public function onCompletion(Server $server)
 {
     foreach ($server->getOnlinePlayers() as $clientID => $player) {
         if ($player instanceof DesktopPlayer and $clientID === $this->clientID) {
             $result = json_decode($this->getResult(), true);
             if (is_array($result) and isset($result["id"])) {
                 $player->bigBrother_authenticate($this->username, $result["id"], $result["properties"]);
             } else {
                 $player->close("", "User not premium");
             }
             break;
         }
     }
 }
开发者ID:MrGenga,项目名称:BigBrother,代码行数:14,代码来源:AuthenticateOnline.php

示例11: onCompletion

 public function onCompletion(Server $server)
 {
     foreach ($server->getOnlinePlayers() as $clientID => $player) {
         if ($player instanceof DesktopPlayer and $clientID === $this->clientID) {
             $result = $this->getResult();
             if (is_array($result) and isset($result["id"])) {
                 $player->bigBrother_authenticate($this->username, $result["id"], $result["properties"]);
             } else {
                 $player->bigBrother_authenticate($this->username, "00000000000040008000000000000000", null);
             }
             break;
         }
     }
 }
开发者ID:MrGenga,项目名称:BigBrother,代码行数:14,代码来源:OnlineProfile.php

示例12: __construct

 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();
 }
开发者ID:AnonymousProjects,项目名称:PocketMine-MP-Original,代码行数:48,代码来源:QueryRegenerateEvent.php

示例13: __construct

 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);
 }
开发者ID:NewDelion,项目名称:PocketMine-0.13.x,代码行数:46,代码来源:SendUsageTask.php

示例14: setName

 public function setName($name)
 {
     //$info = $this->server->getQueryInformation();
     if ($this->server->isDServerEnabled() and $this->server->dserverConfig["motdMaxPlayers"] > 0) {
         $pc = $this->server->dserverConfig["motdMaxPlayers"];
     } elseif ($this->server->isDServerEnabled() and $this->server->dserverConfig["motdAllPlayers"]) {
         $pc = $this->server->getDServerMaxPlayers();
     } else {
         $pc = $this->server->getMaxPlayers();
     }
     if ($this->server->isDServerEnabled() and $this->server->dserverConfig["motdPlayers"]) {
         $poc = $this->server->getDServerOnlinePlayers();
     } else {
         $poc = count($this->server->getOnlinePlayers());
     }
     $this->interface->sendOption("name", "MCPE;" . addcslashes($name, ";") . ";" . ProtocolInfo::CURRENT_PROTOCOL . ";" . \pocketmine\MINECRAFT_VERSION_NETWORK . ";" . $poc . ";" . $pc);
 }
开发者ID:1455931078,项目名称:Genisys,代码行数:17,代码来源:RakLibInterface.php

示例15: onCompletion

 /**
  * @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);
     }
 }
开发者ID:happyexceed,项目名称:PocketMine-Plugins-1,代码行数:21,代码来源:QueryServerTask.php


注:本文中的pocketmine\Server::getOnlinePlayers方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。