gitmyhub

PalDex

HTML ★ 1 updated 8d ago

Live self-hosted map for a Palworld dedicated server — players, collectibles, bosses, and world state read straight from the game's own save files and assets.

A self-hosted live map for a Palworld dedicated server that tracks players, collectibles, bosses, and world state directly from the game's save files.

PythonFlaskLeaflet.jsC#Dockersetup: hardcomplexity 4/5

PalDex is a self-hosted live map for a Palworld dedicated game server. It shows where players are, what they have collected, which bosses they have defeated, and the overall state of the game world, almost all pulled directly from the server's own save files and the game's own asset files rather than guessed or scraped from a wiki.

The map covers a wide range of layers: player positions and stats, hundreds of collectible statues and blueprints, dozens of boss encounters and named enemy leaders, boss rush towers, fast travel points, lore pickups, shops run by NPCs, quests, player built guild bases, and dungeon entrances that only appear on the map while they are actually active in the game. Most of these can be filtered per player, so picking a player from a dropdown shows exactly what that person has found, defeated, or unlocked, and centers the map on their current position.

Under the hood, a Python script connects to the server over SSH to pull down the save files every thirty seconds, and another script decodes those files using an existing open-source save-parsing library, since the standard published tool does not support the newest save format. A separate one-time C# tool reads the game's own asset files to extract things that do not change often, like map textures, icons, and names, and that output gets baked into the deployment rather than recomputed on every request. A small Flask backend serves all of this as JSON, and the frontend is a single HTML page using the Leaflet mapping library, with no build step or framework.

A handful of details, like elemental type matchups and a few NPC spawn positions, are not stored anywhere in the game's own files, so those specific values are cross-checked against public wiki sources instead, with the reasoning documented in the project's notes file. Deployment works either through Docker or as a plain Linux service.

Where it fits