FAQ
Short answers to common Dynamic Join Greetings questions.
Does the mod need to be installed by players?
No. It is server-side only. Clients do not need the mod.
Can I customize every message?
Yes. Edit the message pools in config/dynamic-join-greetings.json, then run /joingreetings reload.
Can I add or remove messages?
Yes. Add or remove entries in firstJoin.messages or returningJoin.messages. Keep ids unique within each pool. Enabled pools must remain non-empty.
Can messages have multiple lines?
Yes. Put multiple strings in the lines array. Each entry is sent as its own chat line.
Can greetings be broadcast?
Yes. Set the pool audience to BROADCAST or BOTH.
Can I use colors and gradients?
Yes, through Placeholder API Simplified Text Format. See Formatting.
How does the mod know whether someone is new?
It stores player UUIDs in <world>/dynamic-join-greetings/players.json. A UUID that is not yet present is treated as first-time.
Will an update overwrite my config?
No. Existing customized configurations are preserved. Packaged defaults are not forced over customized files.
How do I restore the packaged defaults?
Stop the server, delete or rename config/dynamic-join-greetings.json, then start the server so the bundled defaults regenerate.
Does reloading change player history?
No. A successful reload clears in-memory selection state only. Persistent first-join history is unchanged.
Why did an invalid reload not change anything?
Validation failed, so the previous configuration remained active. Check the server console for the exact error.
Can commands be run from the console?
status and reload can. preview and simulate require an in-game player.
Does the selection history persist after restart?
No. Selection state is memory-only and resets on restart or successful reload. First-time player history does persist.
Where should bugs be reported?
Report mod bugs on the Dynamic Join Greetings issue tracker. Report documentation problems on the website repository issues.
Found a problem in these docs? Report a documentation issue on GitHub.