Skip to content

feat(presence): report the proxy's region, and count players by proxy#27

Merged
hbrombeer merged 1 commit into
mainfrom
feat/session-region
Jul 24, 2026
Merged

feat(presence): report the proxy's region, and count players by proxy#27
hbrombeer merged 1 commit into
mainfrom
feat/session-region

Conversation

@hbrombeer

Copy link
Copy Markdown
Member

The last link. Needs library-grpc-contracts-player 0.5.0 and
plugin-proxy-api 0.3.0 — both released.

  • sends REGION with the login, so the session records where the player is
  • implements countPlayersByProxy, which is what /online reads
  • maps region onto PlayerSessionInfo

REGION is passed through exactly as the environment gives it, empty
included
. An absent region is a normal value the whole way down — the column
is nullable, the proto tolerates empty — and inventing a plausible location for
a proxy that never declared one is worse than admitting we do not know.

At the API boundary an empty string becomes null, so callers have one shape
for "unknown" instead of checking for both.

Build green including tests.

The session now carries where the proxy is, and the network can be counted per
proxy rather than only per backend server.

REGION is passed through exactly as the environment gives it, empty included.
An absent region is a normal value all the way down — the column is nullable,
the proto field tolerates empty, and inventing a plausible location for a proxy
that never declared one would be worse than admitting we do not know.

An empty region string becomes null at the API boundary so callers have a single
shape for "unknown" rather than having to check for both.
@hbrombeer
hbrombeer merged commit 7f75835 into main Jul 24, 2026
2 checks passed
@hbrombeer
hbrombeer deleted the feat/session-region branch July 24, 2026 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant