Jump to content

[metin2] ranking jogadores


tierrilopes
 Share

Recommended Posts

Contador para números de jogadores em cada reino.

Citando outro post:

 

Hoje em dia, a maioria dos websites, cada vez que a página é carregada executa uma query para obter os jogadores online consoante o last_play.

Isto pode ser abusado para sobrecarregar a base de dados.

 

Uma alternativa bastante simples e rápida de implementar é fazer com que esta query só seja executada uma vez a cada 5 minutos por exemplo, independentemente do número de acesso na página.

 

 

Para tal, criar este ficheiro na base do vosso dedicado (será usado /cron_rank_jogadores.php como exemplo) e colar o seguinte conteúdo:

 

 

Hidden Content

    Give reaction to this post to see the hidden content.
 

 

 

 

Ajustar a localização do ficheiro dump_rank_jogadores.php (caso seja diferente)

Preencher os dados de ligação à base de dados e gravar o ficheiro.

Criar um ficheiro vazio chamado dump_rank_jogadores.php (na localização definida no código acima) e dar-lhe permissões 646.

 

Abrir o ficheiro /etc/crontab

Debaixo de:

 

Hidden Content

    Give reaction to this post to see the hidden content.
 

 

 

Colar isto debaixo:

 

Hidden Content

    Give reaction to this post to see the hidden content.
 

 

 

No vosso ficheiro index.php (ou onde tiverem o código de jogadores online), adicionem o seguinte no topo do ficheiro (após <?php):

 

Hidden Content

    Give reaction to this post to see the hidden content.
 

 

Para mostrar o resultado, devem ter um echo/print com a variável de uma query.

Basta mudarem/adicionarem o nome dessas variáveis.

 

Mostrar jogador no primeiro lugar:

 

Hidden Content

    Give reaction to this post to see the hidden content.
 

 

Mostrar jogador no segundo lugar:

 

Hidden Content

    Give reaction to this post to see the hidden content.
 

 

Mostrar jogador no terceiro lugar:

 

Hidden Content

    Give reaction to this post to see the hidden content.
 

 

Mostrar jogador no quarto lugar:

 

Hidden Content

    Give reaction to this post to see the hidden content.
 

 

Mostrar jogador no quinto lugar:

 

Hidden Content

    Give reaction to this post to see the hidden content.
 

 

 

Reiniciar o crontab com o seguinte comando:

 

Hidden Content

    Give reaction to this post to see the hidden content.
 

 

O crontab chamará o ficheiro /cron_rank_jogadores.php a cada 5 minutos.

Executará duas query, na qual obterá o top 5 jogadores, ordenados por nivel mais alto e por maior quantidade de experiência.

Excluirá as contas que não estiverem normais (account_status = OK) e nomes começados por [ (para excluir os GM).

Gravará tudo para o ficheiro dump_raking_jogadores.php

Desta maneira, todos os pedidos ao website utilizarão a informação colocada no ficheiro dump_ranking_jogadores.php, poupando bastantes querys. (duas por carregamento de página)

 

Exemplo:

Hidden Content

    Give reaction to this post to see the hidden content.

 

Hidden Content

    Give reaction to this post to see the hidden content.

Link to comment
Share on other sites

  • 6 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...