I'm writing a MMORPG in Java. So far, I've written a bit of the client, and a bit of the server, and I've run into a few hassles:
- Player awareness
I'm really having a lot of trouble trying to work out how the server is going to handle informing every client of every NPC/Player's position and any new characters that spawn/login. I'm planning to have 50 or so clients in the game, and I imagine sending a packet to each one purely to inform them that an NPC moved to 51,100 is going to be laggy. Does anyone have any tips they can give me regarding this? It'd much be appreciated. By the way, all of the game is using TPC/IP.
- Packet encryption
I know a few people who are going to try and cheat at my game (*sniffle*), but I've made the server secure, encrypted packets etc. But I'm lost as to what encryption scheme. I'm currently encrypting using DesEDE with a dynamic key (changing each outgoing packet), and I think this'll sort of murder the server, encrypting so many things so quickly (or trying). I would write my own encryption/descryption methods, but I'm wondering what the most efficient/safest things to do are.
And that about sums up my problems =P.