Index: code/branches/network/src/orxonox/objects/Backlight.cc
===================================================================
--- code/branches/network/src/orxonox/objects/Backlight.cc	(revision 1834)
+++ code/branches/network/src/orxonox/objects/Backlight.cc	(revision 1901)
@@ -53,21 +53,33 @@
         this->traillength_ = 1;
 
-        this->getNode()->setInheritScale(false);
+        this->configure(maxspeed, brakingtime, scale);
+    }
+    
+    bool Backlight::create(){
+      if(!WorldEntity::create())
+        return false;
+      
+      this->getNode()->setInheritScale(false);
 
-        this->billboard_.setBillboardSet("Flares/backlightflare");
-        this->attachObject(this->billboard_.getBillboardSet());
+      this->billboard_.setBillboardSet("Flares/backlightflare");
+      this->attachObject(this->billboard_.getBillboardSet());
 
-        this->ribbonTrail_ = GraphicsEngine::getInstance().getLevelSceneManager()->createRibbonTrail(this->getName() + "RibbonTrail");
-        this->ribbonTrailNode_ = GraphicsEngine::getInstance().getLevelSceneManager()->getRootSceneNode()->createChildSceneNode(this->getName() + "RibbonTrailNode");
-        this->ribbonTrailNode_->attachObject(this->ribbonTrail_);
-        this->ribbonTrail_->addNode(this->getNode());
+      this->ribbonTrail_ = GraphicsEngine::getInstance().getLevelSceneManager()->createRibbonTrail(this->getName() + "RibbonTrail");
+      this->ribbonTrailNode_ = GraphicsEngine::getInstance().getLevelSceneManager()->getRootSceneNode()->createChildSceneNode(this->getName() + "RibbonTrailNode");
+      this->ribbonTrailNode_->attachObject(this->ribbonTrail_);
+      this->ribbonTrail_->addNode(this->getNode());
 
-        this->configure(maxspeed, brakingtime, scale);
 
-        this->ribbonTrail_->setTrailLength(this->maxTraillength_);
-        this->ribbonTrail_->setMaterialName("Trail/backlighttrail");
+      this->ribbonTrail_->setTrailLength(this->maxTraillength_);
+      this->ribbonTrail_->setMaterialName("Trail/backlighttrail");
 
         //this->setTimeFactor(Orxonox::getInstance().getTimeFactor());
-        this->setTimeFactor(1.0f);
+      this->setTimeFactor(1.0f);
+      
+      this->ribbonTrail_->setMaxChainElements(this->maxTrailsegments_);
+      this->ribbonTrail_->setTrailLength(this->traillength_ = 2 * this->maxTrailsegments_);
+      this->ribbonTrail_->setInitialWidth(0, this->width_ * this->getScale());
+      this->ribbonTrail_->setWidthChange(0, this->width_ * this->getScale() / this->maxLifeTime_ * Backlight::timeFactor_s);
+      return true;
     }
 
@@ -100,4 +112,11 @@
     {
         this->ribbonTrail_->setColourChange(0, ColourValue(0, 0, 0, this->maxTraillength_ / this->traillength_ / this->maxLifeTime_ * Backlight::timeFactor_s));
+    }
+    
+    
+    void Backlight::XMLPort(Element& xmlelement, XMLPort::Mode mode){
+      SUPER(Backlight, XMLPort, xmlelement, mode);
+      
+      Backlight::create();
     }
 
@@ -136,12 +155,8 @@
         this->maxTraillength_ = this->maxLifeTime_ * maxspeed;
         this->maxTrailsegments_ = (size_t)(this->maxTraillength_ / this->trailSegmentLength_);
-        this->ribbonTrail_->setMaxChainElements(this->maxTrailsegments_);
-        this->ribbonTrail_->setTrailLength(this->traillength_ = 2 * this->maxTrailsegments_);
 
         this->brakefactor_ = this->maxLifeTime_ / brakingtime;
 
         this->scale(scale);
