I made a Lithuania map for Transport Fever 3. Here's how to make your own
Free Transport Fever 3 maps of Lithuania, Germany, Switzerland, Austria, Hungary and the Netherlands, and a step by step way to make one of your own country, with prompts you can give Claude.
The short version
- I made a free Transport Fever 3 map of Lithuania from real elevation data and OpenStreetMap.
- Update 1 Nov: Germany, Switzerland, Austria, Hungary and the Netherlands are on the Mod Hub too.
- You can make a map of any country the same way: six steps, with prompts to give Claude.
- Download it from the Mod Hub or GitHub. Install steps are in the article.
The towns ate my country
I loaded my brand new Lithuania into Transport Fever 3 and the whole island turned grey.
Street grids everywhere. I asked for 33 towns and got 33 towns, each about 100 times bigger than I wanted. Vilnius took it well. The farmland did not.
3:26That was the first of three ways this map broke. It works now, it's free, and the same recipe will build a map of your own country. Claude has since been running a whole transport company on it, badly. That story is in I let Claude run a Transport Fever 3 company for 26 years.
- The map on the Mod Hub
- The source on GitHub, with the build scripts
Update: five more countries
Germany got a lot of downloads on its first day, so I ran the same recipe on the other countries where the game is most popular. Each is the whole country as an island, with real rivers, towns where they really are and starter industries. I made the Alps about 500 m tall, which plays better than the real 3 km, and kept the Netherlands almost flat.
- Deutschland: Germany, 60 towns
- Schweiz: Switzerland, 36 towns, Alps and lakes
- Österreich: Austria, 40 towns, the Danube
- Magyarország: Hungary, 40 towns, Lake Balaton
- Nederland: Netherlands, 45 towns, big rivers, flat land
The build scripts and heightmaps for all of them are in the country maps repo. Each map's install steps list its own minimum and maximum height for the import.
What you get
Lithuania as an island. Real terrain, the Nemunas and Neris rivers dug wide enough for ships, and 33 real towns in their real places, sized by population. Vilnius starts with 581 residents, Kaunas with 316, Klaipėda with 162. There are 16 starter industries and a set of Lithuanian town names. The roads between towns are yours to build.
Make your own, in six steps
Nothing here is specific to Lithuania. Swap in any country.
- Pick a square. The game wants a square map, 16.384 km on a side, with a 4097 by 4097 pixel heightmap. Cut a 420 km square around your country.
- Download the elevation. The free Terrain Tiles on AWS hide a height in every pixel:
R × 256 + G + B / 256 − 32768metres. Stitch them, halve the heights so hills don't become cliffs, and save a 16-bit grayscale PNG. - Make it an island. Everything outside the border sinks into a beach and shallow sea. The coast is fiction, and it plays better.
- Dig the rivers. At this scale a real river is a few pixels wide. Draw the OpenStreetMap river lines wider and down to sea level so ships can use them.
- Place the towns. OpenStreetMap has every town and most populations. I divided the population by 1,000 for the starting size, with a minimum of 25.
- Add industries by hand. Farms, forests, sawmills, food, breweries. Nobody has data for this, so it's game design.

Let Claude do the typing
I built mine by working with a coding assistant, and these prompts are close to what I'd give it again. Use Claude Code or any assistant that can run code and look at the files it makes. The important part is the last sentence of each: make it check its own work.
1. The terrain
I'm making a Transport Fever 3 map of [COUNTRY]. Write a Python script
that downloads the AWS Terrain Tiles (terrarium encoding, zoom 9) for a
420 km square around the country, decodes each pixel to metres with
R*256 + G + B/256 - 32768, stitches them, resamples to 4097 x 4097,
smooths it slightly, halves the heights, and saves a 16-bit grayscale
PNG where the lowest point is -12 m and the highest 180 m. Then open
the PNG and tell me whether the coast and the biggest river look right.
2. The island and the rivers
Using the Natural Earth border for [COUNTRY], sink everything outside
the border into a gentle beach and shallow sea so the country becomes
an island. Using OpenStreetMap river lines for [RIVER NAMES], draw them
wider and carve them down to sea level so ships can use them. Render a
preview image with the coastline and rivers so I can check it.
3. The towns
Query OpenStreetMap through Overpass for place=city and place=town
nodes in [COUNTRY]. Convert each position to game metres on the same
square as the heightmap: centre at 0,0, 16384 m wide, east positive,
north positive. Nudge any town that lands on water. Size each town as
its population tag divided by 1000, minimum 25. Write a Lua file in
the exact format of the Transport Fever 3 Map Editor's towns and
industries export (a data() function returning towns and industries).
Then list every town with no population tag and confirm every town
is on dry land.
Once you have a map you like, open it in the game's Map Editor and use the Export button in the towns and industries tool. The game writes the exact file format, including the cargo needs that I forgot at first. Hand that file back to your assistant as the example for next time.
Three ways it broke
Towns 100 times too big. My import code edited the game's list of planned towns, then asked the game for that list again to build them. The game hands you a fresh copy every time, so my changes vanished. The fix was to pass the edited list straight to the build command.
Before

