Index: /branches/proxy/src/lib/network/message_manager.cc
===================================================================
--- /branches/proxy/src/lib/network/message_manager.cc	(revision 9541)
+++ /branches/proxy/src/lib/network/message_manager.cc	(revision 9542)
@@ -249,5 +249,6 @@
           recieverType == RT_NOT_USER && SharedNetworkData::getInstance()->getHostID() != destinationId ||
           recieverType == RT_USER  && SharedNetworkData::getInstance()->getHostID() == destinationId ||
-          recieverType == RT_SERVER && SharedNetworkData::getInstance()->isMasterServer())
+          recieverType == RT_SERVER && SharedNetworkData::getInstance()->isMasterServer() ||
+          recieverType == RT_SERVER && SharedNetworkData::getInstance()->isProxyServerActive())
       {
 
@@ -417,5 +418,46 @@
 
     // relay server special handling
-    if( SharedNetworkData::getInstance()->isMasterServer() && SharedNetworkData::getInstance()->isUserProxyServerActive(it->first))
+//     if( SharedNetworkData::getInstance()->isMasterServer() && SharedNetworkData::getInstance()->isUserProxyServerActive(it->first))
+//     {
+//       NetworkMessage msg;
+//
+//       msg.data = new byte[dataLength];
+//       memcpy( msg.data, data, dataLength );
+//       msg.length = dataLength;
+//       msg.messageType = messageType;
+//       msg.number = this->newNumber++;
+//       msg.senderId = SharedNetworkData::getInstance()->getHostID();
+//       msg.destinationId = reciever;
+//       msg.recieverType = recieverType;
+//       msg.priority = messagePriority;
+//
+//       it->second.messages.push_back( msg );
+//     }
+//     // proxy server to master server
+//     else if( SharedNetworkData::getInstance()->isProxyServerActive() && SharedNetworkData::getInstance()->isUserMasterServer(it->first))
+//     {
+//       NetworkMessage msg;
+//
+//       msg.data = new byte[dataLength];
+//       memcpy( msg.data, data, dataLength );
+//       msg.length = dataLength;
+//       msg.messageType = messageType;
+//       msg.number = this->newNumber++;
+//       msg.senderId = SharedNetworkData::getInstance()->getHostID();
+//       msg.destinationId = reciever;
+//       msg.recieverType = recieverType;
+//       msg.priority = messagePriority;
+//
+//       it->second.messages.push_back( msg );
+//     }
+    // check for every node if the message is for it also
+    /*else*/ if (
+         recieverType == RT_ALL_ME ||
+         recieverType == RT_ALL_BUT_ME ||
+         recieverType == RT_USER && it->first == reciever ||
+         recieverType == RT_NOT_USER && it->first != reciever ||
+         recieverType == RT_SERVER && getNetworkStream()->isUserMasterServer( it->first ) ||
+         recieverType == RT_SERVER && getNetworkStream()->isUserProxyServerActive( it->first )
+       )
     {
       NetworkMessage msg;
@@ -433,45 +475,4 @@
       it->second.messages.push_back( msg );
     }
-    // proxy server to master server
-    else if( SharedNetworkData::getInstance()->isProxyServerActive() && SharedNetworkData::getInstance()->isUserMasterServer(it->first))
-    {
-      NetworkMessage msg;
-
-      msg.data = new byte[dataLength];
-      memcpy( msg.data, data, dataLength );
-      msg.length = dataLength;
-      msg.messageType = messageType;
-      msg.number = this->newNumber++;
-      msg.senderId = SharedNetworkData::getInstance()->getHostID();
-      msg.destinationId = reciever;
-      msg.recieverType = recieverType;
-      msg.priority = messagePriority;
-
-      it->second.messages.push_back( msg );
-    }
-    // check for every node if the message is for it also
-    else if (
-         recieverType == RT_ALL_ME ||
-         recieverType == RT_ALL_BUT_ME ||
-         recieverType == RT_USER && it->first == reciever ||
-         recieverType == RT_NOT_USER && it->first != reciever ||
-         recieverType == RT_SERVER && getNetworkStream()->isUserMasterServer( it->first ) ||
-         recieverType == RT_SERVER && getNetworkStream()->isUserProxyServerActive( it->first )
-       )
-    {
-      NetworkMessage msg;
-
-      msg.data = new byte[dataLength];
-      memcpy( msg.data, data, dataLength );
-      msg.length = dataLength;
-      msg.messageType = messageType;
-      msg.number = this->newNumber++;
-      msg.senderId = SharedNetworkData::getInstance()->getHostID();
-      msg.destinationId = reciever;
-      msg.recieverType = recieverType;
-      msg.priority = messagePriority;
-
-      it->second.messages.push_back( msg );
-    }
 
 
Index: /branches/proxy/src/lib/network/player_stats.cc
===================================================================
--- /branches/proxy/src/lib/network/player_stats.cc	(revision 9541)
+++ /branches/proxy/src/lib/network/player_stats.cc	(revision 9542)
@@ -163,5 +163,4 @@
   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 9541)
+++ /branches/proxy/src/lib/network/proxy/proxy_control.cc	(revision 9542)
@@ -87,5 +87,5 @@
   assert( Converter::intToByteArray( userId, data + INTSIZE, INTSIZE ) == INTSIZE );
 
-  MessageManager::getInstance()->sendMessage( MSGID_PROXY_NEWCLIENT, data, INTSIZE, RT_ALL_BUT_ME, NET_UNASSIGNED, MP_HIGHBANDWIDTH );
+  MessageManager::getInstance()->sendMessage( MSGID_PROXY_NEWCLIENT, data, INTSIZE, RT_SERVER, NET_UNASSIGNED, MP_HIGHBANDWIDTH );
 }
 
@@ -104,4 +104,5 @@
 bool ProxyControl::messageHandlerNewClient( MessageType messageType, byte * data, int dataLength, void * someData, int senderId, int destinationId  )
 {
+  PRINTF(0)("\n\nulla\n\n");
   int userId;
   // body data length correct?