-        this->ribbonTrail_->setInitialWidth(0, this->width_ * scale);
-        this->ribbonTrail_->setWidthChange(0, this->width_ * scale / this->maxLifeTime_ * Backlight::timeFactor_s);
     }
 
Index: code/branches/network/src/orxonox/objects/Backlight.h
===================================================================
--- code/branches/network/src/orxonox/objects/Backlight.h	(revision 1834)
+++ code/branches/network/src/orxonox/objects/Backlight.h	(revision 1901)
@@ -45,6 +45,8 @@
 
             void setConfigValues();
+            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
             virtual void tick(float dt);
             virtual void changedVisibility();
+            virtual bool create();
 
             void setColour(const ColourValue& colour);
Index: code/branches/network/src/orxonox/objects/Model.cc
===================================================================
--- code/branches/network/src/orxonox/objects/Model.cc	(revision 1834)
+++ code/branches/network/src/orxonox/objects/Model.cc	(revision 1901)
@@ -46,5 +46,5 @@
 
     /**
-     * 
+     * @brief Constructor
      */
     Model::Model()
@@ -54,4 +54,7 @@
     }
 
+    /**
+     * @brief Destructor
+     */
     Model::~Model()
     {
Index: code/branches/network/src/orxonox/objects/Projectile.cc
===================================================================
--- code/branches/network/src/orxonox/objects/Projectile.cc	(revision 1834)
+++ code/branches/network/src/orxonox/objects/Projectile.cc	(revision 1901)
@@ -41,4 +41,5 @@
 #include "ParticleSpawner.h"
 #include "Model.h"
+#include "Settings.h"
 
 namespace orxonox
@@ -64,5 +65,6 @@
         }
 
-        this->destroyTimer_.setTimer(this->lifetime_, false, this, createExecutor(createFunctor(&Projectile::destroyObject)));
+        if(!orxonox::Settings::isClient()) //only if not on client
+          this->destroyTimer_.setTimer(this->lifetime_, false, this, createExecutor(createFunctor(&Projectile::destroyObject)));
     }
 
Index: code/branches/network/src/orxonox/objects/SpaceShip.cc
===================================================================
--- code/branches/network/src/orxonox/objects/SpaceShip.cc	(revision 1834)
+++ code/branches/network/src/orxonox/objects/SpaceShip.cc	(revision 1901)
@@ -181,5 +181,5 @@
           this->setRadarObjectColour(this->getProjectileColour());
       }
-      assert(Model::create());
+      Model::create();
       this->init();
       return true;
@@ -255,17 +255,20 @@
 
             // START CREATING ADDITIONAL EFFECTS
-            /*this->backlight_ = new Backlight(this->maxSpeed_, 0.8);
-            this->attachObject(this->backlight_);
-            this->backlight_->setPosition(-2.35, 0, 0.2);
-            this->backlight_->setColour(this->getProjectileColour());
-
-            this->smoke_ = new ParticleSpawner();
-            this->smoke_->setParticle("Orxonox/smoke5", LODParticle::normal, 0, 0, 3);
-            this->attachObject(this->smoke_);
-
-            this->fire_ = new ParticleSpawner();
-            this->fire_->setParticle("Orxonox/fire3", LODParticle::normal, 0, 0, 1);
-            this->attachObject(this->fire_);
-            */
+            if(!network::Host::running()){
+              this->backlight_ = new Backlight(this->maxSpeed_, 0.8);
+              this->backlight_->create();
+              this->attachObject(this->backlight_);
+              this->backlight_->setPosition(-2.35, 0, 0.2);
+              this->backlight_->setColour(this->getProjectileColour());
+  
+              this->smoke_ = new ParticleSpawner();
+              this->smoke_->setParticle("Orxonox/smoke5", LODParticle::normal, 0, 0, 3);
+              this->attachObject(this->smoke_);
+  
+              this->fire_ = new ParticleSpawner();
+              this->fire_->setParticle("Orxonox/fire3", LODParticle::normal, 0, 0, 1);
+              this->attachObject(this->fire_);
+            }
+            
             // END CREATING ADDITIONAL EFFECTS
 
