Networking in RTS (Application vs AppState)

I want to create some RTS game based on Warcraft or something. The problem I am currently facing is more of design type. I want to have server which can run multiple instances of actual “game” (like battle.net). So I am curious how to implement such thing. Should I make one Application on server side and have game instances as AppStates and update their rootNode in update() method, or spawn new Application each time new game instance is requested? What would be better in terms of performance and ease of implementation?

Another question which popped in my mind: because Application instantiates all inputs, camera, audio, renderer and other stuff, should I make my own Application for headless server, which doesn’t instantiate all this unimportant (in this case) classes, but only manages scene graph?

Thanks.

Well not realy answer but if you only need scenegraph and physic probably a

new Node() a update that updates this and a physicappstate are everything you need.



I suggest however that you do not host all games in the same jvm as I see a problem ther when one has for whatever resons a critical error and crashes every other game as well.



I woul probably have a small simple gameserver, and spawn instances of this process from some kind of lobby system. While there is a small overhead, it should not be that much since the server does not need models textures loaded, the collisionshapes are enough.