/*!
		 * \brief
		 * Starts the map download server.
		 * 
		 * Starts the map download server.
		 * 
		 * \remarks
		 * The map download server can only be started when both the url root and map part definitions path are set.
		 */
		void StartMapServer()
		{
			// check the server startup conditions are met
			if(!HTTP::Server::ServerStarted())
			{
				blam::console_printf(false, "The HTTP server is not running");
				return;
			}

			if(Yelo::Server::NetworkSvGlobals()->initialized)
			{
				blam::console_printf(false, "Cannot start the map download server whilst the mp server is running");
				return;
			}

			if(!g_map_download_globals.m_flags.definitions_path_set)
			{
				blam::console_printf(false, "The map part definitions path has not yet been set");
				return;
			}

			if(!g_map_download_globals.m_flags.host_set)
			{
				blam::console_printf(false, "The file host root url has not yet been set");
				return;
			}

			if(g_map_download_globals.m_flags.system_active)
			{
				blam::console_printf(false, "The map download server is already running");
				return;
			}

			if(!LoadMapPartDefinitions())
			{
				blam::console_printf(false, "Failed to start the map download server");
				return;
			}

			g_map_download_globals.m_flags.system_active = true;

			blam::console_printf(false, "Map download server started successfully");
		}
		/*!
		 * \brief
		 * Reloads the map part definitions without requiring the server to be stopped.
		 * 
		 * \returns
		 * Returns NULL.
		 * 
		 * Reloads the map part definitions without requiring the server to be stopped.
		 */
		void* MapDownloadReloadMapPartDefinitions()
		{
			LoadMapPartDefinitions();

			return nullptr;
		}
		/*!
		 * \brief
		 * Reloads the map part definitions without requiring the server to be stopped.
		 * 
		 * \returns
		 * Returns NULL.
		 * 
		 * Reloads the map part definitions without requiring the server to be stopped.
		 */
		void* MapDownloadReloadMapPartDefinitions()
		{
			LoadMapPartDefinitions();

			return NULL;
		}