-
kvp #65 Elore csak annyit jegyeznek meg, hogy mar lattam a wow szerverek forraskodjat es nem a programsorok szama a nagy, hanem az ebbol tartalmat letrehozo script-eke. A program feleletesen primitiv egy atlagos mmofpsrpg-hez kepest.
"Ez oprendszer/hardware korlát - 1 ip címre 1 időben max ennyi kapcsolat jöhet létre. Köze nincs ahhoz, hogy azon a gépen mi fut."
Egy szerver annyi ip cimmel rendelkezhet amennyit csak akar, ha tobb gepen fut a rendszer, akkor node-onkent lehet akar tobb millio jatekos is, persze ez nem jellemzo. A 64k-s limit a max. regisztralt jatekosok szamara van, ez egy hasrauteses szam, ami alapjan szetvagjak a felhasznaloi bazist.
"Hát persze, ahogy azt móricka elképzeli. Mozgást nem kezel? Akkor mégis mi kezeli, a kliens? Akkor biztos azért van az, hogy míg mondjuk tölt 1 nagyvárost belépés után addig 1 helyben futsz, mert a kliens kezeli a mozgást.
Az első koordinátát a szerverről kapod. Utána a kliens adja ki a parancsot, és hogy ne érződjön a lagg, ő maga is "fake" mozgást csinál, amit a szerver időnként (néhány másodpercenként) korrigál."
Nem teljesen, a kliens kezeli a mozgast. Az osszes speed hack arra alapul, hogy a kliens hibas koordinatakat kuld a szervernek. Ezt a szerver vagy kiszurja vagy nem. Az animacios bug viszont fuggetlen a mozgastol, az csak igenytelenseg.
"Meg a mentés/visszatöltést, levelezés, aukciók, stb-stb - ezeket is mind a kliens kezeli, hát hogyne. Nem is értem minek van szerver."
Nem ezeket kezeli a szever. Ebben semmi fizika nincs, csak adatbazis tranzakciok.
""Egy chat szoba = egy zona."
Na ez pl ökörség, mert zóna határon simán át lehet látni, lőni, bármit csinálni. Amik el vannak szerverileg különítve egymástól azok a kontinensek, amikből van összesen 4 darab, plusz az instance-ok."
Megneznem azt a chat klienst ami csak 1 szobaba engedi belepni a felhasznalokat. Egy-egy terulet egy-egy 'szoba' egy user tobb szobaban is bent lehet, amikor zonazik. De a chat channel-ek is ugyanezen az elven mennek, azokbol is tobben lehet benn egyszerre a jatekos. A target hack-ek ugy mukodnek, hogy a kliens olyan object-et celoz be, amit valojaban nem lehetne, de ezt a szerver nem ellenorzi rendesen. Viszont igy a zona masik vegerol meg lehet tamadni valakit. (gondolom ismeros lehet a 'ki olt meg es hol van?' eset)
""Ezen belul csak a klienseken mulik kit tamadnak meg es hova mozdulnak a kovetkezo masodpercben."
Ez is ökörség, mivel az NPC-ket egy az egyben a szerver vezérli. Szép is volna, ha egyik kliensen jobbra másikon balra futna 1 mob."
A user csak egy objektumot vezerel. Ha pl. hunter-rel vagyunk es belepunk a pet iranyitasara, akkor a pet-re hirtelen ervenyesse valnak a hegymaszasi szabalyok. De ha kilepunk, akkor a pet ujra mob-ba valik, tehat siman fel tud rohanni a legmeredekebb lejtokon is, amit iranyitas alatt nem tudott. Ez azert van mert minden klienshez van egy mobil objektum amit maga iranyit, ez a jatekos, a tobbit a szervertol kapja. A klienshez nem csatolt mobil objektumokat pedig a szerver iranyitja egyszeru goto xyz parancsokkal. Igy lehet pl. kliens oldali hack-el repulni (amig ki nem szurjak).
"Jóvan, leülhetsz, egyes. Mozgásnál abszolúte nincs ilyen, ugyanúgy lehet benne mozogni mint bármely FPS-ben. Ha egy fán futsz körbe, akkor nem 1 másodperces egyeneseket fog látni a másik fél, hanem azt hogy körvonalon futsz."
A vicces az, hogy ezt az interpolaciot a kliens allitja elo a frissitesi adatokbol. Ebben benne van a kanyarodasi sebesseg is, tehat eleg konnyu ivet rajzolni belole. A lenyeg, hogy ket egymas melle lerakott gepen nem lesz szinkronban ugyanaz a karakter, ha az egyik az iranyito a masik a kulso megfigyelo gep. (az egymason es a butorokon atrohanasrol mar nem is beszelve, az csak az utkozeskezeles hianya)
"Varázslatoknál van 1 másodperces global cooldown, de ez se érint mindent, mivel vannak varázslatok, amik ez alól egy az egyben mentesülnek. Pl trinket+AP+pom+pyro - 4 parancs, 1 gombnyomásra, mind a 4 elmegy."
Egy egy parancs, csak 4 parametere van. De a szerver csak 1 command event-et dolgoz fel. Probalj meg 1 masodperc alatt tobb mozgasi parancsot adni. Csak a kliens fogja megjeleniteni, de a tobbiek csak a kompozitot latjak.
"A global cooldown azért van, hogy ne gomb nyomkodás sebessége határozza meg hogy ki milyen hatékonyan játszik, ne lehessen spamelni a cooldown nélküli instant spelleket."
Meg azert mert a szerver csak 1 movement es 1 action command-ot fogad el a kliensektol masodpercenkent (egy uzenetet). Kulonben a movement update parancsokkal le lehetne dos-olni a rendszert.
""A chat ettol reszben fuggetlen, de alapvetoen egy chat csatornan mennek az adott szoba (zona) esemenyei is."
Hát persze, azért van az, hogy szerver lerohadáskor megmozdulni nem lehet, mindenki helyben fut, de a chat simán működik."
Nem szabad osszekeverni a szerverek (kontinensek) kozti chat-et es a lokalis chat-et, ami a mozgasokat es a harcot is kezeli. Ez ket kulon folyamat, neha akar kulon gep is lehet. Egyebken a lerohadas nem a gep halalat csak az adott process kieseset jelenti, mert ha a kernel is elszallna, akkor nem lenne aki fogadja a csomagokat. (timeout-olna a kapcsolat)
""Ez a legklasszikusabb es legbutabb mud technologia ami letezik."
Nyilván a te agyadból jobb nem pattanhat ki."
Mivel a blizzard-os fejlesztok elismertek, hogy honnan van a technologia, sot meg eloadasokat is tartottak a rendszer mukodeserol, ezert nem tudom miert kell ezzel vitatkozni. A diablonal is bevallottak, hogy a nethack nevu rougelike jatek motorjara alapoztak. Valahol biztos le lehet meg tolteni slide-okat ha nekem nem hiszel...
"70-es években nem volt még személyi számítógép se nagyon, internet szintén, de sebaj, ne hagyd magadat megzavarni a tényeknek, elvtárs."
Az internet 1969 ota 'letezik' es az adventure egy pdp10-es gepen irodott, veletlenul egy olyan programozo altal aki egy olyan helyen dolgozott ahol az arpanet-et, az internet elodjet kitalaltak. A jatekot anno a szerverre tavolrol belepve, terminalon keresztul lehetett jatszani. Ez volt a fekete alapon zold betus karakteres terminalok korszaka, de attol meg a mukodesi elv nem valtozott, hogy most mar van hozza 3d grafika es animaciok. A wow bot-ok (es a szerver oldali mob-ok) ma is csak az uzenetkezelo feluletet hasznalva jatszanak, nem rajzolnak maguknak grafikat. Idonkent a 'profi' jatekosok is hasznaljak ezt a feluletet, mert igy elonyben lehetnek a 3d-s interface-t hasznalo atlag jatekosokkal szemben. (neha jobb listabol valogatva 'celozni', mint egerrel kattintani)
Szoval aki meg nem hallot ezekrol az vagy nagyon fiatal vagy nagyon nem ismeri a temat esetleg ennek a kettonek a kombinacioja. (vagy csak tul sokat wow-ozott es ezert epult le) :-)
Angolul tudoknak:
http://en.wikipedia.org/wiki/MUD#History