du kannst dir mal MaNGOS ansehen, das ist eine freie implementierung eines mmorpg servers welcher für wow ist:
sourcecode: http://github.com/mangos/mangos
forum des cores: http://getmangos.com/
forum der script library (c++ scripte und sql-scripte der mobs): http://scriptdev2.com/
forum der datenbank: http://udbforums.org/
wir (http://naxxramas.eu/) haben mit einem quadcore und 8gb ram leichte lagprobleme ab ca. 800 leuten (wir haben das playercap momentan auf ca. 800 eingestellt, sonst würde es am WE nur noch laggen
), das liegt daran, dass mangos leider damals nicht wirklich auf multithreading/multiprocessing ausgelegt wurde (wir haben den sogenannten 'mtmaps' patch eingespielt, welcher die maps in threads unterteilt)
@nox: sieh mal in diese files rein (hab einfach kurz alle mit Map am anfang des namens genommen
, links gehen auf den letzten commit, 7897):
Map.cpp: http://repo.or.cz/w/getmangos.git?a=blob;f=src/game/Map.cpp;h=e3cf0164b3ddf31e5abb90086540b6726e85f84e;hb=HEAD
Map.h: http://repo.or.cz/w/getmangos.git?a=blob;f=src/game/Map.h;h=a07553181aad3bbb398aea4b3891d96548293540;hb=HEAD
MapInstanced.cpp: http://repo.or.cz/w/getmangos.git?a=blob;f=src/game/MapInstanced.cpp;h=e6eaa62984fac63a6d71a39b998288e775c8c759;hb=HEAD
MapInstanced.h: http://repo.or.cz/w/getmangos.git?a=blob;f=src/game/MapInstanced.h;h=783de74ad2c7ab2fad7492cfec304e71c2b5211e;hb=HEAD
MapManager.cpp: http://repo.or.cz/w/getmangos.git?a=blob;f=src/game/MapManager.cpp;h=074034d2b1b6f424212281a23913409b9fc1c03f;hb=HEAD
MapManager.h: http://repo.or.cz/w/getmangos.git?a=blob;f=src/game/MapManager.h;h=0de79a8b914c7e3cb726593de4c2a5671e7ca69b;hb=HEAD
MapRefManager.h: http://repo.or.cz/w/getmangos.git?a=blob;f=src/game/MapRefManager.h;h=02f8b2ea465e9c9950c167177e26dc52b9a90021;hb=HEAD
MapReference.h: http://repo.or.cz/w/getmangos.git?a=blob;f=src/game/MapReference.h;h=3879da51c1212a6505764a25c5f178254e727c25;hb=HEAD
Edit: fragen über wow server versuche ich so gut wie möglich zu beantworten, ich programmier ja daran mit, möchte aber darauf hinweisen, dass ich da nicht im entwicklungs-team bin und auch nicht alles so gut kenne (maps kenne ich eher weniger gut)