faire des requet automatique au serveur

Par pikadjou, il y a 14 ans


Bonjour a tous et toutes,

Voici mon "soucis"

J'aimerai toutes les heures ajouter X ressources a tout les joueurs (meme si celui ci n'est pas connecte).

Je sais que en js il y a moyen de le faire a condition que le joueur soit connecte, mais y aurait il aussi moyen de le faire si le joueur n est pas connecter?

Merci d avance de vos reponses.

P.S. je travail avec cakephp

9 réponses

Leny, il y a 14 ans

Fais-le en JS pour quand le joueur est connecté (histoire de garder le côté "instantané" pour le joueur).
Lorsqu'il n'est pas connecté, enregistre la date de sa dernière action, et à la date suivante, fais le calcul.
Par exemple, tu me donnes, à moi joueur, 5 écus par heure. Tu sais que ma dernière action "connectée" a eu lieu à 6h ce matin. Mon action suivante (ma reconnexion, par exemple), a eu lieu à 19h. 19-6 = 13 (tu peux compter 12 en fonction de ta façon de distribuer, si j'ai eu mes pièces de 6h00), et donc tu me dois 13*5 écus.
Ce sera beaucoup plus simple à mettre en place que de te lancer dans des cron et tout le bordel.

deblan, il y a 14 ans

Je pense que le plus raisonnable est d'utiliser un crontab (tâche automatisée) sur le serveur. A tout moment tu dois pouvoir savoir quelles sont les ressources d'un joueur et ce que propose Leny est problématique : si tu as des interactions entre les joueurs tu n'auras jamais les vrais chiffres en bdd tant que tout les joueurs ne se sont pas connectés au même moment=dans la même tranche horaire] et je ne t'explique par la complexité du code pour tout recalculer.

Leny, il y a 14 ans

Ah oui, effectivement, si des intéractions sont possibles entre des joueurs connectés et des joueurs non-connectés, de fait, ma solution n'est plus viable (même si elle restait plus simple).
Du coup, la seule solution reste le passage par du cron.

pikadjou, il y a 14 ans

Le cron est il difficile a apprendre? De ce que je peux en voir il suffirait que grace a cela, je fasse executer un script specifique en php qui lui va gerer tout ca tout les X temps

deblan, il y a 14 ans

Tu as quel type d'hébergement ? Chez quel hébergeur te trouves tu ? As-tu un accès SSH sur ton hébergement ?

Leny, il y a 14 ans

Un tuto intéressant ici. Dans les grandes lignes, cron, c'est assez facile, c'est juste une syntaxe toute simple.
Mais comme le dit deblan, si t'as pas accès en ssh à ton hébergement, c'est peine perdue.

deblan, il y a 14 ans

Il existe des services qui permettent de définir une page à appeler tout les X temps (à l'époque webcron, mais c'est devenu payant je crois).

Edit : http://webcron.org/fr/tarifs étant donné les tarifs, on peut sans problème se reposer sur lui sans se ruiner :)

pikadjou, il y a 14 ans

En tout cas un enorme merci pour votre aide.

Je suis chez planethoster (un hebergeur canadien) et je compte prendre un serveur dedie mais je vais faire attention a bien prendre un avec accès SSH.

webcron est obligatoire pour appeller une page tout les X temps ou c est juste un outil pour avoir plus facile?

deblan, il y a 14 ans

Si tu as un dédié, tu pourras le configurer dessus.