diff options
Diffstat (limited to 'src/engine/server/server.cpp')
| -rw-r--r-- | src/engine/server/server.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/engine/server/server.cpp b/src/engine/server/server.cpp index f1d2e6e1..f170b1c8 100644 --- a/src/engine/server/server.cpp +++ b/src/engine/server/server.cpp @@ -15,6 +15,7 @@ #include <engine/shared/config.h> #include <engine/shared/datafile.h> #include <engine/shared/demo.h> +#include <engine/shared/mapchecker.h> #include <engine/shared/network.h> #include <engine/shared/packer.h> #include <engine/shared/protocol.h> @@ -1049,6 +1050,13 @@ int CServer::LoadMap(const char *pMapName) /*df = datafile_load(buf); if(!df) return 0;*/ + + // check for valid standard map + if(!m_MapChecker.ReadAndValidateMap(Storage(), aBuf, IStorage::TYPE_ALL)) + { + Console()->Print(IConsole::OUTPUT_LEVEL_STANDARD, "mapchecker", "invalid standard map"); + return 0; + } if(!m_pMap->Load(aBuf)) return 0; |