Skip to content
joric edited this page Nov 19, 2025 · 432 revisions

Welcome to the stalker2_tileset wiki! The PDA tileset was updated to 1.5 (2025-06-25).

Tiles

This is Stalker 2 PDA map in the original 65536 x 65536 resolution (4 gigapixels) in 512 x 512 px jpeg tiles.

Uploaded to GitHub to have an access from other projects and support the community. It's just a little bit under 1GB allowed on GitHub Pages. I cannot use LFS storage because serving LFS files is not supported. Usage:

L.tileLayer('https://joric.github.io/stalker2_tileset/tiles/{z}/{x}/{y}.jpg', {tileSize: 512, maxNativeZoom: 7});

Download

The PDA map is in T_WorldMap_UDIM.uasset, it's a 64k virtual texture that FModel can't process (see the scripts section).

  • Google Drive/Stalker2_Map folder old version (1.0.2, Dec 1 2024), hosted by LongerWarrior, 8 chunks, about 5Gb total. Current update have less fog of war (starting from the 1.3), use scripts to extract the newer images from the game.

Don't scrape GitHub Pages to get tiles. Either checkout the repository, or (better) just use this project as a tileserver.

Scripts

You can use scripts from the scripts directory to extract and re-generate the tileset from the game. The last zoom level is generated separately from the chunks because PIL cannot handle 64k images. Use extract.cmd to get the .ubulk, then vt_simple.py to export chunks, then chunks_to_32k.py to get a 32k image, then make_tiles.cmd to make first zoom levels, then chunks_to_last_level.py to generate tiles for the last zoom level.

Extras

Added some extra layers from 1.0 (2024-12-20):

  • extras/wb: Stalker2/Content/_Stalker_2/maps/WorldMap/T_GLOBAL_MAP_BASE.uasset (12951x12951 -> 16384x16384, jpg)
  • extras/ld: Stalker2/Content/_Stalker_2/maps/WorldMap/T_WorldMap_LDScheme.uasset (4096x4096, png)
  • extras/s1: https://www.nexusmods.com/stalker2heartofchornobyl/images/212 (8599x7452 -> 8192x8192, png)

"LD" in T_WorldMap_LDScheme.uasset possibly means "Low Detail". Or "Longer Days". Or "Last Day". Not sure.

Added new layer from 1.3 (2025-07-27):

  • extras/wl: Stalker2/Content/_Stalker_2/maps/WorldMap/T_GLOBAL_MAP_LEGEND.uasset (8192x8192, png, see Reddit)

Comment from a Reddit user (permalink):

There are three sets of map versions: 1.0, 1.3, and 1.5. PDA map only has two versions: 1.0 and 1.3. I don’t know if any subsequent versions had updated the PDA map.

There is the PDA map, and then there are the dev maps.

Global Map Base is used for internal GSC debug tools, namely the teleport map and the Jira Board bookmarks. The tools were accidentally included in patches 1.0.2 and 1.2, but are only functional in 1.0.2 as 1.2 is missing a few plugins. It’s also used for the Zone Kit as reference for selecting world partitions to load. The 1.3 map is most often used because it contains the most information about upcoming DLC. 1.5 has blacked out all out of bounds and DLC areas.

Global Map Legend is a pre-release map, that I speculate dates back to early 2024 or late 2023, but it’s definitely newer than the leaked maps from early 2023 as there are a few changes in the placement, notes, and boundary blockouts. It never was updated. It’s not used anymore and I have no clue why it’s in the files. Later was replaced by the exact same texture as Global Map Base to hide the previous outdated and unused map. That’s why it went down to 8k in resolution.

LDScheme is a map which I assume was used as the background for Map Legend, but I am not sure as it doesn’t 100% fit the markers. It may be because the textures are very slightly stretched vertically.

The maps are 8k because they’re used for the debug tools where they don’t need to be high res, only to show the general location of where what is.

Example

You can use this repository as a tileserver, minimal example:

<!DOCTYPE html>
<html>
<head>
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"/>
<style>
html, body, #map {width:100%; height: 100%; margin: 0; padding: 0; }
</style>
<div id="map"></div>
<script>
window.onload = function() {
  const map = L.map('map', {
    crs: L.CRS.Simple,
    zoom: 0,
    center: [-256, 256],
    layers: [
      L.tileLayer('https://joric.github.io/stalker2_tileset/tiles/{z}/{x}/{y}.jpg', {
        tileSize: 512,
        maxZoom: 7,
        bounds: [[0,0],[-512,512]],
      })
    ],
  })
}
</script>

In-game markers use square CRS (about 812900 units wide). Drawing all markers would need an OpenGL layer (e.g. Leaflet.PixiOverlay) or Leaflet.markercluster. I use leaflet mostly for prototyping, then I convert to Maptalks.

Issues

There are random visible seams in the map, it's NOT from converting, it's in the game since 1.0. See the Rostok factory.

  • 2025-03-18: 1.3 - did not remove the seams but partially removed fog of war (generators, etc.)
  • 2025-06-25: 1.5 - the last checked update, same map as 1.3, the seams are still there.

image

References

Clone this wiki locally