DUXPLIMA Documentation

The waiting room

Where a player waits before logging in, what they may not do, timeouts, the dialogs, chat input and the pin pad.

Where they wait

waiting-room in screens.conf:

RoomThe player
dialogReads a dialog before the world, while the client is still connecting; never stands in the world unchecked. Clients older than 1.21.6 fall back to frozen
frozenStands in the world, held still, with the commands and the dialogs there
login-worldStands in an empty world of the plugin's own, login-world-name (uxmauth_login), with one block to stand on, and is moved back after the login. Folia cannot make a world while it runs: make it yourself under that name, or players wait frozen

The dialog comes before the player exists, so a permission plugin cannot be asked yet: there, uxmauth.login and uxmauth.register count only when the server grants them to everyone by default. To deny one through a permission plugin, use frozen.

KeyDefaultMeaning
cancel"kick"What closing the dialog does: kick, or world (into the frozen world, where the commands still work)
can-closefalseWhether Escape closes the dialog
chat-inputfalseA player in the world types the password or code as plain chat; the line reaches nobody
pin-padfalseA ten-key pad instead of a typed password; pair it with passwords.allowed = "[0-9]+"
rules.enabled, rules.linesoffRules a player must accept before they register

The screens are register, login, replace (a right password that no longer meets the rules), captcha, code, recover and pin; see Screens.

What a waiting player may not do

hold in config.conf: each switch is its own, and turning one off lets a player who never logs in do that thing.

SwitchHolds
movement, chat, commandsMoving, chatting, commands; allowed-commands lists others they may still run
blocks, interact, inventory, damageBreaking and placing, using things, the inventory, taking or dealing damage
vehicles, portals, teleports
hide-playersHides them from everyone, and everyone from them
blindnessBlinds them
hide-inventoryHides their inventory until they log in, and gives it back after
hide-statsHides health, food, flight, speed and operator status
join-message-waitsHolds the join message until the login; no quit message for one who never logged in

Where they stand

location.login-spot places a frozen player; empty, they wait where they joined. After the login every player goes back to where they stood. location.rescue moves a player who joins inside a solid block or a portal to the nearest safe spot up to rescue-reach (6) blocks above, or to the world's spawn.

Timeouts

Key under timeoutsDefault
register-seconds90
login-seconds60
reminder-seconds5: how often the reminder repeats

One connection per name

A second connection under a name already online or waiting is refused. names.reconnect-from-same-address = true lets it in from the address the first one holds, sending the first one away, for a player whose first connection hung.

Related: screens.conf, Effects