- Apple iPhone 17 - alap
- Bemutatkozott a Poco F2 Pro (már megint)
- Samsung Galaxy A55 - új év, régi stratégia
- Merész dizájn és új teleobjektív az iPhone 17 Pro mobilokban
- Honor Magic6 Pro - kör közepén számok
- Milyen okostelefont vegyek?
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- iPhone topik
- Realme GT Master Edition - mestermunka
- Netfone
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Először is: nyugi, tudtommal egyelőre csak a lehetőségekről és miértekről beszélgetünk, és nem én akarom így vagy úgy megoldani, mert engem nem érint, hanem visszakérdeztem, hogy támaszd alá picit jobban, amit mondtál, mert érdekelt, de a hsz.-ed végére kissé behergelted magad.
"Először is szögezzük le, hogy alapnak veszem, hogy egy játéknál nem oldal újratöltéssel oldjuk meg a kliensoldali frissítéseket, hanem ajax-al."
Őő, ja, de ez nyilvánvaló, szerintem erről nem is érdemes témázni, mivel evidens.Amit viszont én szögeznék le előre a félreértések elkerülése érdekében, mert fontos, hogy alapvetően én is jobbnak látom a cronos megoldást, valszeg én is azzal csinálnám, ha én lennék a fejlesztője, mivel ütemezett feladatra használjunk ütemezőt, végül is pont arra való. Tehát én nem a cron ellen beszélek, hanem érdekes témának láttam megvizsgálni a másik oldal lehetőségeit is, ha már felvetették a többiek, hogy meg lehetne oldani anélkül is, tehát azt is érdemes megbeszélni, hogy mi történne abban az esetben, ha NEM cronnal történne a dolog. Én pedig csak azokra a dolgokra reagálok/kérdezek rá, amik esetleg elsőre teljesen egzakt fogalmazás híján (számomra) kérdésesek lehetnek (vagy legalábbis engem érdekelnek). Oké?
Úghogy az "ezt az egész baromságot pusztán azért, mert valamilyen hülye okból kifolyólag nem vagy hajlandó arra, hogy az ütemezett feladatot a pontosan erre a célra kitalált feladatütemezővel futtasd" (kicsit behergelődött) mondatot nem vettem magamra, mert nem rám vonatkozik.Lock-okra:
Igazából direkt előre kihangsúlyoztam, hogy elsősorban magára az ellenőrzésre kérdeztem rá, nem pedig az írási műveletekkel kapcsolatos aggályaidra, mert mint említettem vala, az még érthető is, de nekem úgy tűnt, hogy a lock-ok emlegetése kapcsán Te rátapadtál kőkeményen az írás-témára. De aztán utána meg simán az ellenőrzés-téma kapcsán is azt emlegetted, hogy a többiek várni fognak az erőforrásokra. Most szűkítsük le a kört simán arra, hogy kiolvasod az értéket ÉS az utsó módosítás dátumát, majd utóbbinál még egy összehasonlítást is végzel az aktuális dátummal, megnézed, amúgy mi a pálya, kéne-e frissíteni. Akkor itt még ne vegyük azt, hogy mi van, ha igen (akkor növelni kéne) - ebben az esetben ugye Te sem arra gondoltál, hogy írási művelet híján drasztikusan csökken a szerver teljesítménye nagy felhasználószám esetén?
Egyébként az ütemezett scriptben feltételezem, nem árt ellenőrizni, hogy a júzer épp online-e, mert ha offline, akkor gondolom nem kéne növelni a mannáját, szóval akkor a böngészőből való kilépés esetén küldeni kéne egy requestet a szerver felé, hogy na cső, akkor távoztam, azt meg beírni adatbázisba, hogy most már nincs szükség buzerálásra az adott júzernél.
Mondjuk jobb lenne ismerni jobban egy ilyen játék működését, én ilyeneket nem szoktam tolni (kinek van ilyenre ideje?), úgy kicsit könnyebb lenne beszélni az elméleti lehetőségekről.
===
(#12995) Tele von Zsinór :
na ja, ez az ütemezős dolog jó példa, alapvetően ez így tök jogos. De tényleg jobban kéne ismerni egy ilyen játék működési elvét, mert konkrét implementációt nem tudok, csak sejtéseim vannak róla. -
Soak
veterán
Nem értem miért vagy igy rápörögve a lock-ra . Ugyan megint csak találgatok, de gondolom a játék nem úgy néz ki jellemzően, hogy 1 embert támad 50.000 . Innentől kezdve (még ha lock-olnánk is, de azzal eddig magyaráztam, nem kell) InnoDB motor row-level lock-nál miért olyan nagy probléma ha lockolunk egy sort? Ha még egyszerre 3-5 ember akarja elérni (nem értem hogy miért updatelné egyszerre 3-5, de ugye találgatunk csak) akkor se lenne dráma.
-
oleslie
aktív tag
>Ahol nem elérhető a cron, azok a kétpálcás php webhosting megoldások....
Értem, tehát a rendelkezésre állás. Az, hogy a szerver soha nem kerül 100% leterhelt állapotba lóf*sz.
cron legyen, ez a fontosch, különben kétpálcás?
kicsit reklámozom magam.
Több mint 2 év alatt (2,5 HJE) 2x indítottam újra a szervert. Egyszer ram bővítés, másodjára kernel frissítés miatt. A szokásos (web, levelezés, mysql) mellett futnak játékszerverek is. És ennek ellenére soha nem volt gondom. Azért lennék sufnihosting (kétpálcás?), mert TE nem tudsz önállóan beállítani bármilyen elcseszett scriptet, ami esetleg problémát okozna? Nemhiszem
stat -
lordjancso
senior tag
Részben egyetértek veled akkor, ha a manát "globálisan" láthatóvá teszi a fejlesztő az oldalon. Tehát mondjuk meg lehet nézni a játékosok adatlapját és ott valós mana értéket szeretnél látni (persze itt is meg lehet kerülni a cron-t). Én így képzeltem el a játékát:
A belépett játékos csak a saját manájával van elfoglalva, csak azt látja, semmilyen körülmények között nem tudhatja, hogy mennyi manája van az ellenségnek vagy a többi játékosnak.
Így elég csak belépéskor ellenőrizni, hogy a legutóbbi manahasználat óta mennyi idő telt el, majd megjelenítés előtt megnövelni a mana értékét a kiszámolt mennyiséggel.
Minden manahasználatkor logolod annak az idejét. Minden manamegjelenéskor elvégzed a vizsgálatot, hogy mennyi idő telt el és mennyivel kell megnövelned a manádat (ez jól megírt játéknál ez nagyon egyszerűen kivitelezhető).Ha lehet látni a másik manáját (mondjuk adatlapon keresztül), akkor is elég csak az adott (éppen nézett) játékos manáját vizsgálni és updatelni.
Szerintem ez lenne a leginkább erőforráshatékony megoldás, mert így egy, maximum kettő játékos manáját kell számolgatni. Főleg ha van sok tíz-százezer játékosod.
Persze a cron is jó dolog, abszolút nem vagyok ellene, én is használom napi szinten, de csak akkor, ha valóban indokolt. Ebben az esetben én nem tartanám annak (értsd, nem cron-nal csinálnám a fejlesztő helyében).
-
oleslie
aktív tag
ok. pontatlan volt a megfogalmazás.
Nem mindenhol tudsz beállítani cronjob -ot.
Az, hogy a cron (vagy ablakOS -en a megfelelője) elérhető e a rendszeren, nem kérdéses. De az, hogy TE, mint felhasználó, hozzáférsz e, már igen.
Valamint: fölösleges bonyolítani az oldalt egy ily módon időzített scripttel, miközben az adatbáziskezelővel kényelmesen, és nem utolsó sorban gyorsabban, kevesebb erőforrást felhasználva meg lehet oldani a feladatot.
Az erőforrásigény téged valószínűleg addig nem fog érdekelni, amíg nem töltesz fel vmilyen hibás scriptet cronra, azzal túlterheled a szervert (láttam már ilyet), amit annak az üzemeltetője úgy old meg, hogy törli a problémás dolgokat, TE pedig old meg ahogy tudod (csináltam már ilyet).
Új hozzászólás Aktív témák
- Lenovo Legion és IdeaPad Y széria
- Apple asztali gépek
- Geri Bátyó: Agglegénykonyha 1 – rizseshús másképp
- Hardcore café
- Dell notebook topic
- Kínai és egyéb olcsó órák topikja
- Győr és környéke adok-veszek-beszélgetek
- sziku69: Fűzzük össze a szavakat :)
- Autós topik
- ThinkPad (NEM IdeaPad)
- További aktív témák...
- Gamer PC-Számítógép! Csere-Beszámítás! I5 12400F / RTX 3070 8GB / 32GB DDR4 / 1TB SSD
- Akció! Újra Gamer EGEREK! Glorious , Endgamer XM1R , Nibio
- Surface Laptop 5 Touch 13.5 Retina i7-1265U 10mag 4.8Ghz 16GB 512GB Intel Iris XE Win11 Pro Garancia
- Bomba ár! HP EliteBook Folio 1040 G1 - i5-G4 I 8GB I 256GB SSD I 14" HD+ I Cam I W10 I Garancia!
- Lenovo ThinkPad P1 Gen2 intel i7-9850H 16GB RAM 512GB SSD 15,6" 4K OLED TOUCH 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest