Tu peux te démerder en optimisant les données envoyées.
Le serveur, tu lui fait calculer les distances carrées entre 2 joueurs ( monstres) et tu fais garder en mémoire uniquement les coords
Tu lui fais un petit algo capable de te donner toutes les entités a un certain rayon d´un point donné, en l´occurrence la position du joueur a tester.
Le programme serveur doit etre hautement multithreadé, n´oublie pas de gérer des Mutex.
Dans la mesure ou le rafraichissement est rapide, send uniquement les coords absolues, en protocole UDP, le TCP n´étant pas utile dans ce cas. Et send uniquement les données se trouvant dans le rayon.
Afin d´éviter ce qui est tricherie, au lieu de sender tout le monde ( inhumain), tu définis le programme client pour qu´il calcule un checksum a partir de données significatives, plusieurs client calculant le meme checksum. La vérification de tricherie sera une simple comparaion de checksums pour le serveur. Et a ce moment la, ton serveur n´a pas besoin d´etre si puissant, et une ADSL peut suffir.
Ce sont tous des problemes d´optimisation réseau. De toute façon, si tu t´attaques a un MMORPG, c´est que tu dois mastériser le réseau.