Adatbázis művelet, körökre osztott online játékban körönként
Sziasztok
Ezt a kérdést csak úgy kíváncsiságból teszem fel.
Szóval vannak az interneten olyan játékok, melyek körökre vannak osztva úgy hogy 1 óra 1 kör.
Minden felhasználó adatát adatbázisban tárolják, viszont ezek körönként (azaz óránként) változnak.
A kérdésem az lenne, hogy PHP-vel meg lehet oldani azt, hogy minden egész órában végrehajtson egy scriptet az adatbázison (bár így jobban belegondolva ez nem valószínű). Vagy egyszerűen minden órában a legelső kérés előtt hajtódik esetleg végre. Vagy ilyenkor kell egy kis progit csinálni, ami nem PHP-s és ami minden órában lefut a serveren????
■ Ezt a kérdést csak úgy kíváncsiságból teszem fel.
Szóval vannak az interneten olyan játékok, melyek körökre vannak osztva úgy hogy 1 óra 1 kör.
Minden felhasználó adatát adatbázisban tárolják, viszont ezek körönként (azaz óránként) változnak.
A kérdésem az lenne, hogy PHP-vel meg lehet oldani azt, hogy minden egész órában végrehajtson egy scriptet az adatbázison (bár így jobban belegondolva ez nem valószínű). Vagy egyszerűen minden órában a legelső kérés előtt hajtódik esetleg végre. Vagy ilyenkor kell egy kis progit csinálni, ami nem PHP-s és ami minden órában lefut a serveren????
cron
Üdvözlettel,
Kiss-Tóth Marcell
A kérésre teljesen jó megoldás
Sot! Legrosszabb esetet feltetelezve mivel az operacios rendszer több feladatot kell, hogy vegre hajtson lehet, hogy a cron lefutása nem tud pontosan az ora valtoaskor lefutni, igy ha valaki nagyon turelmetlen es oravaltaskor nyomogatja a refresh gombot, meg akar az elozo orai allapotot is lathatja mert a cron meg nem futott le.
És ha senki nem nézi órákig....
De mi van mondjuk, ha valaki a játékban kiad egy parancsot 23:30-kor aminek csak 3:00 lesz eredménye és ez az eredmény befolyásolja az ezután történő dolgokat. Viszont ha az első lekérés mondjuk csak 7:11-kor jön, akkor az adatbázis csak akkor frissül és így 4 órán keresztül elmarad a várt befolyásolt történés aminek a kiadott parancs eredményeként kellett volna létrejönnie.
{lehet ez egy kicsit kuszára sikerült :))) }
A rövid lényeg, hogy csúszás lesz és ez hibát okoz. Szóval akkor ez esetben csak a segédprogram a megoldás.
Cron-nál meg talán az esetleges csúszás megoldható, hogy az oldalra kirakni egy feliratot ami jelzi hányadik kör és esetleg akkor nem nyomogatják pontban óraváltáskor annyit a refresh gombot. Mármint olyanra gondoltam, ami akkor is megváltozik, ha nem kérik le újra az oldalt. Bár azt nem tudom ez lehetséges-e, mert én arra gondoltam, hogy órák is vannak, amik mennek az oldalon lekérés nélkül (flash, Js), de viszont azoknak semmi közük a server órájához, hanem a gép óráját figyeli, nem????
nem egészen jó
Én mindenképpen a cron-os utat látom járhatóbbnak, egyidőben a körváltás idejére megtiltanám, hogy a userek piszkálják az adatbázist. (Persze nem tudom milyen adatbázist használsz, és körváltáskor mit is kell csinálnod pontosan a db-ben. A játékosok száma se mindegy ugye...)
üdv,
Zila
Csak kíváncsiság...
Amúgy csak kíváncsiságból tettem fel a kérdést. Én is játszom egy ilyennel és hát érdekel a működése. Gondoltam itt hátha tudja valaki.
Vagy vannak ötletek :))
Ha lassú a script
--------
Poetro