[GH-ISSUE #124] [Player Counter] Palworld support (HTTP REST API) #70

Closed
opened 2026-05-07 00:17:49 +02:00 by BreizhHardware · 2 comments

Originally created by @makepeacej on GitHub (Apr 24, 2026).
Original GitHub issue: https://github.com/pelican-dev/plugins/issues/124

The player-counter plugin currently supports UDP-based query protocols (Source, Minecraft, GoldSource, CitizenFX)
but has no support for games that expose player data via HTTP REST APIs with authentication (that I can tell).

Palworld exposes a rest endpoint with basic auth using the admin password.

Could we add support to look at that data for player count?

For reference, here are the endpoints that are possible:

Server info (name, version, description)

curl -u "admin:{ADMINPASSWORD}" {DOMAIN}/v1/api/info

Metrics (player counts, FPS, uptime, days)

curl -u "admin:{ADMINPASSWORD}" {DOMAIN}/v1/api/metrics

Player list (names, levels, ping, location) - main one for player data

curl -u "admin:{ADMINPASSWORD}" {DOMAIN}/v1/api/players

Sample response
{
"players": [
{
"name": "Name",
"accountName": "Account",
"playerId": "28F2DED7000000000000000000000000",
"userId": "steam_1234",
"ip": "",
"ping": 59,
"location_x": -3113.724609375,
"location_y": 122099.359375,
"level": 51
}
]
}

Originally created by @makepeacej on GitHub (Apr 24, 2026). Original GitHub issue: https://github.com/pelican-dev/plugins/issues/124 The player-counter plugin currently supports UDP-based query protocols (Source, Minecraft, GoldSource, CitizenFX) but has no support for games that expose player data via HTTP REST APIs with authentication (that I can tell). Palworld exposes a rest endpoint with basic auth using the admin password. Could we add support to look at that data for player count? For reference, here are the endpoints that are possible: # Server info (name, version, description) curl -u "admin:{ADMINPASSWORD}" {DOMAIN}/v1/api/info # Metrics (player counts, FPS, uptime, days) curl -u "admin:{ADMINPASSWORD}" {DOMAIN}/v1/api/metrics # Player list (names, levels, ping, location) - main one for player data curl -u "admin:{ADMINPASSWORD}" {DOMAIN}/v1/api/players Sample response { "players": [ { "name": "Name", "accountName": "Account", "playerId": "28F2DED7000000000000000000000000", "userId": "steam_1234", "ip": "", "ping": 59, "location_x": -3113.724609375, "location_y": 122099.359375, "level": 51 } ] }
Author
Owner

@makepeacej commented on GitHub (Apr 24, 2026):

@Boy132 I actually made some changes to the plugin by adding a palworld schema and inserting the ADMIN_Password from the server env. I confirmed it works as well. I can make a PR if you'd like to see the changes.

<!-- gh-comment-id:4314292130 --> @makepeacej commented on GitHub (Apr 24, 2026): @Boy132 I actually made some changes to the plugin by adding a palworld schema and inserting the ADMIN_Password from the server env. I confirmed it works as well. I can make a PR if you'd like to see the changes.
Author
Owner

@makepeacej commented on GitHub (May 4, 2026):

Fixed with PR - #125

<!-- gh-comment-id:4372399543 --> @makepeacej commented on GitHub (May 4, 2026): Fixed with PR - #125
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/plugins#70
No description provided.