Index: common/Game.cpp
===================================================================
--- common/Game.cpp	(revision f419b0947505ee426468bd4444838074b0cca655)
+++ common/Game.cpp	(revision f419b0947505ee426468bd4444838074b0cca655)
@@ -0,0 +1,36 @@
+#include "Game.h"
+
+using namespace std;
+
+Game::Game() {
+   this->id = 0;
+   this->name = "";
+}
+
+Game::Game(string name) {
+   this->id = 0;
+   this->name = name;
+}
+
+Game::~Game() {
+}
+
+void Game::setId(int id) {
+   this->id = id;
+}
+
+bool Game::addPlayer(Player* p) {
+   if (players.count(p->id) == 0) {
+      players[p->id] = p;
+      return true;
+   }
+   else
+      return false;
+}
+
+bool Game::removePlayer(int id) {
+   if (players.erase(id) == 1)
+      return true;
+   else
+      return false;
+}
Index: common/Game.h
===================================================================
--- common/Game.h	(revision f419b0947505ee426468bd4444838074b0cca655)
+++ common/Game.h	(revision f419b0947505ee426468bd4444838074b0cca655)
@@ -0,0 +1,38 @@
+#ifndef _GAME_H
+#define _GAME_H
+
+#include "Compiler.h"
+
+#if defined WINDOWS
+   #include <winsock2.h>
+   #include <WS2tcpip.h>
+#elif defined LINUX
+   #include <netinet/in.h>
+#endif
+
+#include <string>
+#include <map>
+
+#include "Player.h"
+
+using namespace std;
+
+class Game {
+private:
+   int id;
+   string name
+   map<int, Player*> players;
+
+public:
+   Game();
+   Game(string name);
+
+   ~Game();
+
+   void setId(int id);
+
+   bool addPlayer(Player* p);
+   bool removePlayer(int id);
+};
+
+#endif
Index: common/MessageContainer.h
===================================================================
--- common/MessageContainer.h	(revision f9cb9fb6fdacb1a49b3026e84a4faeec1a0405ca)
+++ common/MessageContainer.h	(revision f419b0947505ee426468bd4444838074b0cca655)
@@ -31,4 +31,7 @@
 #define MSG_TYPE_PROJECTILE        15
 #define MSG_TYPE_REMOVE_PROJECTILE 16
+#define MSG_TYPE_CREATE_GAME       17
+#define MSG_TYPE_JOIN_GAME         18
+#define MSG_TYPE_LEAVE_GAME        19
 
 typedef struct
