Server Password adds a password gate to your server that locks players out until they enter the correct password via an on-screen keypad interface. Players are frozen at their spawn location and must enter the password before they can move or interact with the world.
The plugin supports multiple password profiles based on permissions, allowing different groups of players to use different passwords. It includes configurable attempt limits, temporary lockouts after too many failures, and extensive UI customization options. Verified players can optionally stay verified until disconnect, avoiding repeated password entry on respawn.
Features
- Keypad UI interface - Clean, interactive keypad similar to code lock interface
- Password profiles - Assign different passwords to different permission groups
- Attempt limits - Kick players after too many incorrect attempts
- Temporary lockouts - Block rejoins for a configurable duration after kick
- Player freezing - Locks players in place until verified
- Auto-submit - Automatically submits password when full length is entered
- Masked input - Optionally hide password as asterisks
- Case sensitivity control - Choose whether passwords are case-sensitive
- Persistent verification - Remember verified players until disconnect
- Customizable UI - Full control over colors, transparency, and text
Permissions
serverpassword.bypass-- Players with this permission skip the password gate entirely
Profile permissions are defined in the configuration. Each password profile can specify a required permission (e.g.,
serverpassword.profile.event). Players are matched to the first profile for which they have the required permission.Configuration
JSON:
{
"Version": "1.1.1",
"Password Settings": {
"Enabled": false,
"Password": "1234",
"Case Sensitive": false,
"Maximum Failed Attempts Before Kick": 3,
"Hide Input As Asterisks": true,
"Maximum Input Length": 12,
"Remember Verified Player Until Disconnect": true,
"Show UI Again On Respawn If Not Verified": true,
"Hide UI On Join If Already Verified": true,
"Auto Submit When Code Complete": true,
"Kick Lockout Time After Failure Seconds": 300,
"Enable Password Profiles": false,
"Password Profiles": [
{
"Profile Name": "Event",
"Required Permission": "serverpassword.profile.event",
"Password": "5678",
"Override UI Header": "Event Password",
"Override UI Subtitle": "Enter the event password to join"
}
]
},
"UI Style Settings": {
"Overlay Background Color (HEX)": "24201B",
"Overlay Transparency (0..1)": 0.5,
"Code Display Background Color (HEX)": "2B2F33",
"Code Display Transparency (0..1)": 0.78,
"Code Text Color (HEX)": "F3F5F7",
"Title Text Color (HEX)": "F3F5F7",
"Subtitle Text Color (HEX)": "F3F5F7",
"Keypad Button Background Color (HEX)": "8E949A",
"Keypad Button Transparency (0..1)": 0.8,
"Keypad Button Text Color (HEX)": "F3F5F7",
"Keypad Button Hover Color (HEX)": "8BC34A",
"Keypad Button Pressed Color (HEX)": "6FA83B",
"Keypad Button Selected Color (HEX)": "8BC34A",
"Keypad Button Disabled Color (HEX)": "4D5258",
"Clear Button Background Color (HEX)": "C85C5C",
"Clear Button Transparency (0..1)": 0.7,
"Clear Button Text Color (HEX)": "F3F5F7",
"Clear Button Hover Color (HEX)": "E07A7A",
"Clear Button Pressed Color (HEX)": "A13F3F",
"Clear Button Selected Color (HEX)": "D36A6A",
"Clear Button Disabled Color (HEX)": "5A2E2E",
"Attempts Text Color (HEX)": "ECEFF1"
}
}
Password Settings
Enabled-- Set totrueto activate the password gatePassword-- The default password players must enter. Used when password profiles are disabled or no profile matches the playerCase Sensitive-- Whentrue, passwords must match exact case. Whenfalse, "ABC" and "abc" are treated as the sameMaximum Failed Attempts Before Kick-- How many incorrect password attempts are allowed before kicking the playerHide Input As Asterisks-- Whentrue, shows*characters instead of the actual input on the keypad displayMaximum Input Length-- Maximum number of digits/characters players can enter. Set to 0 for unlimitedRemember Verified Player Until Disconnect-- Whentrue, players stay verified across respawns until they disconnectShow UI Again On Respawn If Not Verified-- Whentrue, shows the password UI again when unverified players respawnHide UI On Join If Already Verified-- Whentrue, hides the UI immediately on join if the player is already verified from a previous sessionAuto Submit When Code Complete-- Whentrue, automatically submits the password once it reaches the target lengthKick Lockout Time After Failure Seconds-- How long in seconds players must wait before rejoining after being kicked for too many failed attempts. Set to0to disable lockoutEnable Password Profiles-- Set to true to enable permission-based password profilesPassword Profiles-- List of password profiles. See Password Profiles below
Password Profiles
Password profiles allow you to assign different passwords to different groups of players based on permissions. This is useful for events, VIP access, or separate passwords for different teams.Each profile has the following settings:
Profile Name-- Display name for the profile (for your reference in config)Required Permission-- Players need this permission to be matched to this profile (e.g.,serverpassword.profile.event)Password-- The password for this profileOverride UI Header-- Optional custom header text for this profile's UI. If left empty, uses the default header from localizationOverride UI Subtitle-- Optional custom subtitle text for this profile's UI. If left empty, uses the default subtitle from localization
Password setting.Example use case: Create an event password that only players with
serverpassword.profile.event permission can use:
JSON:
{
"Profile Name": "Tournament",
"Required Permission": "serverpassword.profile.tournament",
"Password": "RUST2025",
"Override UI Header": "Tournament Access",
"Override UI Subtitle": "Enter the tournament password to participate"
}
UI Style Settings
All UI colors use hex color codes without the# symbol. Transparency values range from 0 (invisible) to 1 (fully opaque).Overlay Background Color-- Background color of the full-screen overlayOverlay Transparency-- Transparency of the full-screen overlayCode Display Background Color-- Background color of the password display boxCode Display Transparency-- Transparency of the password display boxCode Text Color-- Color of the text/asterisks in the password displayTitle Text Color-- Color of the header text (e.g., "Server Password")Subtitle Text Color-- Color of the subtitle text (e.g., "Enter the password to join the server")Keypad Button Background Color-- Default background color of number buttons (0-9)Keypad Button Transparency-- Transparency of number buttonsKeypad Button Text Color-- Color of the numbers on keypad buttonsKeypad Button Hover Color-- Color when hovering over a number buttonKeypad Button Pressed Color-- Color when clicking a number buttonKeypad Button Selected Color-- Color when a button is selectedKeypad Button Disabled Color-- Color when a button is disabledClear Button Background Color-- Default background color of the clear buttonClear Button Transparency-- Transparency of the clear buttonClear Button Text Color-- Color of the text on the clear buttonClear Button Hover Color-- Color when hovering over the clear buttonClear Button Pressed Color-- Color when clicking the clear buttonClear Button Selected Color-- Color when the clear button is selectedClear Button Disabled Color-- Color when the clear button is disabledAttempts Text Color-- Color of the "Attempts left" counter text
Localization
JSON:
{
"Error.NoPermission": "You do not have permission to use this command.",
"Locked.Generic": "You must enter the server password first.",
"UI.Header": "Server Password",
"UI.Subtitle": "Enter the password to join the server",
"UI.AttemptsLeftFormat": "Attempts left: {0}",
"UI.ClearButtonLabel": "C",
"Toast.WrongPassword": "Wrong password.",
"Toast.Unlocked": "Welcome!",
"Kick.BaseReason": "Too many incorrect password attempts.",
"Kick.Generic": "Kicked.",
"Kick.TryAgainIn": "Try again in {0}."
}