Index: /trunk/src/lib/network/network_game_manager.cc
===================================================================
--- /trunk/src/lib/network/network_game_manager.cc	(revision 6993)
+++ /trunk/src/lib/network/network_game_manager.cc	(revision 6994)
@@ -539,5 +539,5 @@
     PRINTF(0)("Fabricated %s with id %d\n", s->getClassName(), s->getUniqueID());
 
-    //HACK: hack to prevent collision
+    //TODO HACK: hack to prevent collision
     if ( b->isA(CL_WORLD_ENTITY) && !b->isA(CL_PLAYABLE) )
     {
@@ -551,5 +551,5 @@
       }
     }
-    ///HACK this is only for network multiplayer games.
+    ///TODO HACK this is only for network multiplayer games.
     if( b->isA(CL_SPACE_SHIP))
     {
Index: /trunk/src/lib/network/network_socket.cc
===================================================================
--- /trunk/src/lib/network/network_socket.cc	(revision 6993)
+++ /trunk/src/lib/network/network_socket.cc	(revision 6994)
@@ -444,5 +444,5 @@
   if (blen>maxLength)
   {
-    PRINTF(1)("Buffersize is too small (%d) for packet (%d)\n", maxLength, blen);
+    PRINTF(1)("Buffersize is too small (%d) for packet (%d).\n", maxLength, blen);
     assert(false);
     return 0;
Index: /trunk/src/lib/network/network_socket.h
===================================================================
--- /trunk/src/lib/network/network_socket.h	(revision 6993)
+++ /trunk/src/lib/network/network_socket.h	(revision 6994)
@@ -8,5 +8,5 @@
 #define _NETWORK_SOCKET
 
-//HACK else gdb will not work on server
+//TODO HACK else gdb will not work on server
 #define DONTEXITTHREADS
 
Index: /trunk/src/world_entities/playable.cc
===================================================================
--- /trunk/src/world_entities/playable.cc	(revision 6993)
+++ /trunk/src/world_entities/playable.cc	(revision 6994)
@@ -305,10 +305,27 @@
 {
   SYNCHELP_READ_BEGIN();
-
+  
+  byte b;
+  SYNCHELP_READ_BYTE( b, NWT_PL_B );
+  
   byte flags;
-
-  SYNCHELP_READ_BYTE( flags, NWT_PL_FLAGS );
-
-  bFire = (flags & FLAGS_bFire) != 0;
+  
+  if ( b == DATA_FLAGS )
+  {
+    SYNCHELP_READ_BYTE( flags, NWT_PL_FLAGS );
+
+    bFire = (flags & FLAGS_bFire) != 0;
+    
+    return SYNCHELP_READ_N;
+  }
+  
+  if ( b == DATA_SCORE )
+  {
+    int newScore;
+    SYNCHELP_READ_BYTE( newScore, NWT_PL_SCORE );
+    setScore( newScore );
+    
+    return SYNCHELP_READ_N;
+  }
 
   return SYNCHELP_READ_N;
@@ -318,4 +335,14 @@
 {
   SYNCHELP_WRITE_BEGIN();
+  
+  if ( score != oldScore && isServer() )
+  {
+    SYNCHELP_WRITE_BYTE( DATA_SCORE, NWT_PL_B);
+    SYNCHELP_WRITE_INT( score, NWT_PL_SCORE );
+    oldScore = score;
+    
+    return SYNCHELP_WRITE_N;
+  }
+  
   byte flags = 0;
 
@@ -324,4 +351,5 @@
 
 
+  SYNCHELP_WRITE_BYTE( DATA_FLAGS, NWT_PL_B);
   SYNCHELP_WRITE_BYTE( flags, NWT_PL_FLAGS );
   oldFlags = flags;
@@ -333,6 +361,6 @@
 bool Playable::needsReadSync( )
 {
-  //if ( score != oldScore )
-  //  return true;
+  if ( score != oldScore && isServer() )
+    return true;
 
   byte flags = 0;
Index: /trunk/src/world_entities/playable.h
===================================================================
--- /trunk/src/world_entities/playable.h	(revision 6993)
+++ /trunk/src/world_entities/playable.h	(revision 6994)
@@ -84,5 +84,5 @@
     int                   oldScore;
 
-    //HACK: explosion emitter
+    //TODO HACK: explosion emitter
     DotEmitter*           emitter;
     SpriteParticles*      explosionParticles;
Index: /trunk/src/world_entities/space_ships/space_ship.cc
===================================================================
--- /trunk/src/world_entities/space_ships/space_ship.cc	(revision 6993)
+++ /trunk/src/world_entities/space_ships/space_ship.cc	(revision 6994)
@@ -97,5 +97,5 @@
   {
     //this->loadModel("models/ships/reap_#.obj");
-    ///HACK this is only for network multiplayer games.
+    //TODO HACK this is only for network multiplayer games.
     if( this->getOwner()%2 == 0)
     {
@@ -762,5 +762,5 @@
     }
 
-    if ( Playable::needsReadSync() )
+    while ( Playable::needsReadSync() )
     {
       sentSomething = true;
