KnoxMap
Draw any place on Earth. Play it in Project Zomboid.
Made by euclid80tr · Discord
[!IMPORTANT]
KnoxMap is an unofficial fan project. It is not made, endorsed or supported
by The Indie Stone. It contains no game files: it builds maps from your own copy
of Project Zomboid. See Disclaimers.
KnoxMap turns a real place into a playable Project Zomboid map, from one window:
choose an area → terrain → furnished buildings → compile → install into the game
It reads the real streets, buildings, water, parks, railways and land use from OpenStreetMap, fits every building onto its real footprint with rooms, stairs, furniture and lights, spawns zombies where people actually lived, and installs the result as a mod.
Choosing an area: Central Park's real boundary, straight from a search. Map tiles © OpenStreetMap contributors.
What you get
- The real street plan. Roads at their real widths, with pavements, kerbs
- Cars parked along the streets, in rows in the car parks and on the
- Water, bridges and railways. Seas and harbours, rivers with square
- Monuments as themselves: arches, columns, statues on paved squares and
- Buildings you can walk into, every one on its real footprint. Houses with
- Real heights, up to 30 storeys, taken from OpenStreetMap where they are
- Working lifts in buildings of five storeys or more, when the
- Buildings that are what they really are. The pizza place, the bank, the
- Erika's Tiles, if you have it. With
- Start where you like. With the optional
- Buildings that look their part: wall materials by neighbourhood; windows
- The real map in your pocket. The in-game map (M) shows the real streets,
- Zombies where the people were. The spawn map comes from an estimate of who
- Any shape you like: a rectangle, a polygon, a circle, a freehand outline,
Midtown Manhattan around Bryant Park: the terrain (left), turned 26.7° to the street grid, and the paper map
players carry in game (right). Map data © OpenStreetMap contributors.
Streets as KnoxMap lays them, drawn with the game's own tiles by tools/render_ground.py
(not an in-game screenshot). Tile artwork © The Indie Stone.
Quick start
You need: Windows 10 or 11 · Project Zomboid Build 42 installed through Steam · an internet connection. Python is optional: if your PC doesn't have it, setup downloads a private copy into the KnoxMap folder.
On Linux or macOS it is ./setup.sh once and ./knoxmap.sh after that,
and you need your own 64-bit Python 3.10+. Everything works; Compile runs the
map tools through Wine, which a PC playing Project Zomboid through Proton
already has. See LINUX.md.
- Download KnoxMap from
KnoxMap-v…-windows.zip on Windows, …-linux.tar.gz or …-macos.tar.gz
elsewhere — and unpack it anywhere. (Or git clone it for the latest
changes.)
- Double-click
KnoxMap.exe. The first time, it runs setup for you, which:
It takes a few minutes, once. After that KnoxMap.exe opens straight away.
- Make a map in the window that opens:
- In Project Zomboid: enable your map in Mods (and Elevators too, if
If anything is missing, a Setup incomplete panel in the app says exactly what
and how to fix it. You can run Setup.bat again at any time; it only does what
is still needed.
Choosing an area
| Tool | How | |---|---| | Search | Type a place and press Enter. Pick a result for a box around it, or its OUTLINE button for the place's real boundary: a park, a district, a whole town. | | Rectangle | Drag a box on the map. | | Polygon | Click point by point round any outline; click the first point to finish. | | Circle | Drag out a radius from a centre. | | Freehand ✎ | Drag round what you want. The line is smoothed into a clean outline. |
A shape is built only inside itself. The map still covers the shape's whole bounding box (the game needs whole cells), but outside the shape the land turns back to countryside, with the main roads and rivers running on so the town is not an island.
You can also open KnoxMap straight to a place: add ?q=Bryant Park, New York to
the address, and &outline=1 to take its real boundary.
Tuning a map
Open Fine tuning under Style:
| Setting | What it does |
|---|---|
| Fill gaps from Overture | 1 adds the buildings OpenStreetMap has not got, from Overture Maps — which is OSM plus machine-detected roofprints, under the same ODbL licence. Off by default: where OSM is complete it adds sheds (60 buildings on a German town), and where OSM is thin it nearly trebles the place (761 on a Turkish one). Needs DuckDB — python -m pip install duckdb into KnoxMap's own .venv. The fetch takes a few minutes and is then cached with the map. |
| True map generation | 1 rebuilds every address the map has. 0 keeps the real roads, rivers, woods and terrain but lays the housing out for the game: about half the ordinary houses are left out and the ones that stay grow into the gap, so a street is proper homes with yards rather than rows of one-room boxes. Worth turning off at 2 m a tile or more, and on a town mapped at European density. |
| Guaranteed rifle | 1 leaves one military rifle somewhere on the map: an army building if there is one, else the police station, else a gun shop, else a house on the edge of town. A real town has no army checkpoints in it, so without this the game's rifles may have nowhere at all they could spawn. |
| Zombies per person | How many zombies each person who lived or worked there becomes. |
| Living space | Floor area per person. Lower means more crowded buildings and more zombies. |
| Horde cap | The most zombies one 10×10-tile spot can hold. Vanilla towns peak at 10. |
| Flats above / Flats chance | How readily large untagged buildings become blocks of flats. |
| Tallest building | The storey limit, up to 30. Real heights from OpenStreetMap are used where mapped. Tall cities take much longer to compile. |
| Straighten streets | 1 turns the map so its main street grid runs along the tiles; 0 keeps north straight up, with diagonal streets as staircases. |
| Knox County roads | 1 lays every road in straight runs along the tiles and on 45-degree diagonals, like the game's own map: curves become straight sides with 45-degree corners, and the buildings, parks and car parks move with their streets and stand upright beside them. Streets end up a little way off their real places. 0 draws roads as mapped. |
| Woodland, Parking, Room size | What they say. |
| Seed | The same area and seed always give the same town. |
After Build, a Zombie census shows the estimated residents, workers and zombies. Change the zombie settings and press Recount to redraw them in a second without rebuilding, then compile again so the game sees the change.
A generated block of flats, floor by floor: a corridor, flats outlined in orange, stairs, doors and windows.
Good to know
- KnoxMap in your language.
lang/english.txtholds every line the window
English = English. Copy it, name the copy after the language
(russian.txt, deutsch.txt, turkce.txt), translate the right-hand side
of each line, and pick it from the menu at the top of the window. Lines left
in English stay English, so you can translate as much or as little as you
like, and python tools/make_lang_template.py writes the English file again
after an update. Translations are welcome as pull requests.
- Fresh loot without a new save. The game fills a container once and
- An update does not mean starting over. Each step of a map records the
- Size and time. A few square kilometres is a comfortable town. Compiling is
- North may not be up. With Straighten streets on, the map is turned to
- Maps are cached. Regenerating the same area reuses its OpenStreetMap
- A map is only as good as OpenStreetMap's data for that place. Well-mapped
- Where maps go. Installed maps are copied into
%USERPROFILE%\Zomboid\mods.
output\ folder.
- KnoxMap updates itself. When a new version is released, it downloads in
"auto_update": false to knoxmap_config.json.
- Discord status. What KnoxMap is doing - Planning a map, Scooping data
"discord_presence": false to
knoxmap_config.json, or start KnoxMap with KNOXMAP_NO_DISCORD=1.
Compatibility
- Project Zomboid Build 42 only. Build 41 cannot load these maps, and setup
- The map compiler is a Windows program. On Linux and macOS it runs
- Mods: the generated map is an ordinary map mod. Lifts need the optional
- Multiplayer and dedicated servers: not tested.
Known limitations
KnoxMap is new, and most of it has been checked by tools rather than by playing. Help is very welcome here, especially screenshots from the game.
- Not yet confirmed in game: that kerb tiles face the right way, that lifts
- Winding old towns have no single street grid, so their streets still step
- Very large buildings (over 200 tiles across by default) are skipped.
- Overpasses are lifted one or two storeys on Build 42's ramp tiles, which
- Turned buildings keep their real angle with stepped walls unless they are
- Interiors are generic: rooms suit what a building is, but they are not the
- Big maps take time. Downloading, and above all compiling, a large or tall
Troubleshooting
| Problem | Fix |
|---|---|
| Setup fails | The whole run is written to logs/setup.log. Run Setup.bat again; if it fails the same way, post that file. |
| Setup cannot find Project Zomboid | It asks for the folder: paste the ProjectZomboid folder from your Steam library. |
| Setup says the game looks like Build 41 | In Steam: right-click Project Zomboid → Properties → Betas → pick the Build 42 branch, then run Setup.bat again. |
| OSM query failed | The free OpenStreetMap servers are busy. Wait a minute and try again, or choose a smaller area. |
| The map is not in the game | Enable it under Mods, then start a new game. |
| The window is blank | Install the Microsoft Edge WebView2 runtime (built into Windows 11). |
| It opened in my browser instead of a window (Linux) | That is the whole app — nothing is missing. For a window of its own, install a desktop toolkit; see LINUX.md. |
| KnoxMap closes straight away | It shows a message and writes the error to logs/knoxmap.log. Running Setup.bat again fixes most causes. |
Reporting a problem
Everything KnoxMap does is written to the logs folder: knoxmap.log for the
app (with a short description of your PC at the top of each run), setup.log
for Setup, and worlded/ for the map compiler's own output.
When something fails, the message in the app carries an id such as E-7F3A2C, the same id that sits beside the full error in the log.
- Click Save report on the error, or report a problem at the top of
KnoxMap-report-….zip into logs and shows it in
Explorer. The zip holds the logs and the settings of your last few maps;
your Windows user name is taken out of every path.
- Post the zip, the error id and a screenshot in #bug-reports on the
For tinkerers
Everything the app does also works from the command line inside .venv:
.venv\Scripts\python -m knoxbuild output\mytown --preset city --set max_levels=12
.venv\Scripts\python tools\compile_map.py output\mytown
.venv\Scripts\python tools\render_ground.py output\mytown street.png 300 300 40 40
.venv\Scripts\python tools\audit_layouts.py 400
- KNOXBUILD.md: how buildings, rooms, lifts, fences, streets and
- worlded/README.md: the map compiler patch and how to build
tools/render_ground.pydraws a map's ground from the real tiles the way the
tools/audit_layouts.py stress-tests floor plans for
sealed rooms, blocked stairs, bad roofs and lifts; tools/validate_tbx.py
checks buildings against the editor's own rules.
Disclaimers
Not affiliated. KnoxMap is an unofficial, non-commercial fan project. It is not made, endorsed, supported or reviewed by The Indie Stone. Project Zomboid and The Indie Stone are trademarks of The Indie Stone Ltd., used here only to say what KnoxMap works with. Please do not contact The Indie Stone about problems with KnoxMap or the maps it makes.
No game files. This repository and its releases contain no Project Zomboid game files. Setup reads tile artwork from **your own installed, legitimately owned copy** of the game and keeps it on your PC, for use with the map tools. Do not redistribute those extracted files. Pictures in this README that are drawn from the game's tiles (marked as such) contain artwork © The Indie Stone, shown to illustrate what the tool produces.
Thanks to The Indie Stone for creating Project Zomboid (https://projectzomboid.com/),
which made this possible. This is an unofficial fan production for non-commercial
purposes made under the Indie Stone Terms.
Real places, invented contents. Maps are built from OpenStreetMap, which may be incomplete, outdated or wrong, and KnoxMap simplifies it further. Everything inside the buildings (rooms, furniture, loot, residents, zombies) is invented by the generator and says nothing about the real building or anyone who lives or works there. The population figures are rough estimates for gameplay, not real statistics. **Do not use KnoxMap maps for navigation, planning, emergencies or any real-world decision.** Please be thoughtful about where you set a zombie game and what you share: homes, schools, hospitals and places of worship are real places to the people who use them.
Map data licence. Map data © OpenStreetMap contributors,
available under the Open Database License (ODbL).
Every map KnoxMap installs carries the credit in game and an ATTRIBUTION.txt
saying which data it was made from and how.
Publishing a map you made. You may share maps made with KnoxMap for free.
If you do, on the Steam Workshop or anywhere else: keep ATTRIBUTION.txt in the
mod, credit "Map data © OpenStreetMap contributors" on its page, do not sell
it, and do not present it as official. Under The Indie Stone's
Modding Policy, publishing a
mod grants The Indie Stone a non-exclusive, royalty-free licence to use it in
connection with Project Zomboid.
Online services. KnoxMap uses OpenStreetMap's free, volunteer-run services under their usage policies: the tile server for the background map, Nominatim for place search, and the Overpass API for map data. KnoxMap identifies itself, caches tiles, searches and downloads, searches only when you press Enter, and paces its requests. Please do not modify it to get around those limits; for heavy use, run your own servers.
Privacy. KnoxMap has no accounts, telemetry or analytics. The servers it contacts, and what they see, are listed in docs/LEGAL.md.
Third-party mods. The Elevators and Spawn Selector mods are separate works by their own authors. Neither is included in, affiliated with or maintained by KnoxMap, and their behaviour and compatibility are up to those mods. KnoxMap only lays out buildings the way Elevators recognises lifts, and adds the map's places to Spawn Selector's lists when that mod is running; no code or files from either mod are copied.
No warranty. KnoxMap is provided as is, without warranty of any kind. Maps are generated automatically and have not been checked in game place by place. They can contain mistakes, and a map mod added to or removed from a save can break that save. Back up saves you care about. The authors are not liable for any damage or loss from using KnoxMap or its maps.
Credits and licences
- KnoxMap is made by euclid80tr.
- Knoxify by arytek: the original
- PZ Mapping Tools by Alree /
- Map data © OpenStreetMap contributors (ODbL).
- Elevators and Spawn Selector mods for Project Zomboid, by their
- Thuztor's Mapping Guide v0.2 for the terrain colour conventions.
worlded/ and its prebuilt
binary are GPL, and files from the original Knoxify have no published licence.
See LICENSES.md for the details, and
docs/LEGAL.md for every licence and policy KnoxMap follows
and how.