After

Towns that wanted nothing. With the sizes right, the towns just sat there. No needs, nothing to deliver. I had never told them what they need. Now every town asks for vegetables in its shops and planks in its industry.
A world with no towns at all. My very first town file had no data() function, which is what the game calls to read it. No error, no crash, just an empty country.
So now every map gets imported into a clean world, and I read the towns, heights and needs back from the running game before anyone else sees it.
Install and play
- Subscribe on the Mod Hub. Open the Lietuva map page, or search "Lietuva" in the game's Mod Hub. This adds the Lithuanian town names.
- Download the map files. Get the zip from GitHub. Copy everything in
mod/map-kit/heightmapsinto theheightmapsfolder and everything inmod/map-kit/towns_industriesintotowns_industries. Both are inside your Transport Fever 3 userdata folder,Steam/userdata/<your id>/3493540/local. - Start a new Map Editor map: Temperate, Very Large, 1:1. Pick the Lietuviški / Lithuanian names.
- Import the heightmap
Lietuva_4097_playable.pngwith minimum −12, maximum 180, water level 0. Press Return after typing each number, or the old value stays and your mountains come out about 16 times too tall. - Import the towns
Lietuva_33_towns_starter_industries. - Connect the towns, save the map and start a game.

Share your own
A mod is a folder: mod.json, a _metadata folder with modinfo.json and 1920 by 1080 images (0.png is the cover), and your content. Copy it into staging_area in your userdata folder, open Mod Hub, then My Mods, log in to mod.io, tick Set Public and upload. Names can't pass 32 characters and summaries 100. The Mod Hub rejects .js and .html files inside a mod, so keep scripts out. Before you publish, check mod IDs, paths and your default company name for anything personal.
To update later, raise revision in mod.json and put your mod's number in _metadata/mod.io_fileid.txt. Replace the staging folder and that file goes with it, so your next upload would create a duplicate page.
Links
- Lietuva: Lithuania Island Map on the Mod Hub
- Download the map files (zip)
- Source and build scripts on GitHub
- Germany, Switzerland, Austria, Hungary and Netherlands: maps and scripts
- AI MCP Bridge, a mod that lets an AI assistant play the game with you, and its companion download
Sources5 references
- Imports and fixes, my machine: oversized towns 3 Oct 2026; capacities fixed 4 Oct; cargo needs added and read back for all 33 towns 4 Oct; clean native import and first vehicle purchase 27 Oct 2026.
- Country maps checked in the public Mod Hub list 1 Nov 2026; each read back in the running game (town, industry and height checks) before upload. Source: GitHub.
- Public pages checked 28 Oct 2026: map, AI MCP Bridge, GitHub.
- Elevation: Terrain Tiles on AWS Open Data (EU-DEM produced using Copernicus data and information funded by the European Union; SRTM, USGS; ETOPO1, NOAA).
- Towns, populations and rivers: © OpenStreetMap contributors, ODbL. Country outline: Natural Earth, public domain.
Keep reading
All 14 articles →Newer
I let Claude run a Transport Fever 3 company for 26 years. It's $4.2M in debt
Claude has been running a Transport Fever 3 company through my AI MCP Bridge mod. Here's every run, what broke, the real numbers, and how to try the bridge yourself.
1 November 2026Read →
Older
Drop 08: One design skill, three AI models, the same VAT site
I ran the Hallmark v2 design skill on EU VAT Info three times from the same commit: Claude Opus 5.5 in Claude Code, and GPT-6 Sol and GPT-6 Astra in Codex. What it does, what each model built, and what its linter missed without a browser.
23 October 2026Read →
Recent
I redesigned my homepage with Claude Fable 5.2. Before and after
One sentence of brief. The dashboard in my hero became a deck of seven real product screenshots, and the numbers moved into one band. Before and after screenshots, the four things that broke and what it cost in bytes.
10 November 2026Read →
