From 49e4f55b09808e5fbc7fbd5fc0b02937df82671d Mon Sep 17 00:00:00 2001
From: Perttu Ahola <celeron55@gmail.com>
Date: Wed, 30 Nov 2011 00:39:36 +0200
Subject: [PATCH] Fix player getting reset to 0,0 at connect if being far from
 0,0

---
 src/environment.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/environment.cpp b/src/environment.cpp
index 41ba52a6f..9748f6b71 100644
--- a/src/environment.cpp
+++ b/src/environment.cpp
@@ -472,6 +472,8 @@ void ServerEnvironment::deSerializePlayers(const std::string &savedir)
 			newplayer = true;
 		}
 
+		ServerRemotePlayer *srp = static_cast<ServerRemotePlayer*>(player);
+
 		// Load player
 		{
 			infostream<<"Reading player "<<testplayer.getName()<<" from "
@@ -483,7 +485,9 @@ void ServerEnvironment::deSerializePlayers(const std::string &savedir)
 				infostream<<"Failed to read "<<path<<std::endl;
 				continue;
 			}
-			player->deSerialize(is);
+			srp->deSerialize(is);
+			srp->m_last_good_position = srp->getBasePosition();
+			srp->m_last_good_position_age = 0;
 		}
 
 		if(newplayer)
-- 
2.25.1