Skip to content

Player Log ​

Records per-player activity across games and exposes it in the plugin page of the admin panel, making it possible to audit behaviour days after the fact.

Plugin ID: gg.empostor.playerlog · Data file: Data/PlayerLogData.json

This is a standalone plugin, not built into Empostor. Without it installed there is no player log entry anywhere in the admin panel; install the .dll, restart, and Player Log appears under Plugins in the sidebar.

ReferenceWhere
ConfigurationNone
CommandsNone
Admin PanelPlugin page Player Log (see Using the Admin Panel)
HTTP APIGET /player-log/export (requires the admin session cookie)

Unlike the in-memory admin views, this plugin persists a rolling history to disk, so it survives a server restart.

Recorded Events ​

Each entry carries one of the following Type values:

TypeTriggered when
ConnectA client connects to the server.
JoinA player joins a game.
LeaveA player leaves a game.
ChatA player sends a chat message.
GameA game is created, started, or ended.
TaskA player completes a task.
MurderA player is killed.
ReportA body is reported.
MeetingA meeting starts or ends.
VentA player enters or exits a vent.
VoteA player casts a vote.
ExileA player is voted out.

Every entry stores the same set of fields:

FieldDescription
TimeUTC timestamp of the event.
TypeOne of the types listed above.
ClientIdNumeric client ID, when applicable.
PlayerNameIn-game name at the time of the event.
FriendCodeFriend code, when known.
GameCodeRoom code of the game in progress.
DetailHuman-readable description of what happened.

Using the Admin Panel ​

Open the Player Log plugin page under Plugins in the Admin Panel sidebar to:

  • Filter with the Player dropdown — All players, or a specific #ID Name (FriendCode).
  • Move through pages with the Page dropdown, 100 entries per page.
  • Click Export as JSON for the payload size, then open /player-log/export to download it (the admin session cookie is required; add ?clientId=123 for a single player).
  • Pick a range in the Clear logs dropdown (all / 1 hour / 24 hours / 7 days / 30 days) and click Clear Logs.

Exports work for a single player as well as for the whole log, which is useful when handing evidence to another operator.

Player Logs

Storage & Retention ​

The log is capped at 10,000 entries. Once the cap is exceeded the oldest entry is dropped for each new one written, so the file size stays bounded.

Data is written back asynchronously after every write and is loaded from disk on server start:

AspectValue
PathData/PlayerLogData.json (a legacy Data/player_logs.json is migrated automatically)
FormatJSON array of entry objects
Max entries10,000 (oldest discarded first)
PersistenceSurvives restarts

Scale

On a busy server 10,000 entries can be reached in a single day. If you need long-term retention, schedule an export and clear the log periodically.

Privacy ​

Player logs can contain personally identifying information such as IP addresses and friend codes. Store exports responsibly and check your Privacy Policy page if your server processes personal data.

  • Monitor — expose health-check endpoints for external uptime tools.
  • Player Stats — aggregate per-player outcomes rather than raw events.
  • Reports — in-game reports submitted by players.