Game Modifications > Game Mod Guide
Game Mod Guide

You can also view this page in the following Languages

A game mod or game modification changes or adds new capabilities to games at Voobly.
Voobly's mod support makes it much easier to play mods on line.

Support for mods is divided into three high level categories:

If you have any questions on this guide please post them at the Game Mod Forum


How to find mods

Go to the game mod page for your game:

Using a Game Play or Data Mod

Once you have installed the mod, you simply select it in game room settings:


After you have selected the game mod, it will show up in your settings:
Underlined texts are clickable.
It will open your browser and directs to the mod's or patch's page.

If a player don't have yet the data mod
you will see a blue arrow icon where normally the ping showed:

If you have the "unzip failed" error it is suggested to try download the mod with different browser, or enable UAC

Using a Visual or Local Mod

Visual mods are automatically enabled once installed.
You can disable them with the "Game->Visual or Conent Mods" menu (uncheck them), or uninstall through the mod's webpage to permanently remove.


Some Visual mod may interfere with an other when changing the same game element.
(using multiple terrain or taunt mods)

If you have the "unzip failed" error it is suggested to try download the mod with different browser, or enable UAC

Mods in Single Player

To use a Voobly mod in single player you can use the launch from single player feature at


Creating your own mods

Are you already a modder or ready to become one? On Voobly it's easy! We have also have some tools we've written and released to make your life even easier. The easiest way to start is to install some existing mods and look at how they work and start from here. Once you're done upload the mod to Voobly, for more information read the Step-by-step guide for uploading a mod.

Mod Installation Path

For mods to be detected by Voobly they should be placed in the proper game subdirectory. The subdirectory is Voobly Mods\Voobly-Game-ID-Here\Voobly-Mod-Type-here\Mod-Name-Here.

Two examples:
Mod Files Structure

For most mods you put the files you want to change at the same relative path in your mod directory as they are in the game directory.

The easiest way to see how this works is to install an existing mod.

As an example, let's take a hypothetical game with these files and directories:
c:\MyGame\Data\datafile.bin c:\MyGame\Maps\

Lets say you were creating a mod called "MyFirstMod", you wanted to change datafile.bin, and add a new map:
c:\MyGame\Voobly Mods\GameID?\Data Mods\MyFirstMod\Data\datafile.dat (your edited dat file) c:\MyGame\Voobly Mods\GameID?\Data Mods\MyFirstMod\Maps\ c:\MyGame\Voobly Mods\GameID?\Data Mods\MyFirstMod\version.ini (all mods must have a version.ini)

Mod Versioning

All mods must have version specified in the root mod directory. The server ensures that all users in a room have the same version of the mod before the game is launched.

Simply create a text file called version.ini with the version text, e.g.:

Distributing your mods before they are submitted to Voobly

You are free to exchange files w/ zips or create your own installer. The users you are testing with should place the files in the same path as you.

Once you're done send +chris@voobly (or) Blake (or) [MM]Gallas a message to get it added to the Voobly mod listing page as approved.

AoE, RoR, AoK, and AoC specific modding

These sections describe AoE - AoC series games modding specifics.

File and directory structure

Files and paths:
Example below for a mod called MyTestMod:
c:\MyGame\Voobly Mods\GameID?\Data Mods\MyFirstMod\language.ini c:\MyGame\Voobly Mods\GameID?\Data Mods\MyFirstMod\drs\231.slp c:\MyGame\Voobly Mods\GameID?\Data Mods\MyFirstMod\drs\5001.wav c:\MyGame\Voobly Mods\GameID?\Data Mods\MyFirstMod\Scenario\=V= CBAv8.scx c:\MyGame\Voobly Mods\GameID?\Data Mods\MyFirstMod\data\empires2_x1_p1.dat

DRS Modifications

There are two methods supported for changing SLP and other types of DRS resources:

The second approach is recommended because:

DRS to SLP conversion

To help convert mods to this improved format we've created a drsdiff tool, you can download at here. This tool will compare a modified drs file against an original then output the changed SLPs.

Usage: drsdiff.exe modified.drs original.drs . This will compare the two drs and any new or change SLP/wav/bin file will be created in put in a drsdiff-output\ subdirectory the tool will create.

>drsdiff.exe graphics_smalltrees.drs graphics.drs Opening graphics_smalltrees.drs Found 1 tables and 1768 items Opening graphics.drs Found 1 tables and 1768 items Starting compare (could take a few minutes)... Diff at 5! Wrote 'drsdiff-output\5.slp' Diff at 435! Wrote 'drsdiff-output\435.slp' Diff at 1250! Wrote 'drsdiff-output\1250.slp' Diff at 1251! Wrote 'drsdiff-output\1251.slp' Diff at 1252! Wrote 'drsdiff-output\1252.slp' Diff at 1253! Wrote 'drsdiff-output\1253.slp' Diff at 1254! Wrote 'drsdiff-output\1254.slp' Diff at 1255! Wrote 'drsdiff-output\1255.slp' Diff at 1256! Wrote 'drsdiff-output\1256.slp' Diff at 1257! Wrote 'drsdiff-output\1257.slp' ...etc...

Text String Modifications

The recommended way to change text strings for Voobly mods is through the use of a robust new language.ini file format. Existing mods have put all the text strings in a language dll files, this has several limitations we've addressed through the use of an .ini file:

Language INI Specification

The file name is 'language.ini' located in base mod directory (e.g.: aoc\localmods\MyHotKeyMod\language.ini). Only one language .ini is supported per-mod (all the strings can live in a single ini file).

String#=Text String

Example below. First block shows the unmodified strings for the multiple game title and the I'm ready button. With two lines in a text file you can switch these strings.
9678=Multiplayer Game 9663=I'm Ready!
9678=My Awesome Mod Is Loaded! 9663=Click Me!

Language DLL to INI Conversion Tool

To help convert mods to this improved format we've created a conversion tool called langconv.exe, you can download here.

There are two primary operations the tool supports: the first being to dump an existing language dll to an ini file, and the second to compare two ini files and produce a trimmed list of strings.

To dump an existing language dll, you use the -d option with the following parameters: langconv.exe -d output.ini source.dll

The example below, shows how you would use langconv to dump all the strings from existing language dll files to language.ini. The tool will smartly merge new strings into language.ini after each run.
langconv.exe -d game_default_language.ini language.dll langconv.exe -d game_default_language.ini language_x1.dll langconv.exe -d game_default_language.ini language_x1_p1.dll (At this point game_default_language.ini will contain the combined strings from all language DLL files, order matters because _x1 replaces strings in language.dll)

Use the tool again to dump strings from your existing mod:
langconv.exe -d mymod.ini language_x1_p1_mymod.dll

To find the minimal set of strings you need in your mod's ini, you use the -t option with the following parameters: langconv.exe -t output.ini yourmods.ini reference.ini

langconv.exe -t mymod_min.ini mymod_from_dll.ini game_default_language.ini

If you did it correctly, mymod_min.ini will only have the strings that have changed between mymod_from_dll.ini and game_default_language.ini. You would rename mymod_min.ini as language.ini and put it in your mod directory.

AoC language switcher

You can [You must login to view link] aok and aoc language .dll files from the [You must login to view link] website or the [You must login to view link] from aok.heaven. For aoeHD just follow the recommended installation guide.

UserPatch Extensions

It is possible to create a game mod that enables UserPatch extensions such as the civ support. All you need to do is add a age2_x1.xml to your game mod directory.

Example below for a mod called MyTestMod based on Forgotten Empires...
c:\MyGame\Voobly Mods\GameID?\Data Mods\MyFirstMod\version.ini c:\MyGame\Voobly Mods\GameID?\Data Mods\MyFirstMod\age2_x1.xml c:\MyGame\Voobly Mods\GameID?\Data Mods\MyFirstMod\Data\empires2_x1_p1.dat etc

You would get 'age2_x1.xml' from C:\Program Files (x86)\Microsoft Games\Age of Empires II\Games\age2_x2.xml . Also copy files from C:\Program Files (x86)\Microsoft Games\Age of Empires II\Games\Forgotten Empires to your new mod directory.

A sample mod is at

Custom Scenario Extensions

Advanced Statistics

(Supported for both Age of Kings and The Conquerors)

Custom Scenario authors may activate advanced statistics, revealing the local players kills and razing information in the F11 text overlay. This makes access to this information much easier than custom kill counters w/ triggers and they also allow custom scenarios to be created with less triggers increasing stability.

The statistic text is shown below:


To activate these features, simply create a trigger "Display Instruction" trigger that has the following text:


You can download a sample map that implements this: Delete one of the P1 castles to activate advanced stats.

Take activate advanced statistics in data mod, create a mod.ini file with the following contents:
[Advanced Statistics] Enabled=1

Hiding Age information in Score Area

(Supported for The Conquerors)

Custom Scenario authors may disable the extended age information shown in the f4 score area.

The age text is shown below:


To disable the feature, simply create a trigger "Display Instruction" trigger that has the following text:

Note: this is only tested in multiplayer, it might not work in single player.

Random CS Map Support

To create a "random CS maplist", you name all the maps you want in the list using the format: COLLECTIONNAME-rnd-MAPNUM-MAPTOTAL.scx

For example, a collection of three maps called "CS Random" would be named as:
CS Random-rnd-1-3.scx CS Random-rnd-2-3.scx CS Random-rnd-3-3.scx

To host a map using a collection the host must have all the maps. Therefore, it's recommended to package the maps in a game mod.

Any number of map count is supported, that is 2 maps to over 100.

2 User(s) are reading this document (in the past 30 minutes)
0 members, 2 guests

What's popular right now: