Index: branches/proxy/src/lib/network/message_manager.cc
===================================================================
--- branches/proxy/src/lib/network/message_manager.cc	(revision 9540)
+++ branches/proxy/src/lib/network/message_manager.cc	(revision 9541)
@@ -275,6 +275,6 @@
       else
       {
-        // forwarding the messages but only if its not a client
-        if( !SharedNetworkData::getInstance()->isClient())
+        // forwarding the messages but only if its a proxy
+        if( /*!SharedNetworkData::getInstance()->isClient()*/ SharedNetworkData::getInstance()->isProxyServerActive())
         {
           PRINTF(0)("===========>> Forwarding Message msg with type: %i, from sender %i, to rec: %i\n", messageType, senderId, destinationId);
Index: branches/proxy/src/lib/network/network_game_manager.cc
===================================================================
--- branches/proxy/src/lib/network/network_game_manager.cc	(revision 9540)
+++ branches/proxy/src/lib/network/network_game_manager.cc	(revision 9541)
@@ -91,5 +91,5 @@
 bool NetworkGameManager::signalNewPlayer( int userId )
 {
-  assert( SharedNetworkData::getInstance()->isMasterServer() ||  SharedNetworkData::getInstance()->isProxyServerActive());
+  assert( SharedNetworkData::getInstance()->isMasterServer());
   assert( State::getGameRules() );
   assert( State::getGameRules()->isA( CL_NETWORK_GAME_RULES ) );
Index: branches/proxy/src/lib/network/network_stream.cc
===================================================================
--- branches/proxy/src/lib/network/network_stream.cc	(revision 9540)
+++ branches/proxy/src/lib/network/network_stream.cc	(revision 9541)
@@ -398,5 +398,5 @@
         //userId = 1;
         // each server (proxy and master) have an address space for new network nodes of 1000 nodes
-        userId = SharedNetworkData::getInstance()->getHostID() * 1000;
+        userId = SharedNetworkData::getInstance()->getHostID() * 1000 + 1;
 
         for ( PeerList::iterator it = peers.begin(); it != peers.end(); it++ )
Index: branches/proxy/src/lib/network/player_stats.cc
===================================================================
--- branches/proxy/src/lib/network/player_stats.cc	(revision 9540)
+++ branches/proxy/src/lib/network/player_stats.cc	(revision 9541)
@@ -163,4 +163,5 @@
   if ( this->playable && userId == SharedNetworkData::getInstance()->getHostID() )
   {
+    PRINTF(0)(">>>>>>>>>>>>>>>>>>>>>> assign playable %i to user %i (localuser)\n\n\n", this->playable->getUniqueID(), userId);
     State::getPlayer()->setPlayable( this->playable );
     // also set the team id
Index: branches/proxy/src/lib/network/proxy/proxy_control.cc
===================================================================
--- branches/proxy/src/lib/network/proxy/proxy_control.cc	(revision 9540)
+++ branches/proxy/src/lib/network/proxy/proxy_control.cc	(revision 9541)
@@ -21,4 +21,5 @@
 #include "state.h"
 #include "shared_network_data.h"
+#include "network_game_manager.h"
 
 #include "converter.h"
@@ -103,9 +104,20 @@
 bool ProxyControl::messageHandlerNewClient( MessageType messageType, byte * data, int dataLength, void * someData, int senderId, int destinationId  )
 {
-  PRINTF(0)("Got Signal: new player arrived\n");
+  int userId;
+  // body data length correct?
+  if ( dataLength != INTSIZE )
+  {
+    PRINTF(2)("new client message has wrong size: %d\n", dataLength );
+    return true;
+  }
+  // read the userId fromt he message body
+  assert( Converter::byteArrayToInt( data, &userId) == INTSIZE );
+
+  PRINTF(0)("Got Signal: new player arrived with userId: %i\n", userId);
   // part for the master server
   if( SharedNetworkData::getInstance()->isMasterServer())
   {
-
+    // we now create the new player ship and stuff...
+    NetworkGameManager::getInstance()->signalNewPlayer(userId);
   }
   else if(SharedNetworkData::getInstance()->isProxyServerActive())
Index: branches/proxy/src/world_entities/spawning_point.cc
===================================================================
--- branches/proxy/src/world_entities/spawning_point.cc	(revision 9540)
+++ branches/proxy/src/world_entities/spawning_point.cc	(revision 9541)
@@ -207,5 +207,4 @@
 void SpawningPoint::sendRespawnMessage( int uniqueId )
 {
-#warning this byte array is not being deleted according to valginrd
   byte * buf = new byte[2*INTSIZE];
 
