Ir para conteúdo
  • Cadastre-se

OTInfo - Capturar informações de servidores


Posts Recomendados

  • Administrador

Essa classe é uma ferramenta criada pelo Renato, Lordfire e gpedro que serve para capturar informações de um server online.

Ela foi feita em PHP, utiliza sockets e é bem simples de usar.

http://renatorib.github.com/otinfo/

Como usar:
 
1. Inclua a classe

include('otinfo.php');

2. Crie um objeto

$server = new Otinfo('shadowcores.twifysoft.net'); // a porta é opcional: se omitida, o padrão é 7171
$server = new Otinfo('shadowcores.twifysoft.net', 7172);

3. Chame o método execute() para obter as informações

if ($server->execute()) {    echo 'Players online: ', $server->players['online'], '<br />',
     'Server location: ', $server->serverinfo['location'], '<br />',
     'Client version: ', $server->serverinfo['client'] , '<br />';
    //apenas alguns exemplos de dados
} else {
    echo 'Server offline';
    //se execute() returnar false, o servidor esta offline
}

Exemplo completo:

<?php include('otinfo.php');
$server = new Otinfo('shadowcores.twifysoft.net');
if ($server->execute()) {
    echo 'Players online: ', $server->players['online'], '<br />',
     'Server location: ', $server->serverinfo['location'], '<br />',
     'Client version: ', $server->serverinfo['client'] , '<br />';
} else {
    echo 'Server offline';
}
?>

Cache

É utilizado o cache para evitar que consultas a um mesmo servidor acabem por ser recusadas (e reportem que o servidor esteja offline). Por padrão ele é de dois minutos, mas você pode editar diretamente na classe:

private static $cache = 180; // tempo em segundos

Download
A biblioteca OTinfo é gratuito e open source, e você pode clonar direto do repositório no GitHub.
Se deseja sugerir uma alteração, abra um issue ou faça um pull request.

TibiaKing Team- KingTópicos
www.tibiaking.com

Link para o post
Compartilhar em outros sites
  • 4 weeks later...
  • 4 weeks later...

Também seria interessante pegar o uptime do servidor, tentei fazer um pull request mais não consegui :(

Pra quem tiver interesse, edite o arquivo otinfo.php e adicione:

        if (isset($array->uptime)) {
            foreach ($array->uptime->attributes() as $index => $value) {
                $this->attributes['uptime'][$index] = (string)$value;
            }
        }

No arquivo exemple.php:

    echo 'Uptime: ', $server->serverinfo['uptime'] , '<br />';
Link para o post
Compartilhar em outros sites
  • 1 month later...
  • 2 weeks later...

Sou leigo em php, mas testei essa class ai no meu website para mostrar os players online, e não foi muito bom.

O Gesior tem uma class parecido com a sua (Class ServerStatus), também não sei como ele fez para ela atualizar, mas quando usa a do Renato meu site carrega as páginas em 1.3 ~ 2.0 segundos, e no do Gesior, 0.01 ~0.02 ... porque isso?

Link para o post
Compartilhar em outros sites
  • 7 months later...

Sou leigo em php, mas testei essa class ai no meu website para mostrar os players online, e não foi muito bom.

O Gesior tem uma class parecido com a sua (Class ServerStatus), também não sei como ele fez para ela atualizar, mas quando usa a do Renato meu site carrega as páginas em 1.3 ~ 2.0 segundos, e no do Gesior, 0.01 ~0.02 ... porque isso?

 

A classe do gesior é integrada ao seu website. Ele provavelmente pesquisa direto no banco e te retorna.

O otinfo funciona através de sockets, onde eu envio uma mensagem ao servidor "solicitando" as informações do mesmo, e o servidor responde ao otinfo com todas as informações possíveis. 

Se você quer usar no seu próprio ot, não tem sentido você usar o otinfo. Ele foi feito para pegar informações de servidores de terceiros. Por exemplo pra criar uma otserv list.

 

Sei que o post faz muito tempo, mas serve para sanar possíveis dúvidas de outras pessoas também.

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo