.[ ČeskéHry.cz ].
Struktura game servra - MMORPG
Jdi na stránku 1, 2  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Antriel



Založen: 08. 10. 2008
Příspěvky: 4

PříspěvekZaslal: 8. říjen 2008, 18:38:45    Předmět: Struktura game servra - MMORPG Odpovědět s citátem

Konecne som sa dostal ktomu co ma vlastne prinutilo zacat sa ucit programovat - spravit vlastne mmorpg (tak ako veeela zaciatocnikov, az na ten detail ze ja som nato siel postupne)
Mam za sebou zopar flash hier, jednu flash multiplayer s serverom v jave. Teraz dosiel rad na jednoduche mmorpg(nic velke..). Klienta budem robit vo flashi, scim neni az takt problem.. horsie je to na serverovej strane. Ak to budem robit ako poslednu hru.. predpokladam ze to 10x prerobim kym dojdem k pouzitelnej strukture. Skusal som najst dake OS herne servre (L2J, eAthena) ale ani jeden nemal dokumentaciu takze som sa este viac stratil. Nakoniec i tak asi budem sam s ceruzkou nad papiermi romyslat co a ako.. ale mozno niekto zvas ma uz daku skusenost s dacim podobnym.
Ide o to ze vobec neviem ako mam rozkuskovat classy, nech to dava trochu logiku... zatial si to predstavujem takto:
Login server - thread ktory bude citat na dakom porte a ak pride spojenie tak ho hodi do game servra
Game server - vytvori vlakno pre kazdeho hraca, pre manazment mobov, NPC, questov
etc - dake pomocne triedy pre methody a konstanty a co ja viem co este..

Problem je ze toto je prvy typ hry kde sa chystam pouzit DB, rozhodujem sa medzi mysql alebo niakou co je robena pre javu (zabudol som ako sa vola). Netusim ani ako funguje veci typu meno heslo..
Potreboval by som daky typ na literaturu ktora ma ktomu dostane.. presiel som asi 50 knich o program. hier ale z tejto oblasti tam moc nebolo...

PS: nepatrim medzi ludi co vsetko vzdaju ked vidia ake je to zlozite. Ak ma trvat rok kym sa naucim co treba aby som mohol zacat.. tak nech to trva rok... (i ked mam len 4 mesiace.. rad by som funkcnu verziu mal na SOC)


Naposledy upravil Antriel dne 17. listopad 2008, 11:59:26, celkově upraveno 1 krát
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quiark



Založen: 29. 07. 2007
Příspěvky: 816
Bydliště: Chlívek 401

PříspěvekZaslal: 10. listopad 2008, 12:23:21    Předmět: Odpovědět s citátem

Pokud vím, je v Javě napsán neoficiální server pro Lineage a řekl bych, že je to použitelné.

Co místo MySQL použít PostgreSQL? Má lepší pověst a je taky zdarma.

A proč tolik vláken? Už se těšíš na tu spoustu zamykání apod. ? Ale je pravda, že to do blízké multiprocesorové budoucnosti je dobře škálovatelné (ale stejně dost záleží na tom, jak se to napíše).
_________________
Mám strach
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Peta



Založen: 28. 07. 2007
Příspěvky: 154
Bydliště: V prvnim patre hned vedle koupelny.

PříspěvekZaslal: 12. listopad 2008, 10:49:19    Předmět: Odpovědět s citátem

Strukturu serveru lze celkem vykoukat z

https://opensvn.csie.org/l2storm/trunk/Server/

Coz je "pujceny" Lineage 2 server pts (public test server) od NCsoftu.

Pokud tomu das cas a prohrabes se tim vsim, ziskas celkem solidni predstavu o jednotlivych komponentach serveru - npcserver, samotny server, cache, login, auth, community server atd. Asi pro tebe nebude potreba vsechno, nicmene ti to rozhodne ukaze, jak treba zrovna u lineage 2 jsou nektere featury implementovane.

Casem budes muset pak resit jak udelat AI potvor, jak geodata a podobne, z tohoto lze taky hodne vykoukat.

Pripadne doporucuji forum www.postpacific.com nebo www.gamingdevs.com (snad jsem to napsal dobre, PP ma myslim ted potize ze jim vyprsela domena, ale jinak jede...).

Sam se momentalne zabyvam L2 serverem, ale ne Javou nybrz prave PTS. Postupne do toho pronikam, ale moje cile jsou uplne jine nez tve (netvorim zadnou hru).

EDIT: dodam ze konkretne L2 server (ne javovy!) rozjedete pouze na 64bitovych Windows s MSSQL serverem 2003+ a pokud nemate aspon 3 gb ram tak bych se ani nesnazil Smile Jak ten server rozjet je docela orisek, vse spravne nakonfigurovat a podobne, sam jsem to jeste ani nezkousel a patrne ani nebudu (nastesti nemusim, mam jine zdroje... )
_________________
Když je Ti smutno, otoč se tváří ke slunci a všechny stíny padnou za Tebe.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Weny Sky



Založen: 28. 07. 2007
Příspěvky: 241

PříspěvekZaslal: 12. listopad 2008, 10:56:50    Předmět: Odpovědět s citátem

ja bych se spis zameril na nastudovani zdrojaku free WoW serveru MaNGOS a Antrix(Ascent)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Peta



Založen: 28. 07. 2007
Příspěvky: 154
Bydliště: V prvnim patre hned vedle koupelny.

PříspěvekZaslal: 12. listopad 2008, 22:40:48    Předmět: Odpovědět s citátem

