Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''players online''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Comunidade
    • Informações Importantes
    • Anúncios
    • Membros
    • Lista negra
    • Eventos
  • Minecraft
    • Seu servidor hospedado no lugar certo!
    • Servidores
    • Construções
    • Plugins
    • Skripts
    • Serviços
    • Geral
  • FiveM
    • Servidores
    • Desenvolvimento
    • Serviços
    • Outros
  • Programação
    • Geral
    • Java
    • Web & Desktop
    • Discord
    • Servidores dedicados para grandes projetos.
  • Sistemas operacionais
    • Windows
    • Linux
    • Celular
  • Fóruns
    • Invision Power Services (IPS)
    • XenForo
    • Legacy IPB
    • Outros
  • Design
    • Pedidos
    • Dúvidas
    • Exposição
    • Tutoriais
    • Recursos
  • Jornalismo
    • Notícias
    • Entrevistas
    • Eventos
    • Outros
  • Jogos
    • Geral
    • Novidades
    • Tutoriais
    • Gêneros
    • Outros Jogos
  • Outros
    • Tutoriais Gerais
    • Mercado
    • Assuntos diversos
    • Barzinho
    • Arquivos

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Discord


Instagram


X (Ex-Twitter)


WhatsApp


GitHub


Localização


Nick do Minecraft

Encontrado 2 registros

  1. Players Online No Site Tem uma galera que esta com duvida de como colocar os players online no site... Procurei na GB e os post que tem quase não da, então achei um API/CODIGO, que aparentemente esta tudo OK e estou usando no meu site entao pra galera que quiser estarei deixando o download do código Qualquer duvida pode me pergunta que estarei ajudando ! PRINT's: Print de como ira ficar: Onlines.php: Index.php: DOWNLOAD
  2. Vim trazer pra vocês um código PHP que pode pegar o status dos players de qualquer versão e passar tudo pras suas variáveis com uma única função, facil e rápido. 1. Primeiro você deve criar um arquivo chamado status.class.php com o seguinte conteúdo: <?php /** * Minecraft Server Status Query * @author Julian Spravil <[email protected]> https://github.com/FunnyItsElmo * @license Free to use but dont remove the author, license and copyright * @copyright © 2013 Julian Spravil */ class MinecraftServerStatus { private $timeout; public function __construct($timeout = 2) { $this->timeout = $timeout; } public function getStatus($host = '127.0.0.1', $port = 25565, $version = '1.7.*') { if (substr_count($host , '.') != 4) $host = gethostbyname($host); $serverdata = array(); $serverdata['hostname'] = $host; $serverdata['version'] = false; $serverdata['protocol'] = false; $serverdata['players'] = false; $serverdata['maxplayers'] = false; $serverdata['motd'] = false; $serverdata['motd_raw'] = false; $serverdata['favicon'] = false; $serverdata['ping'] = false; $socket = $this->connect($host, $port); if(!$socket) { return false; } if(preg_match('/1.7|1.8/',$version)) { $start = microtime(true); $handshake = pack('cccca*', hexdec(strlen($host)), 0, 0x04, strlen($host), $host).pack('nc', $port, 0x01); socket_send($socket, $handshake, strlen($handshake), 0); //give the server a high five socket_send($socket, "\x01\x00", 2, 0); socket_read( $socket, 1 ); $ping = round((microtime(true)-$start)*1000); //calculate the high five duration $packetlength = $this->read_packet_length($socket); if($packetlength < 10) { return false; } socket_read($socket, 1); $packetlength = $this->read_packet_length($socket); $data = socket_read($socket, $packetlength, PHP_NORMAL_READ); if(!$data) { return false; } $data = json_decode($data); $serverdata['version'] = $data->version->name; $serverdata['protocol'] = $data->version->protocol; $serverdata['players'] = $data->players->online; $serverdata['maxplayers'] = $data->players->max; $motd = $data->description; $motd = preg_replace("/(§.)/", "",$motd); $motd = preg_replace("/[^[:alnum:][:punct:] ]/", "", $motd); $serverdata['motd'] = $motd; $serverdata['motd_raw'] = $data->description; $serverdata['favicon'] = $data->favicon; $serverdata['ping'] = $ping; } else { $start = microtime(true); socket_send($socket, "\xFE\x01", 2, 0); $length = socket_recv($socket, $data, 512, 0); $ping = round((microtime(true)-$start)*1000);//calculate the high five duration if($length < 4 || $data[0] != "\xFF") { return false; } $motd = ""; $motdraw = ""; //Evaluate the received data if (substr((String)$data, 3, 5) == "\x00\xa7\x00\x31\x00"){ $result = explode("\x00", mb_convert_encoding(substr((String)$data, 15), 'UTF-8', 'UCS-2')); $motd = $result[1]; $motdraw = $motd; } else { $result = explode('§', mb_convert_encoding(substr((String)$data, 3), 'UTF-8', 'UCS-2')); foreach ($result as $key => $string) { if($key != sizeof($result)-1 && $key != sizeof($result)-2 && $key != 0) { $motd .= '§'.$string; } } $motdraw = $motd; } $motd = preg_replace("/(§.)/", "", $motd); $motd = preg_replace("/[^[:alnum:][:punct:] ]/", "", $motd); //Remove all special characters from a string $serverdata['version'] = $result[0]; $serverdata['players'] = $result[sizeof($result)-2]; $serverdata['maxplayers'] = $result[sizeof($result)-1]; $serverdata['motd'] = $motd; $serverdata['motd_raw'] = $motdraw; $serverdata['ping'] = $ping; } $this->disconnect($socket); return $serverdata; } private function connect($host, $port) { $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if (!@socket_connect($socket, $host, $port)) { $this->disconnect($socket); return false; } return $socket; } private function disconnect($socket) { if($socket != null) { socket_close($socket); } } private function read_packet_length($socket) { $a = 0; $b = 0; while(true) { $c = socket_read($socket, 1); if(!$c) { return 0; } $c = Ord($c); $a |= ($c & 0x7F) << $b++ * 7; if( $b > 5 ) { return false; } if(($c & 0x80) != 128) { break; } } return $a; } } Fonte: https://github.com/F...er-Status-Query 2. Com nosso arquivo criado, nos resta apenas chamar a função que pega o status do servidor, então vou postar um exemplo de como usar nossa função em uma página modelo, apenas lembrando que o arquivo status.class.php deve estar no mesmo diretório do seu index.php, ou da página onde estiver o código que ira exibir: index.php: <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> </head> <style> .titulos{color:#00a4cc; font-weight:bold;} </style> <?php $ip = 'mc.areaz12server.net.br'; //Ip do servidor $versao = '1.7.*'; //Versão: 1.7.* ou 1.6.* ou 1.5.* $porta = 25565; //Porta do servidor include_once 'status.class.php'; //o arquivo que criamos anteriormente $status = new MinecraftServerStatus(); $resultado = $status->getStatus($ip, $versao, $porta); if(!$resultado) { echo '<span class="titulos">Servidor Offline!</span>';} else {?> <center> <? if($versao == '1.7.*'){ ?> <img width="64" height="64" src="<? echo $resultado['favicon']?>" /><br> <? } ?> <span class="titulos">Players Online/Total: <? echo $resultado['players'].'/'.$resultado['maxplayers'];?></span><br> <span class="titulos">Versão do Servidor: <? echo $resultado['version'];?></span><br> <span class="titulos">Ip do Servidor: <? echo $resultado['hostname'];?></span><br> <span class="titulos">Legenda do Servidor: <br> <? echo $resultado['motd'];?></span><br> <span class="titulos">Está com PING de: <? echo $resultado['ping'];?>ms</span><br> </center> <?php } ?> Na página que for chamar a função, é muito importante você saber qual a versão do servidor, e informar no $versão para a função poder pegar os dados corretamente. Voce deve apenas informar os seguintes valores: 1.7.* | 1.6.* | 1.5.* Não precisa especificar o terceiro número da versão. Veja como vai aparecer: http://areaz12server.net.br Inclui a seguinte linha no inicio do arquivo status.class.php que inibe os erros de php: error_reporting(0); Masss, caso não esteja aparecendo as informações, ou esteja sempre aparecendo Offline, apague essa linha e veja os erros que aparece, depois de tudo certo, recoloque esta linha, pois quando o servidor está offline, aparecem erros de socket... etc
×
×
  • Criar Novo...