ProMods 2.46 for game version 1.37 has been released. Please be kind to the download servers :)
Please note that TruckersMP (multi-player) is still on game version 1.36 / ProMods 2.45

How did I make a background for the map

Modding school: Learn it from the masters
Post Reply
Posts: 47
Joined: 10 Jul 2017 09:48

11 Aug 2017 11:25

I'll show you how I made a background for map from scratch. It is my first and last attempt at mapping :). It is a lot of work and time to make a map, all my respect for map makers. Because my english, I learned from fly, any comment that clarifies or corrects something is welcome :). I will try to explain simply and in detail.

What do you need:

A place to see, in details, where you want the map:

Google Earth
Google Maps

A software from where to download the map as a background image. Here I have a lot to tell you. It all depends on how exact you want your map to be versus reality. I wish to be high accurate as possible.

Conditions we had:
- quality at the final image: The background of the map need to be clearly visible when you work
- the ability to accurately divide the map into pieces: because files are large (image quality increases file size) the map is divided into multiple images
- Topographic elevations: The map has level differences that you need to know
- simulation of the relief: is not a really need, but it is a nice effect :)

I tested 3-4 days, different softwares, until I found what I needed:

- for map (based on OpenStreetMaps):


- for topographic elevations: ... s_org3.htm

- for conversion of latitudes and longitudes in different forms:

DDS Image Processing Software:

Text editor such as Notepad, Wordpad or any other.

Editor for * .tobj files:

tobjEdit ...

Game Archive Extractor if you do not have the latest version of the editor_data.sii file:

scs-extractor ... r#Download

File archiver in zip format such as 7-zip or any other:


Before we start:

Copy the mod and profile folders from C: \ Users \ ....... \ Documents \ Euro Truck Simulator 2
Keep your copies safe somewhere :).

Delete the existing files from the mod folder and profiles, from C: \ Users \ ....... \ Documents \ Euro Truck Simulator 2

Let's begin .... :)

Go to C: \ Users \ ....... \ Documents \ Euro Truck Simulator 2

Open config.cfg and change the following variables from 0 in 1:

Uset g_developer "1"
Uset g_minicon "1"
Uset g_console "1"

Save and close the file.

Go where the game is installed:

- in ..... \ Euro Truck Simulator 2 and create a folder called "base", follow the name
- In the "base" folder create a folder named "map", follow the name

Now you have folders:

...... \ Euro Truck Simulator 2 \ base
...... \ Euro Truck Simulator 2 \ base \ map

Before we have a background we must have the map files:

- we open the game
- creating a new profile ...
- go to Options -> Graphics and uncheck Fullscreen Mode
- we save the game and go back to the profiles
- press the "~" key ... in front of "1" on the keyboard
- In the drop down window write edit and press "Enter"
- It takes a few seconds and the Map Editor appears
- Go to Tools -> Settings -> Map and change Normal: 1 and City: 1
- because we can not save an empty map add any item to the map, add a road ... anything
- save the map under the name you want, I saved it under the name "romap"
- close map editor

Now we were creating the directory structure of our module wherever we want. I did it on Desktop:

- create a new folder, the name will be the name of the module, I have chosen "romap_mod"
- in "romap_mod" create folders "def", "map" and "material", follow the names
- In the "material" you create the "editor" folder, follow the name

Now you have folders:


Go where the game is installed in the folder you made before and where our map was saved:

...... \ Euro Truck Simulator 2 \ base \ map

- just copy the romap folder and the romap.mbd file, the rest does not matter
- Go to C: \ Users \ ....... \ Desktop \ romap_mod \ map and put the romap folder and the romap.mbd file

We start making the background of the map.

To begin, I need the topographic elevations in the area where I want the map:

- we go to ... s_org3.htm and download the files, for Romania I chose the M34, M35, L34, L35, K34, K35.
- unzip the *.zip files downloaded
- copy all the *.hgt files (only the files, not the file folders) and put them in ....... \ Maperitive \ Cache \ Rasters \ SRTM3

Before working with Maperitive a few observations:

- if you generate topographic lines or 3D relief simulation and will give you an error, you do not have the *.hgt files in right directory, or from the desired area
- if you think everything is fine with *.hgt files, reopen Maperitive, it is happen to can't generate
- do not generate topographic lines, relief simulations, or high quality images on large areas (eg all over Romania) take a long time, the resulting files are huge and you risk to block your computer, plus you risk not being able to use them in ETS2 Map Editor. I do not know what the background limits are for Map Editor or the size of the modules, but I suppose they exist.
- you can copy-paste the commands written here in Maperitive -> Command Prompt

