diff --git a/src/map.cpp b/src/map.cpp index 5ab7e5b02..ff823af94 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -5121,14 +5121,31 @@ MapSector* ServerMap::loadSectorMeta(std::string dirname) // Get destination v2s16 p2d = getSectorPos(dirname); std::string dir = m_savedir + "/sectors/" + dirname; + + ServerMapSector *sector = NULL; std::string fullpath = dir + "/meta"; std::ifstream is(fullpath.c_str(), std::ios_base::binary); if(is.good() == false) - throw FileNotGoodException("Cannot open sector metafile"); - - ServerMapSector *sector = ServerMapSector::deSerialize - (is, this, p2d, m_sectors); + { + // If the directory exists anyway, it probably is in some old + // format. Just go ahead and create the sector. + if(fs::PathExists(dir)) + { + dstream<<"ServerMap::loadSectorMeta(): Sector metafile " + <differs_from_disk = false;