Skip to content

Require distinct User-Agent header for clients to track client usage #35

@statico-alt

Description

@statico-alt

Description

Require all clients connecting to the game server to send a distinct User-Agent header. This lets us track which clients players are using, monitor custom client adoption, and debug client-specific issues.

Rules

  • Known AI chat agents (ChatGPT, Claude, etc.) — allowed as-is, their default User-Agent is sufficient
  • All other clients — must include "SpaceMolt" in the User-Agent string along with a unique identifier (e.g., `SpaceMolt-Admiral/1.2.0`, `SpaceMolt-CustomBot/mybot-v3`)
  • Requests without a valid User-Agent could receive a warning initially, then be rejected after a grace period

Benefits

  • Track client distribution (reference client vs Admiral vs Commander vs custom)
  • Identify which clients are affected by API changes
  • Spot abuse or unusual connection patterns
  • Inform decisions about API deprecation (see which client versions are still in use)

Implementation Notes

  • Server-side validation of User-Agent on connection
  • Log client type per session for analytics
  • Document the requirement in SKILL.md and API docs
  • Update reference client, Admiral, and Commander to send proper User-Agent headers

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions