Erlang az 1000 jatekos FPS vilagrekord kiserletben

A MuchDifferent ceg termeke egy loadbalancer, mely egy jatekszerver farmot tud vezerelni. A cuccot Erlangban irtak es tokig van tavkozlesi megoldasokkal. A termek debutalasa holnap lesz, az 1000 jatekossal jatszott FPS vilagrekord kiserletben. Bovebben itt.

[Frissites 1]: 999 jatekossal a kiserlet sikeres volt.

[Frissites 2]: Video egy jatekosrol

Hozzászólások

Érdekesnek tűnik, megnézem a PDF-eket. Mindenesetre erlangBAN. Illetve debütálni (általában) egyszer szoktak.

a planetsideban több ezer játékos volt egy-egy világban egyszerre. ez miben különbözik?

Nem fps, hanem mmporg de kerdezek meg a Blizzardot :). 1000 jatekos :D:D
--
1 leszel vagy 0 élő vagy hulla!

Javítsatok ki ha tévedek, de szerintem mmorpg esetén az a különbség, hogy mivel a világ nagy, ezért mindig csak kevés* játékos lép egymással közvetlen kapcsolatba, így viszonylag kevés adatot kell broadcastolni egy-egy játékosnak. Viszont szerintem itt az lesz a cél, hogy a játékosok nagy csapatokban tevékenykedjenek, ezért sokkal nagyobb adatot kell eljuttatni a játékosokhoz és sokkal nagyobb adatot kell feldolgozni.

Az mmorpg szerintem kicsit olyan, mint az irc: egyszerre rengeteg felhasználó van egy hálózatban, de mivel nem mind ugyanazon a channelen van, ezért a különböző felhasználóknak eljuttatandó adat viszonylag kevés. Viszont ha csak egyetlen channel lehetne egy irc szerveren, akkor ugyanannyi felhasználót sokkal nagyobb forgalom árán lehetne csak kiszolgálni.

*: Oké, mondjuk egy wow esetén egy nagyobb raid kb. hány játékosból áll?

Ez fura, OK nem WOW hanem SL, de már 40-60 embernél átláthatalan a local chat, ezernél gondolom pláne. Igaz technikailag is más, chache-be megy és nálad renderelődik százx megányi adat. Nem tudom ez az FPS mennyit küld, de gondolom nem kevest, ezeknél nagyon számít az alacsony ping, szalagban ölnek, hanem az.
--
AGA@
Fork portal és az egyik logóm :)

egy varosban? Ott nincs szukseg real time data flow-ra es pont ezert nem is hasznaljak;)
Masreszt ha elmesz hentelni, ott is 50ms a datagrammok kikuldese. Masreszt nyugodtan meglesheted egy open wow szerver forrasat, mivel az idoziteseket a valos szerver kapcsolatok alapjan mintaztak, javareszt megfelelnek nagyon nagy elteresek nelkul.

az 50ms csak a szerver tickrateje, ami fps eseteben kozel a nullahoz kene esnie (az optimalis eset), mivel ott a model<->hitbox alapjan a szerver szamolja ki hogy hova is lottel pontosan. Ha ez nem kozeledik a nullahoz (de legalabbis nincs 10ms alatt), akkor hiaba lovod a modelt, a hitbox boven elotte/mogotte van, igy az eletbe nem talalnad el. A talalatokat ertelemszeru okok miatt szamolja a szerver

idezek magamtol "ott is 50ms a datagrammok kikuldese"/"mivel az idoziteseket". Idozitesekrol beszelek (igen, a kikuldes is idozites, megpedig a kuldes idozitese), amik a szerveroldali szamitasok miatt fontosak (a hitbox miatt illetve a hitbox<->model csuszasok miatt). Ertem en egyebkent, nemmellesleg meg szezont a faszommal. Ha nem tudsz szoveget ertelmezni miert probalsz okoskodni?

a kesleltetest kifejtettem egy szallal fentebb, hogy mi a kulonbseg egy mmo es egy fps kozott. (elobbinel nincs hitbox, a karakterutkozesek kliens oldalon szamolodnak, illetve a lag kompenzacio kliens oldalrol atkerul szerver oldalra (pont ez utobbi miatt olyan fosak az open megoldasok pl wow szerver eseteben, mert nem tudjak tokeletesen implementalni ugyanazt)). Pont ezert hasznaljak ezt a technikat, mivel abban az idoben mikor ez keszult, ezzel lehetett csak megoldani hogy nagyszamu player legyen egy adott teruleten. A mostani megoldas viszont egy szimpla fps szerver, ami eseteben gridekre vannak osztva az adott teruletek (mind-mind kap egy sajat szevert), majd ezek egy kozbenso "proxy object"-nek nevezett dologgal vannak osszekotve. Ket grid kozott networking lod van (magabol a protokolbol kiindulva), illetve ugy mint az irc szervereknel, a koztes forgalmat egy csatornan bonyolitjak.