Index: branches/proxy/src/lib/network/monitor/network_node.cc
===================================================================
--- branches/proxy/src/lib/network/monitor/network_node.cc	(revision 9581)
+++ branches/proxy/src/lib/network/monitor/network_node.cc	(revision 9582)
@@ -148,4 +148,48 @@
 
 
+
+/**
+ *  gets the peer info by user id
+ * @param userId  the user id of the node to look up
+ * @return the peer info of this node NULL if nothing found
+ */
+PeerInfo* NetworkNode::getNodeByUserId( int userId)
+{
+  // look through the master server lists
+  std::list<PeerInfo*>::const_iterator it = this->masterServerList.begin();
+  for( ;it != this->masterServerList.end(); it++)
+  {
+    if( (*it)->userId == userId)
+      return (*it);
+  }
+
+  // look through the active proxy server list
+  it = this->activeProxyServerList.begin();
+  for( ; it != this->activeProxyServerList.end(); it++)
+  {
+    if( (*it)->userId == userId)
+      return (*it);
+  }
+
+  // look through the passive server list
+  it = this->passiveProxyServerList.begin();
+  for( ; it != this->passiveProxyServerList.end(); it++)
+  {
+    if( (*it)->userId == userId)
+      return (*it);
+  }
+
+  // look through the client list
+  it = this->clientList.begin();
+  for( ; it != this->clientList.end(); it++)
+  {
+    if( (*it)->userId == userId)
+      return (*it);
+  }
+
+  return NULL;
+}
+
+
 /**
  * @param index index to the client
@@ -154,5 +198,5 @@
 PeerInfo* NetworkNode::getClient(int index) const
 {
-  if( this->clientList.size() < index)
+  if( (int)this->clientList.size() < index)
     return NULL;
 
@@ -174,5 +218,5 @@
 PeerInfo* NetworkNode::getActiveProxyServer(int index) const
 {
-  if( this->activeProxyServerList.size() < index)
+  if( (int)this->activeProxyServerList.size() < index)
     return NULL;
 
@@ -194,5 +238,5 @@
 PeerInfo* NetworkNode::getPassiveProxyServer(int index) const
 {
-  if( this->passiveProxyServerList.size() < index)
+  if( (int)this->passiveProxyServerList.size() < index)
     return NULL;
 
@@ -214,5 +258,5 @@
 PeerInfo* NetworkNode::getMasterServer(int index) const
 {
-  if( this->masterServerList.size() < index)
+  if( (int)this->masterServerList.size() < index)
     return NULL;
 
Index: branches/proxy/src/lib/network/monitor/network_node.h
===================================================================
--- branches/proxy/src/lib/network/monitor/network_node.h	(revision 9581)
+++ branches/proxy/src/lib/network/monitor/network_node.h	(revision 9582)
@@ -46,4 +46,5 @@
     inline std::list<PeerInfo*> getClient() const { return this->clientList; }
 
+    PeerInfo* getNodeByUserId( int userId);
 
     /** @returns the number of players */
Index: branches/proxy/src/lib/network/network_game_manager.h
===================================================================
--- branches/proxy/src/lib/network/network_game_manager.h	(revision 9581)
+++ branches/proxy/src/lib/network/network_game_manager.h	(revision 9582)
@@ -19,16 +19,5 @@
 class PNode;
 
-typedef enum NetworkGameManagerProtocol {
-  NET_CREATE_ENTITY = 0,
-  NET_REMOVE_ENTITY,
-  NET_CREATE_ENTITY_LIST,
-  NET_REMOVE_ENTITY_LIST,
-  NET_REQUEST_CREATE,
-  NET_REQUEST_REMOVE,
-  NET_YOU_ARE_ENTITY,
-  NET_REQUEST_ENTITY_LIST,
 
-  NET_NUMBER
-};
 
 struct clientBuffer
Index: branches/proxy/src/lib/network/proxy/proxy_control.cc
===================================================================
--- branches/proxy/src/lib/network/proxy/proxy_control.cc	(revision 9581)
+++ branches/proxy/src/lib/network/proxy/proxy_control.cc	(revision 9582)
@@ -29,5 +29,5 @@
 #include "debug.h"
 
-
+#include "monitor/network_monitor.h"
 
 
@@ -85,5 +85,8 @@
   assert(SharedNetworkData::getInstance()->isProxyServerActive());
 
-  byte data[INTSIZE];
+  byte data[2 * INTSIZE];
+  // write the userId in the message
+  assert( Converter::intToByteArray( userId, data, INTSIZE ) == INTSIZE );
+  // and the ip as an int
 
   assert( Converter::intToByteArray( userId, data, INTSIZE ) == INTSIZE );
