Originariamente inviato da Walessio
In realtà il problema di eseguire uno script php quando nessun utente è collegato non esiste.
Mi spiego meglio, se nessun utente sta eseguendo lo script, nessun utente ha la possibilità di sapere come prosegue il gioco (nè del fatto che il gioco non sta proseguendo affatto).
Per cui in realtà, a te basta salvare i dati dell'applicazione a intervalli regolari mentre l'utente la sta usando.
Devi salvare questi dati in modo tale che quando l'utente rientra, usando questi dati e il tempo trascorso, tu possa mostrargli lo stato del gioco come se effettivamente fosse trascorso quel tempo (nonostante il gioco non si sia evoluto nel tempo, ma questo l'utente non può saperlo).
In pratica, devi ricreare un salto temporale nel gioco dal momento della disconnessione, al momento della riconnessione, creando così l'illusione che il tempo sia trascorso.
In generale questo approccio e' sensato in teoria e validissimo nella pratica. L'unico problema si pone quando la mole di calcoli puo' essere ingente, e allora e' meglio suddividere il lavoro in piu' pezzi e svolgerlo un po' per volta piuttosto che non fare nulla per ore e poi dover recuperare tutto insieme al primo utente che si collega.