about summary refs log tree commit diff
path: root/src/engine/server/server.cpp
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2011-03-31 15:13:49 +0200
committeroy <Tom_Adams@web.de>2011-03-31 15:13:49 +0200
commit2a72c0b38b8c2610001f24340097ad3a1b052263 (patch)
treeaee816df77e1f1ac772d5a797b822d2ffc0c09b5 /src/engine/server/server.cpp
parent59d56cd332ecc86008c27326631566a4d2d94ecb (diff)
downloadzcatch-2a72c0b38b8c2610001f24340097ad3a1b052263.tar.gz
zcatch-2a72c0b38b8c2610001f24340097ad3a1b052263.zip
added a mechanism to check for a valid standard map. Closes #132
Diffstat (limited to 'src/engine/server/server.cpp')
-rw-r--r--src/engine/server/server.cpp8
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;