Player history
How Dynamic Join Greetings tracks first-time and returning players.
Why UUIDs
Player history is stored by UUID, not by username. That keeps first-time status stable when a player changes their name.
Storage location
History is stored per world at:
<world>/dynamic-join-greetings/players.jsonExample schema:
{
"schemaVersion": 1,
"players": [
"11111111-2222-3333-4444-555555555555"
]
}First install on an existing server
When the history file does not exist yet, the mod scans:
<world>/playerdataEvery valid *.dat UUID is imported as a known player. Those players receive returning greetings, which prevents established community members from getting first-time greetings after the mod is installed.
How first-time status is determined
- On join, the mod attempts to add the player UUID to history.
- If the UUID was new, the join is treated as first-time and the history file is saved.
- If the UUID was already present, the join is treated as returning.
Simulation and preview do not write to this history.
Damaged history recovery
If players.json is malformed or uses an unsupported schemaVersion:
- The damaged file is renamed to a timestamped
.corrupt-<timestamp>.bakfile. - History is rebuilt from Minecraft’s existing
playerdata. - The server continues starting normally.
If the history directory cannot be written, the mod falls back to temporary in-memory history for that session and logs an error.
Reset a single player
There is no reset command. Stop the server first, then edit the JSON manually:
- Stop the server.
- Open
<world>/dynamic-join-greetings/players.json. - Remove the target UUID from the
playersarray. - Save the file with valid JSON.
- Start the server.
- Have that player join once. They should receive a first-time greeting and be re-added to history.
Reset all player history
To treat every next join as first-time:
- Stop the server.
- Replace
players.jsonwith an empty list:
{
"schemaVersion": 1,
"players": []
}- Start the server.
Do not delete the file if you want a true reset
Deleting players.json while the server is stopped causes the next start to rebuild history from playerdata, which marks existing players as returning again.
Editing rules
Do not edit players.json while the server is running. The mod may overwrite your changes on the next save.
Found a problem in these docs? Report a documentation issue on GitHub.