MapUpdater is a lightweight, game-integrated auto-updater for Warcraft III designed specifically to keep Dota and LoD maps up-to-date with the latest releases from the D1Stats team.
Upon launching the game, MapUpdater connects to the D1Stats API to check for new map versions. It provides a sleek, non-intrusive custom overlay right inside the game window, allowing users to seamlessly download missing maps and their required MPQ assets without ever leaving the game.
- Automatic Map Detection: Instantly checks the latest Dota and LoD versions via the D1Stats API (
https://d1map.net/api/v1/maps/latest). - In-Game Overlay: A custom styled, collapsible overlay window integrated directly into Warcraft III, built to prevent game minimization in full-screen mode.
- Smart Scanning: Recursively scans your
Maps/Downloadfolders to detect missing map and MPQ files using size-aware checks. - Auto-Update Mode: Automatically begins downloading missing files on startup if configured, or prompts the user with
DownloadandLateroptions. - Combined Queues: Detects and downloads both Dota and LoD files in a single pass with detailed progress tracking and download speeds.
- Warcraft III (patch 1.26a)
- Windows OS
When the plugin is built, it produces a standard Windows DLL. To load it into Warcraft III automatically:
- Download the latest release or build the project from source.
- Rename the compiled
MapUpdater.dlltoMapUpdater.mix. - Place
MapUpdater.mixinto your root Warcraft III installation folder (wherewar3.exeis located).- Example:
D:\Games\Warcraft III\MapUpdater.mix
- Example:
- On the next launch, Warcraft III will automatically load the
.mixfile and initialize the updater.
This project uses modern C++ (C++17) and is built using Visual Studio / MSBuild.
- Visual Studio 2019 or newer (with "Desktop development with C++" workload).
- Windows SDK.
- Clone this repository:
git clone https://github.com/phphackerr/MapUpdater.git
- Open
MapUpdater.slnin Visual Studio. - Select your desired build configuration (
Releaseandx86orx64depending on the game architecture. Note: Warcraft III 1.26a is a 32-bitx86application). - Build the Solution (
Ctrl+Shift+B). - The compiled
MapUpdater.dllwill be located in theReleasefolder. - Rename it to
.mixand place it in the game directory as described in the Installation section.
A configuration file named MapUpdater.ini can be placed next to the .mix file in your Warcraft III directory to customize the behavior of the plugin.
[Settings]
# Enable detailed console logging for debugging purposes.
debug = false
# If true, missing maps will start downloading automatically.
# If false, the user will be prompted to click "Download".
autoupdate = false
# Enable strict file size validation for maps when scanning the directory.
checksize = true
# Check for the latest Dota map.
dota = true
# Check for the latest LoD map.
lod = falseSee CHANGELOG.MD for a detailed history of updates and fixes.
This project is licensed under the MIT License - see the LICENSE file for details.