Aby sis to nevyložil špatně, nechtěl jsem tím říct, že L2 je ideální kandidát na inspiraci Smile ale doporučil jsem ho proto, že ho znám Wink
_________________
Když je Ti smutno, otoč se tváří ke slunci a všechny stíny padnou za Tebe.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
if.then



Založen: 13. 04. 2008
Příspěvky: 579

PříspěvekZaslal: 13. listopad 2008, 17:57:49    Předmět: Odpovědět s citátem

citace:
Zřejmě budu psát server pro čtverečkové MMORPG - tak aby jel na Linuxu i Widlích.Budu ho psát v Java(trochu se děsím jak rychle to pojede, ale Java udělala velký skok ve výkonu a v současné době by to nemělo být problém)

Arrow Java dnes jede na 90% výkonu Céčka - neděs se.
citace:
Pole objektů mapy a stejně velké pole hráčů. - toto bude samostatné pro každou lokaci k vůli rychlosti

Exclamation To ti sežere VELIKÉ množství paměti. Zkus spíš oboje dynamické.
citace:
Vlákna pro obsluhu klientů.
Vlákno na pozadí pro update objektů v DB
Samostatné vlákno pro přístup do DB tabulek k uložení objektů(itemy,questy...)
Dále pak chci přidat
(dalších 6 vláken...)

Exclamation Co se týče vláken - tolik jich nedělej! max. tak 4 vlákna(Při více stejně budou procesory neúměrně vytíženy).

Question 2Peta a WenySky: Pochyboval bych o použitelnosti kodu... L2 a WoW jsou natolik komplexní, že projít to bude utrpením Smile
_________________
For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Yossarian



Založen: 28. 07. 2007
Příspěvky: 274
Bydliště: Šalingrad

PříspěvekZaslal: 13. listopad 2008, 18:24:08    Předmět: Odpovědět s citátem

if.then napsal:

Exclamation Co se týče vláken - tolik jich nedělej! max. tak 4 vlákna(Při více stejně budou procesory neúměrně vytíženy).


ehm.. co prosim? Shocked ted sem asi spadl z visne, ale podobnou kravinu sem dlouho neslysel.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Al



Založen: 23. 10. 2007
Příspěvky: 196

PříspěvekZaslal: 13. listopad 2008, 23:52:48    Předmět: Odpovědět s citátem

Takže 16 jader a hyper threading? No já bych chtěl vidět ten paměťový řadič, který toto utáhne...

Mimochodem při tak velkém počtu procesorů se používají úplně jiné algoritmy. Systém "kolik jader mám, tolik vláken udělám" je dosti zastaralý. Ve finále je to ta nejlepší možnost, ale programovat to ručně je asi sebevražda. Co takhle jedno nebo několik málo řídicích vláken + fond vláken, kde bude "32 holek pro všechno", kterým budou ta řídicí dávat úkoly. Tj implementovat to tak, že tam bude řada malých úloh, které se budou řadit jednoduše do fronty a kopa těch "holek pro všechno" budou ty úlohy plnit pěkně jednu po druhé, jak jsou v té frontě.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1824

PříspěvekZaslal: 13. listopad 2008, 23:55:28    Předmět: Odpovědět s citátem

Java ma na to dokonca krasnu vec zvanu ThreadPool, na ktoru si urcite narazal. Je to urcite pekny sposob, ako to spravit.

Ja som ju "dorobil" aj do C++ v Qt, keby niekto chcel :] (sorry za OT)
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Al



Založen: 23. 10. 2007
Příspěvky: 196

PříspěvekZaslal: 14. listopad 2008, 00:01:13    Předmět: Odpovědět s citátem

Jo, thread pool má jen tu nevýhodu, že při malém počtu procesorů to může vytuhnout celý program, když náhodou všechna živá vlákna začnou na něco čekat a to "něco" je naplánováno v nějaké té další úloze, která teprve čeká ve frontě na spuštění. (Ale to je výjimečná situace, nutno na to jen trochu myslet.)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
if.then



Založen: 13. 04. 2008
Příspěvky: 579

PříspěvekZaslal: 14. listopad 2008, 07:24:20    Předmět: Odpovědět s citátem

Za ty vlakna sorry - zrovna jsem za sebou mel narocny den a nejak mi to nemyslelo Smile
AI vystihl ten pripad MMO dobre. Pocasi muze pockat, hlavne kdyz bude server komunikovat s hraci Very Happy
_________________
For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mem



Založen: 28. 07. 2007
Příspěvky: 1959
Bydliště: Olomouc

PříspěvekZaslal: 14. listopad 2008, 08:18:39    Předmět: Odpovědět s citátem

if.then napsal:
AI vystihl ten pripad MMO dobre

OT: To neni AI, to je bohuzel clovek Wink
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Mem



Založen: 28. 07. 2007
Příspěvky: 1959
Bydliště: Olomouc

PříspěvekZaslal: 14. listopad 2008, 09:45:27    Předmět: Odpovědět s citátem

PanVetvicka: Meet Al Cool
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
MD



Založen: 29. 07. 2007
Příspěvky: 437
Bydliště: Praha

PříspěvekZaslal: 14. listopad 2008, 10:15:25    Předmět: Odpovědět s citátem

Ad fond vlaken - to je skoro stejne sileny preklad jako "pakovy ovladac" - ja bych tomu taky nerozumel Shocked Preklady nekterych pojmu jsou na zabiti..
_________________
- play with objects - www.krkal.org -
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Augi



Založen: 28. 07. 2007
Příspěvky: 782
Bydliště: Čerčany

PříspěvekZaslal: 14. listopad 2008, 10:59:42    Předmět: Odpovědět s citátem

Se musím přiznat, že pojem "fond vláken" jsem četl teď poprvé, přestože thread-pool používám (z .NET) Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna