Index: code/branches/objecthierarchy2/src/orxonox/objects/worldentities/ExplosionChunk.cc
===================================================================
--- code/branches/objecthierarchy2/src/orxonox/objects/worldentities/ExplosionChunk.cc	(revision 2414)
+++ code/branches/objecthierarchy2/src/orxonox/objects/worldentities/ExplosionChunk.cc	(revision 2422)
@@ -30,4 +30,5 @@
 #include "ExplosionChunk.h"
 
+#include "core/Core.h"
 #include "core/CoreIncludes.h"
 #include "core/Executor.h"
@@ -47,4 +48,5 @@
             ThrowException(AbortLoading, "Can't create ExplosionChunk, no scene or no scene manager given.");
 
+        this->bStop_ = false;
         this->LOD_ = LODParticle::normal;
 
@@ -63,10 +65,13 @@
         }
 
-        Vector3 velocity(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1));
-        velocity.normalise();
-        velocity *= rnd(40, 60);
-        this->setVelocity(velocity);
+        if (Core::isMaster())
+        {
+            Vector3 velocity(rnd(-1, 1), rnd(-1, 1), rnd(-1, 1));
+            velocity.normalise();
+            velocity *= rnd(60, 80);
+            this->setVelocity(velocity);
 
-        this->destroyTimer_.setTimer(rnd(1, 2), false, this, createExecutor(createFunctor(&ExplosionChunk::stop)));
+            this->destroyTimer_.setTimer(rnd(1, 2), false, this, createExecutor(createFunctor(&ExplosionChunk::stop)));
+        }
 
         this->registerVariables();
@@ -86,5 +91,6 @@
     void ExplosionChunk::registerVariables()
     {
-        REGISTERDATA(this->LOD_, direction::toclient, new NetworkCallback<ExplosionChunk>(this, &ExplosionChunk::LODchanged));
+        REGISTERDATA(this->LOD_,   direction::toclient, new NetworkCallback<ExplosionChunk>(this, &ExplosionChunk::LODchanged));
+        REGISTERDATA(this->bStop_, direction::toclient, new NetworkCallback<ExplosionChunk>(this, &ExplosionChunk::checkStop));
     }
 
@@ -97,4 +103,10 @@
     }
 
+    void ExplosionChunk::checkStop()
+    {
+        if (this->bStop_)
+            this->stop();
+    }
+
     void ExplosionChunk::stop()
     {
@@ -104,5 +116,9 @@
             this->smoke_->setEnabled(false);
 
-        this->destroyTimer_.setTimer(1.0f, false, this, createExecutor(createFunctor(&ExplosionChunk::destroy)));
+        if (Core::isMaster())
+        {
+            this->bStop_ = true;
+            this->destroyTimer_.setTimer(1.0f, false, this, createExecutor(createFunctor(&ExplosionChunk::destroy)));
+        }
     }
 
@@ -116,5 +132,5 @@
         static const unsigned int CHANGES_PER_SECOND = 5;
 
-        if (rnd() < dt*CHANGES_PER_SECOND)
+        if (Core::isMaster() && rnd() < dt*CHANGES_PER_SECOND)
         {
             float length = this->getVelocity().length();
Index: code/branches/objecthierarchy2/src/orxonox/objects/worldentities/ExplosionChunk.h
===================================================================
--- code/branches/objecthierarchy2/src/orxonox/objects/worldentities/ExplosionChunk.h	(revision 2414)
+++ code/branches/objecthierarchy2/src/orxonox/objects/worldentities/ExplosionChunk.h	(revision 2422)
@@ -53,7 +53,9 @@
         private:
             void LODchanged();
+            void checkStop();
             void stop();
             void destroy();
 
+            bool                  bStop_;
             ParticleInterface*    fire_;
             ParticleInterface*    smoke_;
Index: code/branches/objecthierarchy2/src/orxonox/objects/worldentities/MovableEntity.cc
===================================================================
--- code/branches/objecthierarchy2/src/orxonox/objects/worldentities/MovableEntity.cc	(revision 2414)
+++ code/branches/objecthierarchy2/src/orxonox/objects/worldentities/MovableEntity.cc	(revision 2422)
@@ -33,5 +33,4 @@
 #include "core/XMLPort.h"
 #include "core/Executor.h"
-#include "tools/Timer.h"
 
 namespace orxonox
@@ -112,5 +111,5 @@
     void MovableEntity::clientConnected(unsigned int clientID)
     {
-        new Timer<MovableEntity>(rnd() * MAX_RESYNCHRONIZE_TIME, false, this, createExecutor(createFunctor(&MovableEntity::resynchronize)), true);
+        this->resynchronizeTimer_.setTimer(rnd() * MAX_RESYNCHRONIZE_TIME, false, this, createExecutor(createFunctor(&MovableEntity::resynchronize)));
     }
 
Index: code/branches/objecthierarchy2/src/orxonox/objects/worldentities/MovableEntity.h
===================================================================
--- code/branches/objecthierarchy2/src/orxonox/objects/worldentities/MovableEntity.h	(revision 2414)
+++ code/branches/objecthierarchy2/src/orxonox/objects/worldentities/MovableEntity.h	(revision 2422)
@@ -35,4 +35,5 @@
 #include "objects/Tickable.h"
 #include "network/ClientConnectionListener.h"
+#include "tools/Timer.h"
 
 namespace orxonox
@@ -119,4 +120,6 @@
             Vector3 overwrite_position_;
             Quaternion overwrite_orientation_;
+
+            Timer<MovableEntity> resynchronizeTimer_;
     };
 }
Index: code/branches/objecthierarchy2/src/orxonox/objects/worldentities/pawns/Pawn.cc
===================================================================
--- code/branches/objecthierarchy2/src/orxonox/objects/worldentities/pawns/Pawn.cc	(revision 2414)
+++ code/branches/objecthierarchy2/src/orxonox/objects/worldentities/pawns/Pawn.cc	(revision 2422)
@@ -30,4 +30,5 @@
 #include "Pawn.h"
 
+#include "core/Core.h"
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
@@ -145,5 +146,5 @@
         if (this->spawnparticlesource_ != "")
         {
-            ParticleSpawner* effect = new ParticleSpawner(this);
+            ParticleSpawner* effect = new ParticleSpawner(this->getCreator());
             effect->setPosition(this->getPosition());
             effect->setOrientation(this->getOrientation());
@@ -167,5 +168,6 @@
             this->getPlayer()->stopControl(this);
 
-        this->deatheffect();
+        if (Core::isMaster())
+            this->deatheffect();
     }
 
@@ -174,5 +176,5 @@
         // play death effect
         {
-            ParticleSpawner* effect = new ParticleSpawner(this);
+            ParticleSpawner* effect = new ParticleSpawner(this->getCreator());
             effect->setPosition(this->getPosition());
             effect->setOrientation(this->getOrientation());
@@ -182,5 +184,5 @@
         }
         {
-            ParticleSpawner* effect = new ParticleSpawner(this);
+            ParticleSpawner* effect = new ParticleSpawner(this->getCreator());
             effect->setPosition(this->getPosition());
             effect->setOrientation(this->getOrientation());
@@ -190,5 +192,5 @@
         }
         {
-            ParticleSpawner* effect = new ParticleSpawner(this);
+            ParticleSpawner* effect = new ParticleSpawner(this->getCreator());
             effect->setPosition(this->getPosition());
             effect->setOrientation(this->getOrientation());
@@ -199,5 +201,5 @@
         for (unsigned int i = 0; i < this->numexplosionchunks_; ++i)
         {
-            ExplosionChunk* chunk = new ExplosionChunk(this);
+            ExplosionChunk* chunk = new ExplosionChunk(this->getCreator());
             chunk->setPosition(this->getPosition());
 
@@ -214,5 +216,6 @@
     {
         this->setHealth(this->initialHealth_);
-        this->spawneffect();
+        if (Core::isMaster())
+            this->spawneffect();
     }
 
Index: code/branches/objecthierarchy2/src/orxonox/objects/worldentities/pawns/Spectator.cc
===================================================================
--- code/branches/objecthierarchy2/src/orxonox/objects/worldentities/pawns/Spectator.cc	(revision 2414)
+++ code/branches/objecthierarchy2/src/orxonox/objects/worldentities/pawns/Spectator.cc	(revision 2422)
@@ -62,5 +62,5 @@
 
         this->greetingFlare_ = new BillboardSet();
-        this->greetingFlare_->setBillboardSet(this->getScene()->getSceneManager(), "Examples/Flare", ColourValue(1.0, 1.0, 0.8), Vector3(0, 20, 0), 1);
+        this->greetingFlare_->setBillboardSet(this->getScene()->getSceneManager(), "Examples/Flare", ColourValue(1.0, 1.0, 0.8), Vector3(0, 0, 0), 1);
         if (this->greetingFlare_->getBillboardSet())
             this->getNode()->attachObject(this->greetingFlare_->getBillboardSet());
