Running multiple games concurrently with node.js
First I would suggest separating your game server from your static server. You wouldn't want your static server clogging up your game server process. The advantage is that you can easily spawn more processes if you want, across different ports, or even across different machines. And if one goes down, it's just that one, not everything.

So that means the following should be written separately:


Your static server (express) 
Your room list server
Game server (which stores the game state)


Static server will be a standalone thing. Room list will share data with the game server. All your room listing server does is just get the active rooms from some DB. The game server will hold the game states across rooms. Creating a room would mean storing it's id to the DB for the server listing.

I also consider using UUIDs instead of counting. Create the id when a game object is created. This ensures that a game object will have a unique id upon creation, without relying on outer logic to supply it one.