Some tips that come to mind:

- It is possible to make server only pass the control messages to players and not control the game itself. However that would mean games have to be in absolute synchronizity. (Different computers count differently with floating point numbers etc can make difference in time)

- Only 1 level per game is needed to load in memory at the time, rest are waiting in map files on disk. 1 game would not take much memory.

- If you are worried about server handling numerous games for many people, you can let server make 1 of the clients start a server. That would be kind of a Login-server, or similar to Battle.net. (This is not something i'd be worried at all at the beginning. Start from simple 1 game server and expand from there once skills are growing.)