Jump to content
Sign in to follow this  
tierrilopes

[metin2] ranking jogadores

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:

 

 

Please login or register to see this code.
 

 

 

 

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:

 

Please login or register to see this code.
 

 

 

Colar isto debaixo:

 

Please login or register to see this code.
 

 

 

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

 

Please login or register to see this code.
 

 

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:

 

Please login or register to see this code.
 

 

Mostrar jogador no segundo lugar:

 

Please login or register to see this code.
 

 

Mostrar jogador no terceiro lugar:

 

Please login or register to see this code.
 

 

Mostrar jogador no quarto lugar:

 

Please login or register to see this code.
 

 

Mostrar jogador no quinto lugar:

 

Please login or register to see this code.
 

 

 

Reiniciar o crontab com o seguinte comando:

 

Please login or register to see this code.
 

 

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:

Please login or register to see this image.

 

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

  • Upvote 1

Share this post


Link to post
Share on other sites

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
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.

Our website is made possible by displaying online advertisements to our visitors.
Please consider supporting us by disabling your ad blocker.
You will be able to see content when you disable your adblocker and enable javascript.