Index: branches/network/src/lib/network/message_manager.cc
===================================================================
--- branches/network/src/lib/network/message_manager.cc	(revision 7694)
+++ branches/network/src/lib/network/message_manager.cc	(revision 7697)
@@ -202,9 +202,11 @@
   
   
-  for ( std::list<NetworkMessage>::iterator it = incomingMessabeBuffer.begin(); it != incomingMessabeBuffer.end(); it++ )
-  {
-    if ( (*(messageHandlerMap[it->messageId].cb))( it->messageId, data + i, it->length, messageHandlerMap[it->messageId].someData, it->number ) )
+  for ( std::list<NetworkMessage>::iterator it = incomingMessabeBuffer.begin(); it != incomingMessabeBuffer.end();  )
+  {
+    if ( (*(messageHandlerMap[it->messageId].cb))( it->messageId, it->data, it->length, messageHandlerMap[it->messageId].someData, it->number ) )
     {
       std::list<NetworkMessage>::iterator delIt = it;
+      if ( it->data )
+        delete it->data;
       it++;
       incomingMessabeBuffer.erase( delIt );
Index: branches/network/src/lib/network/network_game_manager.cc
===================================================================
--- branches/network/src/lib/network/network_game_manager.cc	(revision 7694)
+++ branches/network/src/lib/network/network_game_manager.cc	(revision 7697)
@@ -53,6 +53,7 @@
   this->setClassID(CL_NETWORK_GAME_MANAGER, "NetworkGameManager");
 
-  hasRequestedWorld = false;
   this->setSynchronized(true);
+  
+  MessageManager::getInstance()->registerMessageHandler( MSGID_YOU_ARE, youAreHandler, NULL );
 }
 
@@ -682,5 +683,5 @@
       } else
       {
-        PRINTF(1)("UniqueID is not a Playable\n");
+        PRINTF(1)("UniqueID %d is not a Playable\n", uniqueID);
       }
     }
@@ -943,12 +944,9 @@
     if ( (*it)->getUniqueID()==uniqueId )
     {
-      if ( (*it)->isA( CL_PLAYABLE ) )
-      {
-        break;
-      }
+      break;
     }
   }
   
-  if ( it !=NetworkGameManager::getInstance()->networkStream->getSyncEnd() )
+  if ( it == NetworkGameManager::getInstance()->networkStream->getSyncEnd() )
     return false;
   
Index: branches/network/src/lib/network/network_game_manager.h
===================================================================
--- branches/network/src/lib/network/network_game_manager.h	(revision 7694)
+++ branches/network/src/lib/network/network_game_manager.h	(revision 7697)
@@ -121,5 +121,4 @@
 #endif
     static NetworkGameManager*    singletonRef;
-    bool                          hasRequestedWorld;
 };
 
Index: branches/network/src/world_entities/space_ships/space_ship.cc
===================================================================
--- branches/network/src/world_entities/space_ships/space_ship.cc	(revision 7694)
+++ branches/network/src/world_entities/space_ships/space_ship.cc	(revision 7697)
@@ -222,14 +222,14 @@
   
   registerVar( new SynchronizeableVector( &velocity, &velocity, "velocity" ) );
-  registerVar( new SynchronizeableQuaternion( &mouseDir, &mouseDir, "mousedir" ) );
-
-  registerVar( new SynchronizeableBool( &bUp, &bUp, "bUp" ) );
-  registerVar( new SynchronizeableBool( &bDown, &bDown, "bDown" ) );
-  registerVar( new SynchronizeableBool( &bLeft, &bLeft, "bLeft" ) );
-  registerVar( new SynchronizeableBool( &bRight, &bRight, "bRight" ) );
-  registerVar( new SynchronizeableBool( &bAscend, &bAscend, "bAscend" ) );
-  registerVar( new SynchronizeableBool( &bDescend, &bDescend, "bDescend" ) );
-  registerVar( new SynchronizeableBool( &bRollL, &bRollL, "bRollL" ) );
-  registerVar( new SynchronizeableBool( &bRollR, &bRollR, "bRollR" ) );
+  registerVar( new SynchronizeableQuaternion( &mouseDir, &mouseDir, "mousedir", PERMISSION_OWNER ) );
+
+  registerVar( new SynchronizeableBool( &bUp, &bUp, "bUp", PERMISSION_OWNER ) );
+  registerVar( new SynchronizeableBool( &bDown, &bDown, "bDown", PERMISSION_OWNER ) );
+  registerVar( new SynchronizeableBool( &bLeft, &bLeft, "bLeft", PERMISSION_OWNER ) );
+  registerVar( new SynchronizeableBool( &bRight, &bRight, "bRight", PERMISSION_OWNER ) );
+  registerVar( new SynchronizeableBool( &bAscend, &bAscend, "bAscend", PERMISSION_OWNER ) );
+  registerVar( new SynchronizeableBool( &bDescend, &bDescend, "bDescend", PERMISSION_OWNER ) );
+  registerVar( new SynchronizeableBool( &bRollL, &bRollL, "bRollL", PERMISSION_OWNER ) );
+  registerVar( new SynchronizeableBool( &bRollR, &bRollR, "bRollR", PERMISSION_OWNER ) );
 }
 
