" /> " />

O desenvolvimento do projeto "Jogo dos Deuses" está a toda (queria ter uma foto agora do cronograma colado na parede entre o meu pc e o do Tiago) e o grande problema da semana foi fazer o tick funcionar.
Mas afinal o que é tick?
Ai ai ai ai, eu já disse o que é tick aqui, você não lembra?
Tá, agora eu sei o que é tick, mas como eu faço ele funcionar?
Usando a cron.
E o que é a cron?
A cron é um "agendador de tarefas" que qualquer sistema operacional Linux possui. Com ele você poderá mandar o sistema executar uma determinada tarefa em um determinado dia, uma determinada hora e um determinado minuto. Também poderá mandar ser executado algo com uma certa peridiocidade (de 5 em 5 minutos), o que é o nosso caso.
Para acessar as regras da cron, usa-se o comando crontab -e, quando você usa esse comando será aberto um arquivo com as regras configuradas para o seu usuário. Esse arquivo é aberto em um editor chamado nano (uma coisa muito bizarra), então sugiro que use o VI (lindo e maravilhoso) para editar os arquivos da cron, para tal, use o comando export EDITOR=vi antes de usar o crontab -e.
As regras dos arquivos da crontab são as seguintes:
Então, o primeiro caractere quer dizer minutos (0 a 59), o segundo horas (0 a 23), o terceiro dias do mês(1 a 31), o quarto quer dizer o mês (1 a 12), o quinto dias da semana (0 a 6, zero igual a Domingo) e por final o comando que deseja executar (nesse caso executando um arquivo php). Quando colocamos asterisco (*) quer dizer todos (todos dias da semana, todas as horas, etc).
Pode ser usado o hífen para usar faixas, veja o exemplo:
Também pode ser usada a vírgula para lista de valores:
Mas, suponhamos o seguinte caso: no nosso jogo todas as atitudes tomadas pelo jogador custam pontos de vida, por exemplo, fazer compras (10 pontos), programar (20 pontos), blogar (20 pontos), jogar bola (40 pontos). E caso nós não tenhamos a quantidade necessária de pontos para fazer a tal atitude estaremos cansados e teremos que esperar. O nosso tick é de 5 minutos e a cada tick recuperamos 10 pontos de vida. Então colocariamos na cron:
E lá no nosso tick.php teríamos a soma de 5 pontos de vida (seja via banco de dados, via arquivo texto, ai é com vocês). Ponto principal, como vou saber se está realmente funcionando? Faça o seguinte adicione um arquivo de log na crontab fazendo o seguinte comando:
Dessa maneira, você estará colocando a data e hora em um arquivo log.txt na pasta tpm do sistema, salve seu arquivo, espere 5 minutos e confira se está sendo salvo o arquivo de log.
Finalizando, a cron facilita muito a vida dos programadores para fazer backups automáticos e agendar tarefas específicas para softwares (no nosso caso o tick do game
).
Um abraço e aguardo comentários para possíveis sugestões e/ou reclamações.
ps: o "Jogo dos Deuses" está em desenvolvimento, mas ainda não temos nada "visual" para mostrar, aguardem mais notícias em breve. Infelizmente esse projeto não foi adiante
ps2: por que ele fez esse post se isso tem no google? O que eu achei no google não foi suficiente para resolver o problema.
Update: Fiz alguma correções para o real funcionamento da cron.
Categorias: CubaGames, Desenvolvimento | 1 Comment »
Esse artigo me ajudou muito a entender o que eu precisava, também voltado ao desenvolvimento de uma game online.
Obrigado pela ajuda !