I’d actually like to throw a small spanner in here and say that J2EE is often used for running the server for a client-server game, but that as has been stated above J2EE is generally useless for game servers.
Why the apparent contradiction? Sadly, the J2EE brand is another great example of Sun’s marketing dept being incapable of saying what they mean, or of meaning what they say. J2EE is several things (just like “java” is several fundamentally unrelated things).
-
J2EE’s special features that seem relevant for networked games and for enterprise games are, mostly, crap - which is what JeffK’s referring to.
-
J2EE’s core features that most of the mainstream IT world knows and loves are, mostly, excellent - and are frequently used in game servers for the management of the gameserver itself, and for integrating with NON real time parts of the game (for instance: serviing web pages, providing file downloads / patches/updates, serving forums, serving authentication and encryption systems, etc).
The latter bunch of stuff can be “added” to any J2SE implementation just by downloading a bunch of JAR files and downloading a “container” (3rd party “Application Server” that provides a harness from which to run your gameservers, and abstracts away some parts of making a multithreaded server).
So, really, the parts of J2EE that would be of itnerest to you you don’t even need to think about until you get to the point of needing them, because you can bolt them on later.
IMHO. Apologies for the gross generalizations, as normall… 