Do not force deletion of players when mapblock is full (#5081)
authorLoïc Blot <nerzhul@users.noreply.github.com>
Sat, 21 Jan 2017 09:41:00 +0000 (10:41 +0100)
committerGitHub <noreply@github.com>
Sat, 21 Jan 2017 09:41:00 +0000 (10:41 +0100)
This fixes #4067

src/serverenvironment.cpp

index d3b85a4301f8e7cea82f8038460a31bd4d2ccbcd..41cd6368434c03beda7ff33e85541081c5b19cfc 100644 (file)
@@ -2146,6 +2146,12 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete)
                        continue;
                }
 
+               // If it's a forced delete, there are too many objects in mapblock
+               // Ignore players, they should not be removed on force delete
+               if (force_delete && obj->getType() == ACTIVEOBJECT_TYPE_PLAYER) {
+                       continue;
+               }
+
                verbosestream<<"ServerEnvironment::deactivateFarObjects(): "
                        <<"object id="<<id<<" is not known by clients"
                        <<"; deleting"<<std::endl;