Map renderer for 7 Day to Die.
Linux, macOS, and Windows are supported.
-
Point the project at your installed copy of the game by creating a
tools/vanillalink at the project root. The path is wired intodeno taskinput-based caching, so it must be a static project-local path — not a runtime config file. Pick the command for your OS:-
macOS / Linux (symlink):
ln -s "/Users/<UserName>/Library/Application Support/Steam/steamapps/common/7 Days To Die/7DaysToDie.app" tools/vanillaLinux Steam example:
ln -s "$HOME/.local/share/Steam/steamapps/common/7 Days To Die" tools/vanilla -
Windows (directory junction, no admin required). Run from the project root in
cmd.exe:mklink /J tools\vanilla "C:\Program Files (x86)\Steam\steamapps\common\7 Days To Die"Or in PowerShell:
New-Item -ItemType Junction -Path tools\vanilla -Target "C:\Program Files (x86)\Steam\steamapps\common\7 Days To Die"
-
-
Execute in your terminal:
deno task buildOn a second run the tasks declared in
deno.jsoncskip themselves (cached, inputs unchanged) when neither the source TS nor the matched game files have changed.
The font subsetter is a POSIX-only one-off (it depends on pyftsubset, and the
docker wrapper additionally needs Linux UID/GID mapping). The generated
.subset.woff2 files are committed under public/, so Windows contributors do
not need to run this — only re-run it when the source fonts change.
If you already have fonttools installed locally:
./tools/fonts/subset.bash
Or use the docker wrapper (Linux host only):
./tools/fonts/subset-docker.bash
deno task fix
deno task serve
Note: You need to use HTTPS for development or access it using "localhost"
because 7dtd-map uses navigator.storage which requires
"Secure Contexts".