Skip to content

phphackerr/MapUpdater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MapUpdater

License: MIT

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.

Features

  • 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/Download folders 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 Download and Later options.
  • Combined Queues: Detects and downloads both Dota and LoD files in a single pass with detailed progress tracking and download speeds.

Requirements

  • Warcraft III (patch 1.26a)
  • Windows OS

Installation

When the plugin is built, it produces a standard Windows DLL. To load it into Warcraft III automatically:

  1. Download the latest release or build the project from source.
  2. Rename the compiled MapUpdater.dll to MapUpdater.mix.
  3. Place MapUpdater.mix into your root Warcraft III installation folder (where war3.exe is located).
    • Example: D:\Games\Warcraft III\MapUpdater.mix
  4. On the next launch, Warcraft III will automatically load the .mix file and initialize the updater.

Building from Source

This project uses modern C++ (C++17) and is built using Visual Studio / MSBuild.

Prerequisites

  • Visual Studio 2019 or newer (with "Desktop development with C++" workload).
  • Windows SDK.

Steps

  1. Clone this repository:
    git clone https://github.com/phphackerr/MapUpdater.git
  2. Open MapUpdater.sln in Visual Studio.
  3. Select your desired build configuration (Release and x86 or x64 depending on the game architecture. Note: Warcraft III 1.26a is a 32-bit x86 application).
  4. Build the Solution (Ctrl+Shift+B).
  5. The compiled MapUpdater.dll will be located in the Release folder.
  6. Rename it to .mix and place it in the game directory as described in the Installation section.

Configuration

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 = false

Changelog

See CHANGELOG.MD for a detailed history of updates and fixes.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

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.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors