Age of Empires II: Definitive Edition

Age of Empires II: Definitive Edition

32 ratings
How to Make/Upload Mods
By SpoOkyMagician
Honestly, how have I not noticed this? There are no guides on steam for mods? I will throw something together real quick...
2
2
3
   
Award
Favorite
Favorited
Unfavorite
Directories
You will need to know the two following directories to get started.

C:\Users\<USERNAME>\Games\Age of Empires 2 DE\<STEAM ID NUMBER>\mods

and

C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources

Note: Assuming you installed Steam in the default location. If not, find the installation directory where you installed it too.

Note: <USERNAME> is the current user that you are using on Windows. Ask your admin/whomever is in charge of the users if you need help finding this. Otherwise, it should be the default username/admin.

Note: <STEAM ID NUMBER> is the Identifier for your steam account. (It's just a bunch of numbers. You should be able to find it while exploring File Explorer.)
Tools/Programs
I recommend using the following programs. Although, feel free to use your own program preferences.

[Text Editors]

Programmers Notepad
Notepad (Microsoft)

[Art/Model Programs]

GIMP
Adobe Photoshop
Paint (Microsoft)
Paint 3D (Microsoft)
Blender

[.dat Editor]

AGE. (Included with the game in Tool_Builds.)

[.SMX Editor]

https://aok.heavengames.com/blacksmith/showfile.php?fileid=13179&ci=7cf7bd7a97b484ed3be8a467110893f4YToxOntpOjA7YToyOntpOjA7czoxNDoiU2VhcmNoIFJlc3VsdHMiO2k6MTtzOjM4OiJsaXN0ZXIucGhwP3N0YXJ0PTAmYW1wO3NlYXJjaD1zbXggZWRpdCI7fX0=

[Sound/Music Editors]

Wwise (You may need this for converting to the new sound format. See Step's Guide on sound.)
FL Studios
Audacity
Sound Recorder (Microsoft)

(I don't do a lot of video editing.)Windows Movie Maker? (Is that even a thing still? I do recall it having the .wmv format.)
Local Mods Directory
So inside the mods directory:

C:Users<USERNAME>GamesAge of Empires 2 DE<STEAM ID NUMBER>modslocal

This is where you will 'create' the mod directory name. It can be whatever you want. Just try to keep out special characters. Use letters, numbers, and basic symbols. (Spaces work too.) If you use any other characters, you may end up breaking something...
Mod Format
Now, inside your new mod directory, you need to follow a specific folder tree/structure when creating a mod. This is where the first directory comes in from Directories.

C:Program Files (x86)SteamsteamappscommonAoE2DEresources

From here, you can add whatever you want to your mod. You can update/modify existing things or add new things. You just have to add new folders each time you want to modify/add something. For example... The '_common' directory. Most of the items will be going in here. The only exception to this is language files/folders. (I will explain them later. They are the folders named with 2 characters each on them.) 'br', 'de', 'en', and so on...

Just in case you need an example, here is one...

C:Users<USERNAME>GamesAge of Empires 2 DE<STREAM ID NUMBER>modslocalTest Modresources_common

The parts in bold are the new folders I made for this mod. ('Test Mod' being the mods name.) I added a 'resources' folder and inside that I added a '_common' folder.

That is the general idea. However, I will go into more detail now...
_preview-icon.jpg
If you want the mod to have a image/icon, you will need to include this file with the mod. It should be located inside the main mod's directory folder. If you do not include one, the game will automatically add one when publishing in the game. (It will use this one in the game data below.)

C:Program Files (x86)SteamsteamappscommonAoE2DEwidgetuitexturesmenuimagemod_image_default.png

Note: I am uncertain if it has to be a jpg or not. That is just what it defaults to when publishing.

Update: This has been changed since then. It is now Thumbnail.jpg. HOWEVER, there is a bug with this. If you use a image named "Thumbnail.png", the mod will fail to upload because of the image. I recommend using a completely different name and let the game manually update it afterwords to "Thumbnail.jpg"
_publish-info.txt
This is similar to the old HD file for uploading mods. It has 2 arguments/values.

"Visibility" and "Description"

Thankfully, you can edit these in game and do not have to bother with these unless you want to do it manually.

Update: This is the old format. Please use "info.json" instead.
info.json
Like the "_publish-info.txt" but with another option. (3 it seems.)

"Author", "CacheStatus", and "Description"

Like the other, the game generates this itself as well when publishing.

Important Note: When it comes to the description, DO NOT use new line characters directly. (It may cause the mod to fail to validate. You can use '<p>' and '<br>' as needed though. Keep it all in one single line.
resources
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources
FILES: 13279
DIRECTORIES: 225
DESCRIPTION: This is the resources directory. This is the most important directory to modify.
_common
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_common
FILES: 11873
DIRECTORIES: 144
DESCRIPTION: As I said, mostly everything you want to modify/add will go into here. Although, let's look more into it...
achievements
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commonachievements
FILES: 1
DIRECTORIES: 0
DESCRIPTION: This is the games achievements file. I probably would not modify this or you might break the standard achievements.
ai
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commonai
FILES: 40
DIRECTORIES: 2
DESCRIPTION: This is where AI files goes. The standard AI files are in here as well.

The minimal files you need are the following:

<FILENAME>.ai (Identifies the AI file to the game.)
<FILENAME>.per (The file with the actual script.)

The documentation can be found here:

C:Program Files (x86)SteamsteamappscommonAoE2DEDocsAllTC CP Strategy Builder.doc

It is outdated/old so, I recommend just reading it to learn from it. Once you learned how it works, I recommend using this website instead:

https://airef.github.io/index.html
campaign
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commoncampaign
FILES: 112
DIRECTORIES: 0
DESCRIPTION: This is where your campaign files go. The standard campaign files are also in here.

The minimal files you need here are:

<FILENAME>.aoe2campaign (The actual campaign file.)
<FILENAME>.json (The Intro/Outro part of the campaign file.)
<FILENAME>_layout.json (The layout of the campaign file.)

The game itself has a campaign editor. It's a tab on the editors screen. Select the scenarios you want to use and save the campaign file. You can then use this new file in your mod folder. You will also need to include the scenarios as well.
credits
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commoncredits
FILES: 1
DIRECTORIES: 0
DESCRIPTION: The game credits goes here. I don't see the need to edit this file. Although, you can if you want to.
cursors
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commoncursors
FILES: 60
DIRECTORIES: 0
DESCRIPTION: Cursor files goes in here. The standard cursors are in here too.

The minimum files you need here are:

<ACTION>32x32.cur
<ACTION>48x48.cur
dat
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commondat
FILES: 24
DIRECTORIES: 0
DESCRIPTION: This is where data mods goes.The standard data mods are in here.

The minimal files you need here are:

empires2_x2_p1.dat (This is the standard file that you edit.)

To edit this, Use AGE. It comes in the tools directory of the game:

C:Program Files (x86)SteamsteamappscommonAoE2DETools_BuildsAdvancedGenieEditor3.exe
drs
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commondrs
FILES: 8978
DIRECTORIES: 5
DESCRIPTION: This is where (Extra?) game data goes. The (Extra?) standard game data is here.

This is a collection of multiple file types. Look though the file directories and see what you want to add/mod. Which includes:

.per
.per2
.rms
.scx
.slp
.smx
.bina
fonts
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commonfonts
FILES: 51
DIRECTORIES: 0
DESCRIPTION: This is where game fonts go. The default fonts are here.

I will have to do research on font modding. I have done a little font work/experience before but, not on here.
movies
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commonmovies
FILES: 7
DIRECTORIES: 0
DESCRIPTION: Movie files goes here. The standard movie files are here.

The minimal files you need here are:

<FILENAME>.wmv

(I never really bothered/tried adding/modding these but, it should be simple enough to do.)
palettes
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commonpalettes
FILES: 72
DIRECTORIES: 3
DESCRIPTION: Palette files goes here. The standard palette files are here too.

The minimal files you need here are:

<FILENAME>.pal

Palettes refers to a table/collection/array/etc of colors. These colors are used directly in the game for all the sprites/graphics. I have a little experience with this but, not as much as I would like. I believe you will need tools in order to make these. I believe the new SMX Editor has stuff related to this.
particles
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commonparticles
FILES: 380
DIRECTORIES: 15
DESCRIPTION: Particle effects goes here. The standard particles are here.

I will have to look into this a bit. From previewing the directories, it looks like json files for configuring the particles and sprite sheets for the graphics.
performance
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commonperformance
FILES: 2
DIRECTORIES: 0
DESCRIPTION: Performance files are here. I don't see the need to edit these. Unless, requested otherwise.
random-map-scripts
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commonrandom-map-scripts
FILES: 15
DIRECTORIES: 0
DESCRIPTION: Random Map Scripts go here. The standard ES RMS are here.

The minimum files you need here are:

<FILENAME>.rms

If you want to make random map scripts, the documentation is in the docs folder. They are a bit old but, the general idea is still there.

C:Program Files (x86)SteamsteamappscommonAoE2DEDocsAllTC Random Map Scripting Guide.doc
scenario
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commonscenario
FILES: 0
DIRECTORIES: 0
DESCRIPTION: Scenario files goes here. This directory does not exist in here but, it is a valid folder.

It is found in here:

C:Users<USERNAME>GamesAge of Empires 2 DE<STEAM ID NUMBER>resources_commonscenario

The minimum files here are:

<FILENAME>.aoe2scenario (What HD/DE uses.)
<FILENAME>.scx (What the CD version uses.)
shaders
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commonshaders
FILES: 91
DIRECTORIES: 1
DESCRIPTION: Shaders goes here. (I don't know much about these.) The standard Shaders are here.

I have heard of shaders but, I am not familiar with them.
slp
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commonslp
FILES: 1
DIRECTORIES: 0
DESCRIPTION: SLP files goes here. (However, I believe this was replaced with a new format. SMX. See them in DRS.)
strings
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commonstrings
FILES: 1
DIRECTORIES: 1
DESCRIPTION: Non Translated Strings goes here. (I don't see the need to edit/add to these unless you need something specific not here.) See Language Files/Folders for more information.
terrain
PATH: C:Program Files (x86)SteamsteamappscommonAoE2DEresources_commonterrain
FILES: 214
DIRECTORIES: 8
DESCRIPTION: Terrain Graphics/Files goes here. The standard terrain graphics are here.

This is a collection of .png files and .json files.
textures
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\_common\textures
FILES: 2
DIRECTORIES: 1
DESCRIPTION: UI Graphics goes here. The standard UI graphics are here.
wpfg
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\_common\wpfg
FILES: 1818
DIRECTORIES: 88
DESCRIPTION: More UI Graphics/Files are here. The standard UI Graphics/Files are here.

This seems to be a collection of .xaml files, font files, and .png files.
xs
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\_common\xs
FILES: 3
DIRECTORIES: 0
DESCRIPTION: XS files goes here. The standard XS files are here.

The minimum files you need here are:

<FILENAME>.xs

For more information, see: https://www.forgottenempires.net/age-of-empires-ii-definitive-edition/xs-scripting-in-age-of-empires-ii-definitive-edition
(Language Folders)
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\<LANGUAGE>
FILES: 1405
DIRECTORIES: 17
DESCRIPTION: A collection of translation files are here.

Important Note: When editing these files, you need to use a specific encoding. "UTF-8 No Mark" If you don't, this can break the games UI/text.
br
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\br
FILES: 81
DIRECTORIES: 4
DESCRIPTION: The translation files for Portuguese.
de
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\de
FILES: 82
DIRECTORIES: 4
DESCRIPTION: The translation files for German.
en
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\en
FILES: 93
DIRECTORIES: 5
DESCRIPTION: The translation files for English. (This is the fallback/default language.)
es
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\es
FILES: 82
DIRECTORIES: 4
DESCRIPTION: The translation files for Spanish.
fr
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\fr
FILES: 82
DIRECTORIES: 4
DESCRIPTION: The translation files for French.
hi
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\hi
FILES: 83
DIRECTORIES: 2
DESCRIPTION: The translation files for Hindi.
it
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\it
FILES: 82
DIRECTORIES: 4
DESCRIPTION: The translation files for Italian.
jp
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\jp
FILES: 82
DIRECTORIES: 2
DESCRIPTION: The translation files for Japanese.
ko
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\ko
FILES: 82
DIRECTORIES: 4
DESCRIPTION: The translation files for Korean.
ms
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\ms
FILES: 83
DIRECTORIES: 2
DESCRIPTION: The translation files for Malay.
mx
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\mx
FILES: 82
DIRECTORIES: 4
DESCRIPTION: The translation files for Spanish. (Latin? I honestly do not know the exact difference.)
pl
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\pl
FILES: 77
DIRECTORIES: 2
DESCRIPTION: The translation files for Polish.
ru
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\ru
FILES: 82
DIRECTORIES: 2
DESCRIPTION: The translation files for Russian.
tr
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\tr
FILES: 83
DIRECTORIES: 2
DESCRIPTION: The translation files for Turkish.
tw
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\tw
FILES: 83
DIRECTORIES: 2
DESCRIPTION: The translation files for Chinese. (Traditional)
vi
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\vi
FILES: 83
DIRECTORIES: 2
DESCRIPTION: The translation files for Vietnamese.
zh
PATH: C:\Program Files (x86)\Steam\steamapps\common\AoE2DE\resources\zh
FILES: 83
DIRECTORIES: 4
DESCRIPTION: The translation files for Chinese. (Simplified)
Upload Via Steam
You will need a Steam Account and the game.

Once you have completed your mod, you will need to do the following to upload/publish it:

1: Save all your work in the mod's directory.
2: Start the game. (AoE2 DE.)
3: On the Main Menu, click the Settings Button at the top right. (The Cog.)
4: On the menu that shows up, click MODS.
5: On the mod menu, click the tab: "My Mods" at the top of the screen.
6: Your new mod should be in the list. Select it and click the "Publish Mod" button.
7: A new form will show up that lets you edit the mod information. Edit as you need to and click "Publish Now".

The mod will be uploaded to the Age of Empires website and a link will open showing you the url of your published mod. You are done.

Back on the My Mods tab, your mod should now have a green check mark on it. If so, it was successful. If it still has an X on it, it did not work.
Upload Via Website
www.ageofempires.com

You will need an Xbox Live/Microsoft account or Steam account in order to access/upload your mods.

Once you are signed in, highlight the "Mods" button at the top and click Submit A Mod.

Input all the details of the mod, gather the mod files together, etc... Follow all the required steps and click Submit.

You can view your mods from the Mods Menu and click My Mods on the website.
Managing Mod Via Steam
You will need a Steam Account and the game.

Once a mod has been published, you can go back to that mod on the My Mods tab and manage it.

You can update the mod or unpublish the mod. If you make changes, to the mod, be sure to update it when it's ready. (You can update the change log as needed if you want.) If you want to remove it for whatever reason, unpublish it. You can also use the website to delete it if needed.
Managing Mod Via Website
www.ageofempires.com

You will need an Xbox Live/Microsoft account or Steam account in order to access/upload your mods.

Once the mod is published, highlight Mods and click My Mods to view them. From here, it will show a list of your published mods. Clicking on a specific mod will allow you to edit the mod directly. It's similar to publishing. Update the files as needed, update the change log as needed, and submit.

If you need to delete a mod, the My Mods page has a red trash icon. If you click it, it will delete the mod.
Priorities
I am surprised that I forgot to mention this.

Now, the way I do it might seem odd but, I do it for a reason this way.

Priority 1: Local String Mods. (I don't think this still applies anymore but, better safe than sorry.)
Priority 2: Subscribed String Mods. (Again, better safe than sorry.)
Priority 3: Local General Mods. (Standard Mods. Non Graphics/Data Mods.)
Priority 4: Local Data/Graphic Mods. (Graphics/Data Mods Contained Only.)
Priority 5: Subscribed General Mods. (Standard Mods. Non Graphics/Data Mods.)
Priority 6: Subscribed Data/Graphic Mods. (Standard Mods. Non Graphics/Data Mods.)
Priority 7: Errors/Misc Local Mods. (Things you are not using/will remove later.)
Priority 8: Errors/Misc Subscribed Mods. (Things you are not using/will remove later.)

You may be asking yourself, why I do it this way? Well, to put it simply, I do this to not overwrite data. (Again, I dunno if this was fixed or not but, better safe than sorry.) The game would/used to overwrite my local mod if you have it higher priority vs subscribed. The major downside to this is, if you have any local changes to a mod, and try to play it online, things might break if others are subscribed to it... So, if you are going to play a mod online, try to change the priorities around. (DO NOT TO FORGET TO BACKUP YOUR CHANGES! You might lose them...)

Again, if anyone knows if this was fixed/changed, let me know but, I do it this way, just in case...
9 Comments
IllusiveJellyfish 25 Jun, 2024 @ 2:57pm 
Great help, Thanks!
Dumytin 16 Mar, 2023 @ 4:41pm 
I see .. Thanks :) !
SpoOkyMagician  [author] 16 Mar, 2023 @ 1:20pm 
You can currently still use SLX Studio for that. (.SMX does still work.) Although, .SLD is the new format. We have to wait for the program to be updated before we can edit those. (https://aok.heavengames.com/blacksmith/showfile.php?fileid=13179)
Dumytin 14 Mar, 2023 @ 8:47pm 
The convert in tools no respond xP
Dumytin 14 Mar, 2023 @ 8:45pm 
¿ How edit or view sprites of objets ? Trees , etc .. ¿ Are the .sld ?
SpoOkyMagician  [author] 25 Oct, 2022 @ 6:01pm 
Yes, I am aware you can use characters too. (I just recommend it for beginners.) I believe I mentioned this somewhere in the guide.
fhechene 24 Oct, 2022 @ 8:18am 
This is a comment on your DE triggers guide; for some reason, I can't post there
Regarding localization and string ID's, you don't necesarily need to use numbers, you can use strings, so there's less chance of overlap with another mod. See how were the African Kingdoms string were implemented.
DarK | DeJake 3 Apr, 2022 @ 12:13am 
Thanks so much for making this!! Super helpful and explains everything so clearly
Neutral$ 25 Jan, 2022 @ 8:29am 
Nice. Tthe most I appreciate having external links for AI in this guide. Could be more usefull with all the descriptions about the soft for the scenario making.