Index: branches/proxy/src/lib/network/handshake.cc
===================================================================
--- branches/proxy/src/lib/network/handshake.cc	(revision 9267)
+++ branches/proxy/src/lib/network/handshake.cc	(revision 9268)
@@ -43,4 +43,6 @@
   errorString_handler = registerVarId( new SynchronizeableString( &localState.errorString, &remoteState.errorString, "errorString", PERMISSION_ALL ) );
 
+  this->nodeTypeHandler = registerVarId( new SynchronizeableInt( &localState.nodeType, &remoteState.nodeType, "nodeType", PERMISSION_ALL ) );
+
   candel_id = registerVarId( new SynchronizeableInt( &localState.canDel, &remoteState.canDel, "canDel", PERMISSION_ALL ) );
 
@@ -56,4 +58,5 @@
   localState.orxId = _ORXONOX_ID;
   localState.version = _ORXONOX_VERSION;
+//   localState.nodeType =
   localState.canDel = 0;
 
Index: branches/proxy/src/lib/network/handshake.h
===================================================================
--- branches/proxy/src/lib/network/handshake.h	(revision 9267)
+++ branches/proxy/src/lib/network/handshake.h	(revision 9268)
@@ -12,20 +12,21 @@
 
 struct HandshakeState {
-  int orxId;
-  int version;
+  int orxId;                         //!< orxonox id
+  int version;                       //!< network protocol version
 
-  int networkManagerId;
-  int messageManagerId;
-  int hostId;
+  int networkManagerId;              //!< unique id of the network manager
+  int messageManagerId;              //!< unique id of the message manager
+  int hostId;                        //!< host id
+  int nodeType;                      //!< type of the network node
 
-  int completed;
-  int canDel;
+  int completed;                     //!< true if completed
+  int canDel;                        //!< true if marked for deletion
 
-  int error;
+  int error;                         //!< error number
 
-  std::string errorString;
+  std::string errorString;           //!< error string
 
   //additional data
-  std::string preferedNickName;
+  std::string preferedNickName;      //!< prefered nick name
 };
 
@@ -77,5 +78,5 @@
     int                msgManId_handler;                      //!< message manager handler
     int                hostId_handler;                        //!< host id handler
-    int                serverAddressHandler;                  //!< server address handler
+    int                nodeTypeHandler;                       //!< node type handler
 
     int                completed_handler;                     //!< handshake completion handler
@@ -83,4 +84,5 @@
     int                errorString_handler;                   //!< handshake error string handler
     int                candel_id;                             //!< handshake deletion handler
+    int                nodeType;                              //!, the type of the network node
 
 };
Index: branches/proxy/src/lib/network/network_stream.cc
===================================================================
--- branches/proxy/src/lib/network/network_stream.cc	(revision 9267)
+++ branches/proxy/src/lib/network/network_stream.cc	(revision 9268)
@@ -26,4 +26,5 @@
 #include "udp_server_socket.h"
 #include "connection_monitor.h"
+#include "network_monitor.h"
 #include "synchronizeable.h"
 #include "network_game_manager.h"
@@ -45,8 +46,8 @@
 #include <algorithm>
 
-/* include your own header */
+
 #include "network_stream.h"
 
-/* probably unnecessary */
+
 using namespace std;
 
@@ -792,12 +793,16 @@
 /**
  * is executed when a handshake has finished
- * @todo create playable for new user
  */
 void NetworkStream::handleNewClient( int userId )
 {
+  // init and assign the message manager
   MessageManager::getInstance()->initUser( userId );
-
+  // do all game relevant stuff here
   networkGameManager->signalNewPlayer( userId );
-}
+
+  // register the new client at the network monitor
+//   this->networkMonitor->addClient();
+}
+
 
 /**
Index: branches/proxy/src/lib/network/network_stream.h
===================================================================
--- branches/proxy/src/lib/network/network_stream.h	(revision 9267)
+++ branches/proxy/src/lib/network/network_stream.h	(revision 9268)
@@ -22,4 +22,5 @@
 class ServerSocket;
 class NetworkGameManager;
+class NetworkMonitor;
 
 
@@ -66,16 +67,18 @@
 
   private:
+
     inline SynchronizeableList::const_iterator getSyncBegin(){ return synchronizeables.begin(); }
     inline SynchronizeableList::const_iterator getSyncEnd(){ return synchronizeables.end(); }
     inline PeerInfo & getPeerInfo( int userId ) { return peers[userId]; }
-
+    void cleanUpOldSyncList();
     int getSyncCount();
 
     void updateConnectionList();
+
     void handleHandshakes();
     void handleUpstream( int tick );
     void handleDownstream(int tick );
     void handleNewClient( int userId );
-    void cleanUpOldSyncList();
+
 
     void writeToNewDict( byte * data, int length, bool upstream );
@@ -91,4 +94,5 @@
     int                        currentState;                //!< current state id
 
+    NetworkMonitor*            networkMonitor;              //!< the network monitor
     NetworkGameManager*        networkGameManager;          //!< reference to the network game manager
     ServerSocket*              serverSocket;                //!< the listening socket of the server
