Rank & author sync
Once a player is linked, dWebLink keeps their rank in sync with the website so it shows up next to their name β as the author byline on content they publish and in the admin sidebar for staff.
What is pushed
Section titled βWhat is pushedβWhen sync runs, dWebLink reads the playerβs LuckPerms data and sends it to the API:
POST /api/v1/link/minecraft/profileAuthorization: Bearer <api-key>X-Tenant-Slug: <tenant-slug>{ "uuid": "...", "name": "...", "lpGroup": "admin", "lpPrefix": "[Admin]" }lpGroupβ the playerβs LuckPerms primary group.lpPrefixβ their LuckPerms prefix, with color codes stripped (legacy&/Β§,Β§xhex, and MiniMessage tags are removed so only the label remains).nameβ the current username, so a rename is picked up too.
The API stores these on the playerβs account only if the account exists β an unlinked player who joins is simply a no-op.
:memo: No LuckPerms? dWebLink still pushes the username (keeping it fresh); the group and prefix are just omitted.
When it runs
Section titled βWhen it runsβ| Trigger | Behaviour |
|---|---|
| Player join | After a short delay (join-delay-ticks, default ~2s) so LuckPerms has loaded the user, throttled to at most once per min-interval-seconds (default 5 min) per player. |
/webtoken |
Pushed immediately after a successful code, bypassing the throttle β so a player who just changed rank refreshes it on demand. |
Because a link is completed on the website (invisible to the server), the first join after linking is what first populates a rank. Have players relog, or run /webtoken, if a freshly linked account shows no rank yet.
Where it shows up
Section titled βWhere it shows upβ- Author byline β content published from the admin panel shows the authorβs Minecraft head, name, and rank chip on the public site.
- Admin sidebar β staff see their own Minecraft head + name in the panel.
The admin gate
Section titled βThe admin gateβThe website admin panel requires a verified Minecraft link. Staff sign in with Discord, but the panel refuses the session unless that Discord account is linked to a verified Minecraft account β so every author has a real in-game identity (skin, name, rank). There is no owner exemption.
This means: before enabling the gate, every admin must link (Minecraft and Discord). The API includes a check (admin:link-check) that lists any admin who would be locked out β run it until it is clear, then deploy. See the Phalanx deployment guide.
All in plugins/dWebLink/config.yml:
profile-sync: enabled: true # master switch for join + /webtoken pushes join-delay-ticks: 40 # raise if your LuckPerms loads slowly on join min-interval-seconds: 300 # lower for fresher ranks, higher to reduce callsFull reference: config.yml.