Releases: frakev/palworld-exporter
Release list
v0.2.0
Guilds are now distinguished by id, and the Players table works again
Guild identity
Palworld names every guild Unnamed Guild until someone renames it, so
aggregating by guild name merged unrelated guilds into a single row — a
three-guild server showed one meaningless line.
Every palworld_player_* save series now carries a guild_id label
(the 8-hex guild identifier, same shape as a player uid) next to the
existing guild name. The bundled dashboard aggregates the Guilds table
by (guild_id, guild) and shows a Guild ID column in both tables.
On servers where each player runs a solo guild,
guild_idequals that
player'suid— that is how Palworld builds solo guilds, not a bug.
This changes series identity: existing palworld_player_* series go
stale and new ones start. Historical data stays queryable under the old
label set.
Players table
The Players panel merged nine instant queries, but each frame carries its
own __name__, and Grafana's merge only combines rows whose shared
fields all match. Nothing ever matched, so the table showed one row per
(player, metric) with a single populated column. The differing fields are
now dropped before the merge.
Upgrading
make deploy REMOTE=<user>@<host> HOME_IP=<your public ip>
make parser-deploy REMOTE=<user>@<host> SAVE_DIR=/path/to/Pal/Saved/SaveGames
Then re-import grafana/palworld.json, overwriting the existing dashboard.
Full Changelog: v0.1.2...v0.2.0
v0.1.2
Save parsing: worlds that failed to parse at all now work
A Palworld patch added .worldSaveData.LevelObjectRecoverPartySaveData,
whose PlayerLastUsedTimes field is a Guid -> Int64Property map.
palworld-save-tools 0.24.0 only accepts Struct, Enum, Name, Int and Bool
as map keys and values, so it raised
Unknown property value type: Int64Property in the middle of the GVAS
stream — and the entire Level.sav parse failed. The parser started
fine, logged the error once at boot and on every reparse, and never took a
snapshot: all palworld_player_* and guild metrics stayed empty. Live REST
metrics (FPS, players online, …) were unaffected.
prop_value() now also reads the scalar map types whose encoding is
unambiguous: Int64, UInt32, UInt64, Float, Double and Str. None
of those fields are used by the exporter — the point is to walk past the map
without losing stream alignment. Same approach as the existing SetProperty
workaround.
Verified against a live 3.4 MB Level.sav: 3 guilds, 3 players, 2783 Pals,
parsed in 4.1 s.
Replace parser/palworld_stats/decode.py (or reinstall from the tarball) and
systemctl restart palworld-parser. No configuration change.
Since v0.1.1, release notes come from the tag annotation, so this text is
part of the tag itself.
Full Changelog: v0.1.1...v0.1.2
v0.1.1
v0.1.0
Full Changelog: https://github.com/frakev/palworld-exporter/commits/v0.1.0