Now at Maperitive:

- we open Maperitive.exe from the ..... \ Maperitive folder where we downloaded it
- we choose the area on the map, like on Google Maps
- because I want to work as exact as possible, I will work with Command Prompt (at the bottom of the screen) but you can work with the menu, all the commands are explained in help
- the coordinates of the center of the map and the zoom are seen in the bottom left, for precision we set them

- move the center of the map and set the zoom:

move-pos x=25.250 y=45.720 zoom=12

- we set this position as the starting location:


- set the printing area:

set-print-bounds-geo bounds=25.250,45.720,25.300,45.760

- we generate the 3D simulation of the relief in the printing area, if we repeat the order it gets a more pronounced effect (for a clearer view I repeated it 5 times):

generate-relief-igor bounds=25.250,45.720,25.300,45.760

- we generate the topographic lines in the print area, if repeating the order we get the more accentuated lines (for a clearer view I have repeated it 5 times):

generate-contours bounds=25.250,45.720,25.300,45.760

- exporting the printing area:

export-bitmap file=output/25250_45720_25300_45760.png dpi=200 map-scale=10000

A few words about the exported image, see the help for more:

- the place and file name may be what you want
- the file type may be gif, tif, jpg, bmp .... I have chosen png
- do not choose a very large dpi, increase the file size
- map-scale is the scale of the map from image
- do not change the image resolution when editing it, the scale never fit again

I have chosen the bounds, dpi, and map_scale values so that I get an image no higher than 4096x4096 pixels and maximum quality. Try other combinations, see what comes out :)

Back to exported image:

- open the picture with and check it out, it happens that there are white areas (square or rectangular), in this case we close and we export the image again

If the image is good we pass to the next image. Maperitive -> Command Prompt has command history, for the next image we repeat the above commands but we change the bounds

I chose to go to the right of the last image, the new bounds are 25.300,45.720,25.350,45.760

set-print-bounds-geo bounds=25.300,45.720,25.350,45.760

- 5 times (or whenever you want)

generate-relief-igor bounds=25.300,45.720,25.350,45.760

- 5 times (or whenever you want)

generate-contours bounds=25.300,45.720,25.350,45.760

export-bitmap file=output/25300_45720_25350_45760.png dpi=200 map-scale=10000

- open the picture with and check it, if it has errors we close and export the image again

We repeat orders until we get all the pictures we want, I now only want two. We can close the Maperitive

Now in ....... \ Maperitive \ output we have the files:


There are two more files but I have no idea what it is with them. We do not need it.

In the place where we made the folder "romap_mod" we make a new folder "romap_img", or what name do you want

C: \ Users \ ....... \ Desktop \ romap_img

Moving files from ....... \ Maperitive \ output to the new folder "romap_img" can remain in "output" but we can save something else and lose it.

We open the first file with and prepare it for the editor map:

- we see the size of the picture:

3055 x 3502 pixels
80.84 x 92.67 cm

For map editor the size counts :)

The size of the dds must be divide with 4 exact, I have chosen squares 1024 x 1024, 2048 x 2048 or 4096 x 4096. Some combinations (eg rectangle 1024 x 2048 or 1028 x 1028 square) can give errors, even if the dimensions are good.

- change the size for canvas (WARNING! Do not change the image size, only canvas) to 4096 x 4096 and Anchor: Bottom Left

The type of Anchor is important in adding the following images to existing ones. I used it as follows:

- Bottom Left - if you develop the map with images on right and up
- Bottom Right - if you develop the map with images on left and up
- Top Left - if you develop the map with images on right and down
- Top Right - if you develop the map with images on left and down

You may not use this rule, but it is harder to calculate the position of the following images in relation to the existing ones.

The new dimension is:

4096 x 4096 pixels
108.37 x 108.37 cm

- save the image in dds format with the settings:

- DXT5 (Interpolated Alpha)
- Compressor Type: Cluster fit
- Error Metric: Perceptual
- Aditional Options: Generate Mip Maps
- Fant

Some say they go other combinations (DTX1, DTX3). I did not try.
It does not seem necessary to generate Mip Maps at the background for maps (only for models, trucks ...), but I have had errors on images without Mip Maps.

We do the same for the second picture.

Now we have two new files in C: \ Users \ ....... \ Desktop \ romap_img:

In C:\Users\.......\Desktop\romap_mod\material\editor:

- copy the file
- copy mfc71.dll, msvcr71.dll, and tobjEdit.exe (files for *.tobj editor)
- open tobjEdit.exe and write:


- save with name 25250_45720_25300_45760.tobj in C:\Users\.......\Desktop\romap_mod\material\editor

- use "/" not "\"
- with file name and path
- put the dds extension necessarily
- generally for all files, do not choose too long names, there are limitations and errors can occur and you do not know why :)
- do not just change the name of the dds file from the tobj files, even if it can, it can give you an error (sometimes it goes but it's not safe) use tobjEdit.exe every time you make changes to dds

- create a new text file and change its name and extension to 25250_45720_25300_45760.mat (attention to extension)
- open the file 25250_45720_25300_45760.mat and write:

material : "dry.tex"
texture : "25250_45720_25300_45760.tobj"
texture_name : "texture"

- save and close the file 25250_45720_25300_45760.mat

Now we have three new files in C: \ Users \ ....... \ Desktop \ romap_mod \ material \ editor:

If you make any changes to the tobj file in the future, leave the files: mfc71.dll, msvcr71.dll and tobjEdit.exe there.
If you no longer need them, you can delete or move them.

In C:\Users\.......\Desktop\romap_mod\def:

If we have the latest version of the editor_data file, we copy it here

If we don't have the editor_data.sii file:

- create a new folder C: \ Users \ ....... \ Desktop \ blablabla :)
- copy here the def.scs file from the folder where the game is installed ..... \ Euro Truck Simulator 2
- copy here scs_extractor.exe ( ... r#Download)
- drag def.scs over scs_extractor.exe, a window is opens, when it closes, is finished extraction (you have to wait, it takes a few seconds)
- in C: \ Users \ ....... \ Desktop \ blablabla \ def you find the editor_data.sii and copy it to C: \ Users \ ....... \ Desktop \ romap_mod \ def
- you can delete C: \ Users \ ....... \ Desktop \ blablabla :)

If you can not extract, do not have scs_extractor.exe etc:

- create a new text file and change the name and extension to editor_data.sii (attention to extension)
- open the editor_data.sii file and copy-paste next rows:

Code: Select all

editor_data : .edit_data {

	autosave_interval: 15 #minutes
	autosave_notify_interval: 10 #seconds

	startpos_model: "/vehicle/ai/focus_2009/lod.pmd"
	startpos_rotate_speed: 16.0

	stamp_count_warning: 40
	road_length_warning: 330

	free_camera_uplift: 8.5
	sub_mode_types[]: 1 #terrain_item
	sub_mode_types[]: 3 #road_item
	sub_mode_types[]: 4 #prefab_item
	sub_mode_types[]: 2 #buildings_item"
	sub_mode_types[]: 5 #model_item"
	sub_mode_types[]: 36 #sign_item"
	sub_mode_types[]: 15 #animated_model_item"
	sub_mode_types[]: 28 #walker_item"
	sub_mode_types[]: 34 #trigger_item"
	sub_mode_types[]: 8 #cut_plane_item"
	sub_mode_types[]: 9 #mover_item"
	sub_mode_types[]: 12 #city_item"
	sub_mode_types[]: 11 #no_weather_item"
	sub_mode_types[]: 13 #hinge_item"
	sub_mode_types[]: 18 #map_overlay_item"
	sub_mode_types[]: 21 #sound_item"
	sub_mode_types[]: 19 #ferry_item"
	sub_mode_types[]: 23 #camera_point_item"
	sub_mode_types[]: 38 #traffic_area_item"
	sub_mode_types[]: 39 #bezier patch"
	sub_mode_types[]: 42 #map_area_item

	map_import_offset: (-43402, 0, -28089)

	bcg_map_name[]: "/map/europe.mbd"
	bcg_material[]: "/material/editor/europe.mat"
	bcg_size_x[]: 207656
	bcg_size_y[]: 174375
	bcg_offset_x[]: 10500
	bcg_offset_y[]: -7090

@include "/custom/editor_data.sii"

- Save and close the editor_data.sii file

After you have the editor_data file, you change the following variables as follows:

- the position of the center of the map because it is the new map and it is not part of an existing map:

map_import_offset: (0, 0, 0)

- the place and the name of the map:

bcg_map_name []: "/map/romap.mbd"

- place and background file name:

bcg_material []: "/material/editor/25250_45720_25300_45760.mat"

- background size in meters:

bcg_size_x []: 10840
bcg_size_y []: 10840

- position of the center of the background in meters:

bcg_offset_x []: 5420
bcg_offset_y []: -5420

If the background has a single image you can set this value to zero and center of the map is center of background. For our case the center of the map is on left-bottom corner of first image from background.

Regarding background size and position:

- The paper scale is 1: 10000
- image size 108.37 cm = 1.0837 m
- actual map size 1.0837 x 10000 = 10837 m, we chose 10840 m for the center value to be a whole number
- map center 10840/2 = 5420 m

How do we understand positively or negatively from zero position of the map:

- on the x axis everything on the right of the zero is positive
- on the y axis everything that is down to zero is positive
- on the x axis everything in the left of the zero is negative
- on the y axis everything that is above zero is negative

More clearly, if we use hours clock:

- for points between 12 and 3 (x, -y)
- for points between 3 and 6 (x, y)
- for points between 6 and 9 (-x, y)
- for points between 9 and 12 (-x, -y)

Here is important how we choose the Anchor of images, as we talked above, to these calculations. When you have a single image for the map it's simple, when you have more pictures, it gets worse.

Now for our module we have:


We archive our module in C: \ Users \ ....... \ Desktop \ romap_mod. Only the "def", "map" and "material" folders.

  I use 7-zip and I will explain for this program how to do it, probably is the same with other programs.

In the "Add to Archive" window:

- Archive: romap_mod.scs

- Archive format: zip

- Compression Level: Store

If you don't change the extension to "scs", change "zip" to "scs" after archiving

We get the romap_mod.scs file in C: \ Users \ ....... \ Desktop \ romap_mod

Now let's see if it works :):

- transferring romap_mod.scs to C: \ Users \ ....... \ Documents \ Euro Truck Simulator 2 \ mod
- we open the game
- press the "~" key ... in front of "1" on the keyboard
- in the window write romap edit and press "Enter"
- takes a few seconds and Map Editor appears with the romap map and the new background

Now let's see how accurate the map is and make the necessary corrections.

- we go to the editor map and with the ruler from menu bar we measure 3-5 distances between points with diverse positions, the distance is seen in the bottom left
- we have 680, 1618, 2168, 1878, 3060
- we measure the same distance in Google Maps
- we have 327, 769, 1050, 902, 1470
- see what are the differences as size orders: 2.0795, 2.1040, 2.0648, 2.0820, 2.0816
- we make an average of them and get: 2.0824
- with this value is larger our map than in reality
- we modify the editor_data.sii:

- 10840 / 2.0824 = 5205.53, we chose 5206 m for the center value to be integer

- background size in meters:

Bcg_size_x []: 5206
Bcg_size_y []: 5206

- position of the center of the background in meters:

Bcg_offset_x []: 2603
Bcg_offset_y []: -2603

Archive the module again and start again with transferring ............

You can make changes directly in the scs file, at least with 7-Zip, with the rest I do not know.

We re-check the same positions and we have 326, 765, 1035, 891, 1452

They are closer to reality now.

Now we can start making the new map.

After you work on the map and set the start position for truck, save the map and close the editor map.

To test the new map:

Go where the map was saved:

...... \ Euro Truck Simulator 2 \ base \ map

- just copy the romap folder and the romap.mbd file, the rest does not matter
- Go to C: \ Users \ ....... \ Desktop \ romap_mod \ map and put the romap folder and the romap.mbd file

Archive the module again and start again with transferring ............


For any changes you make to the map and want to test it, redo the previous steps. If you run the map without modifying the module you will test the last map in the module without any changes made.

I will try to do just a simple road, with nothing, just testing it. Anyway I do not know how to do too much :)

After I finish the road, we continue with the background.

One minute please, I'll be back :)

I've just done the way.

Some comments:
- make your road complete if is possible (curves, straight lines, etc.)
- the background is at height z = -15.00, the road at z = 0.00, if you work under the z = -15.00 you don't see the road when you build it with the background activ
- if you work at higher elevation the precision of the shape of the road is poor, that's why I do all the road at z =-14.00 and then I raised it from the background after
- unfortunately the background can't be lifted with the road or map, maybe in the future it will be possible
- the thicker lines are from 100 on 100 meters height and somewhere you find the value (500, 600, 700 ....) the thin lines are from 20 on 20 meters height ( 520, 540, 560, 580) these values are not on background
- with a little experience and patience, you can make a road look like is in realltiy
- if you want to see the real road you can find it here:, ... a=!3m1!1e3

I say it's pretty similar, at least after 5 minutes of work on it :), climb and descend as it is in realltiy. Obviously it can be even better. Anyway, I wanted to show you how to make the background of the map and less the map itself. By the way, we measured the length of the built road ~ 5200 m and on Google Map is ~ 5325 m. It can be better :)

Okay, let's say we finished what we had to do on this background and now we need the next one.
Because I can not show two images at once in the background I will put a sign where the first image ends (the map side, not the part added with the canvas).

Open the original image 25250_45720_25300_45760.png and see the dimension on the x (width) axis:

- 80.84 cm respectively 0.8084 m, paper scale 1: 10000, so we have 0.8084 x 10000 = 8084 m
- but we did a correction, we do it again 8084 / 2.0824 = 3882.06 we will use 3882 m
- put a vertical road at x = 3882 on the map
- Save the map and repeat the story with the update of the map and module

If you still use the first module (the first image), copy everything (romap_mod folder and mod) into a safe place for later usage.

Now we are copying the second image from C: \ Users \ ....... \ Desktop \ romap_img

on C: \ Users \ ....... \ Desktop \ romap_mod \ material \ editor

We repeat all the previous steps, just change the name of the old files with the new name. In essence, the new module only changes the file name and position of the image on the map.

Now we calculate the new position:

- the map only grows to the right
- we know, the first picture of map ends at x = 3882 m
- the second full picture (with canvas) has the size x = 108.37 cm = 1.0837 m x 10000 (paper scale) = 10837 m
- we choose 10840 / 2.0824 (correction) = 5205.53, we chose 5206 m for the center value to be integer
- the center of the image is 2603 m from the edge
- position on the map is 3882 + 2603 = 6485 m
- modify the editor)data.sii with the new values:

bcg_offset_x[]: 6485

In fact we are calculate the position of the center of the new image according to the position of the previous image and where it is placed. It is good to work with the same image dimensions, simplifying the update of the module.

Do not forget to change the filenames wherever it appears.

If we've finished all the changes, we archive and move the new module to its place, see if it works

We see the new image perfectly aligned with the vertical marker used.

If the road is already drawn to the height and does not move along the road in the picture, it is due to the height of the road and the background. That's why I said that it would be good to raising the background closer to the road. But is not possible or at least I don't know how.

After we are finish with this bacground, we're doing another .... and so on.


You know, at the beginning when we made the map we modified in Tools -> Settings -> Map Normal: 1 and City: 1 by default are Normal: 19 and City: 3

These two values have influence on the mileage of the truck:

- If are 1: 1km on the map = 1km for the truck
- if are 19: 1km on the map = 19 km for the truck

The problem is that I have not managed to correlate length of road on map with the mileage of the truck and the background to be proportional, no matter how I tried. That's why for real map I set value to 1.

- your map will not match with existing maps (most of them are 19 with 3)
- the trip will take like reality Bucharest-London 4-5 days

There may be other changes.

That's the background story. Use what you need :).

You can download the modules from here : ... sp=sharing ... sp=sharing

I hope I have not mistaken something through the text, or misunderstood something about the background.

Sorry for the length of the text but ... that's it :)

All The Best!!!

Posts: 47
Joined: 10 Jul 2017 09:48

15 Aug 2017 09:13

Anyone knows why I can't move entire map with:

map_import_offset: (100, 200, 300)

I try to move the map closer to background, after lift up, but seems doesn't work.
I tested to move the map in any direction, zero effect.

Posts: 12
Joined: 16 Sep 2018 20:30
Location: Los Angeles, California

23 Mar 2019 06:31

Why would you apologize for the length of your response? I say it was very helpful, and a lot of thought went into it. Even in 2019, it is still a very relevant article, as I still refer to it if I forget something.
Author of 1:3-scale California [WIP], help would be appreciated

Posts: 2
Joined: 29 May 2018 12:38

11 Sep 2019 13:36

Thanks man, worked like a charm

Posts: 2
Joined: 29 May 2018 12:38

29 Sep 2019 15:36

Tresco888, how can i add Asia module to the existing Europe module?

Post Reply
  • Information
  • Who is online

    Users browsing this forum: No registered users and 1 guest