DUXPLIMA Documentation

Settings

The general toggles, the caches, and the uxrLevel integration.

Shared/Config/Settings.luau is small. Most of this system's configuration is in the other three files.

FieldDefaultWhat it does
DebugfalseExtra [uxrOH] lines in Output
HideRobloxDisplayTagtrueHide the default Roblox name and health display
AFKModuletrueWindow-focus AFK detection
AFKBodyTransparencytrueAFK players turn transparent
TeamUnrankedTitle"Unranked"Shown when a player has no team
RankUnrankedTitle"Unranked"Shown when no rank matches
GroupCacheTTL300Seconds to cache group, rank and friendship checks. 0 disables
GamepassCacheTTL60Seconds to cache gamepass checks. 0 disables
LevelSystemNameSee belowThe uxrLevel package name in ReplicatedStorage

The four configuration files

FileHolds
Config/Layout.luauThe rows, their order and their text
Config/Ranks.luauRank candidates, their conditions and colours
Config/Nametags.luauDevice icons, country flags, the chat icon, custom badges
Config/Settings.luauThis page

The uxrLevel integration

LevelSystemName = "uxrLevelSystem#[email protected]",

The name of the level system's folder in ReplicatedStorage. When a folder of that name is present, five things become available:

AvailableUsed by
{Level}Layout text
{LevelName}Layout text
Level, Rank checksRanks and tags
LevelName, RankName checksRanks and tags
Playtime checkRanks and tags

Without it, those placeholders resolve to empty strings and those checks always fail. The system runs normally otherwise: this is an optional integration, not a dependency.

The shipped LevelSystemName is a versioned name that may not match your install

The default is "uxrLevelSystem#[email protected]", which carries a version suffix. The uxrLevel system documented in this section replicates itself as plain uxrLevelSystem.

If your level placeholders are empty and your level checks never match, this is the first thing to check. Set it to the name that actually appears under ReplicatedStorage when both systems are running.

See uxrLevel for that system.

The unranked titles

TeamUnrankedTitle = "Unranked",
RankUnrankedTitle = "Unranked",

Two separate strings for two separate cases: no team, and no matching rank. They ship the same and are worth differentiating: "No Team" and "Civilian" say more than "Unranked" twice.

Cache tuning

SettingLower meansHigher means
GroupCacheTTLPromotions show soonerFewer web calls
GamepassCacheTTLPurchases show soonerFewer web calls

0 disables caching, which puts a Roblox web call in the path of every check of that kind. On a full server with several group-conditioned tags, that is a lot of calls and a noticeable delay.

The shipped values, five minutes and one minute, are sensible for almost every game. See Conditions.

Debug

Turn it on while building ranks and tags: it logs what matched and what did not, which is the fastest way to find out that a condition names the wrong group.

Turn it off before release. Nametag rebuilds happen for every player on every respawn.