Plugins / Alias
Alias
Nicknames in chat, tab and above the head, with the matching skin. Staff always see who is who.
Get Alias
$5.99 on BuiltByBit, list price on 16 October 2026. BuiltByBit sales can lower it, the listing shows the current price.
Also in Complete Collection: Every Plugin, Server Polish Bundle.
Try it live
Alias runs on a public demo server, set up so you can use it yourself. Join, try it, then decide.
Address: try.zeropvp.xyz:25570 (Java Edition 1.21.11)
In Minecraft: Multiplayer, Add Server, paste the address, Join. Type /demo go alias to land at its booth, or right-click the compass and pick it. The world resets every night.
Overview
Alias
Nicknames that change chat, tab and the name above the head, with the matching skin
Most nickname plugins change the name in chat and forget the tab list, or change the tab list and leave the real name floating above the player's head. Alias changes all three, brings the matching skin with it, and keeps staff able to see who is who.
Nicknames above heads, each with the skin that goes with it.
- Latest version
- 1.2.0
- Server
- Paper or Purpur, Java 21
- BuiltByBit
- Alias on BuiltByBit
What changed in 1.2.0
- New: a cooldown on name changes. Set cooldown-seconds in config.yml and players wait that long between changing their own nickname or skin, by command or on the /nick screen. It is 0 (off) unless you set it. Taking a nickname off is always allowed, and staff changing somebody else never wait.
- New permission: alias.cooldown.bypass (default: op) skips the cooldown.
- New PlaceholderAPI placeholders for tab and scoreboard plugins that cannot read MiniMessage: %alias_nick_formatted% (the nickname with its colours, gradients included) and %alias_display% / %alias_display_formatted% (the name as shown in chat, after format:). The existing %alias_nick%, %alias_nick_raw%, %alias_real%, %alias_nicked% and %alias_skin% are unchanged.
- Tab completion for /skin (reset and player names), /unnick (nicked players, for staff) and /alias reload.
- Fixed: /nick <player> <name> for a player who is not online nicked you as that player's name. It now says the player is unknown.
Features
Why server owners pick it
- One nickname everywhere: chat, tab list and nametag
- The skin changes with it
- Staff can always see the real name
- Nicknames are validated and kept after a restart
- PlaceholderAPI support
What makes it different
- Chat, tab list and the name above the head change together, and the skin changes with them
- Skins go through Paper's profile API: no ProtocolLib needed
- Staff always see the real name with /realname and /nicklist, and join and leave messages use the nickname so the real one never leaks
Works with
- Paper or Purpur 1.21.11 (or newer 1.21.x), Java 21+
- PlaceholderAPI optional. No ProtocolLib needed: skins use the Paper profile API.
- No DRM, no licence key and no licence server; the code is not obfuscated
What you get
- New in v1.3.0: Name change cooldown: set cooldown-seconds and players wait between nickname or skin changes; alias.cooldown.bypass skips it
- New in v1.3.0: More placeholders: %alias_nick_formatted% and %alias_display% for tab and scoreboard plugins that cannot read MiniMessage
- Everywhere at once: chat, tab list and the name above the head, all from one command
- Skins follow the nickname: /nick Notch also puts that skin on, fetched off the main thread so nothing freezes
- Validation that means something: length, an allowed-characters pattern, a blacklist, and a check that the name is not already taken by a nickname or a real account
- Colours behind a permission: MiniMessage gradients for ranks that paid for them, plain names for everyone else
- Random nicknames: /nick random from a name pool, and optional auto-nick on join for a permission group
- Staff always know: /realname, /nicklist, and a quiet notice when somebody nicks
- Persistent: nicknames survive restarts, and reapply the moment the player joins
- Join and leave messages use the nickname, so the real name never leaks
- PlaceholderAPI: %alias_nick%, %alias_real%, %alias_nicked%, %alias_skin%
- Everything the plugin says is in the config, in MiniMessage
The tab list shows the nicknames too.
The nickname screen
Pick a name, borrow a skin, or let it surprise you.
Staff see who is who, and unnick anyone with one click.
- /nick on its own opens a real Minecraft dialog window, not a chest full of icons: a field for the name, a field for the skin, and buttons for a random name, your own name back and your own skin back
- Staff get a who is who screen in the same window: every nickname in use, and one click to take one off somebody online
- It runs the same validation and prints the same messages as the commands, so nothing behaves differently depending on how it was opened
- Every label and tooltip on it is in config.yml, in MiniMessage, like the rest of the text
menu: falseputs the plain help line back if you would rather have the commands only
FAQ
Which servers does it run on?
Paper or Purpur 1.21.11 or a newer 1.21.x, with Java 21.
Do I need other plugins?
No. PlaceholderAPI is supported if you have it.
Is there DRM or a licence key?
No. There is nothing to activate and no licence server to reach, and the code is not obfuscated.
How long does setup take?
Drop the jar into /plugins and restart. The setup guide above has 4 short steps.
Can I try it before I buy?
Yes. This page has a test server with the plugin installed.
Where do I get help?
In the active support Discord, in the discussion tab on this page, or in the documentation.
Can I stop players changing names every few seconds?
Yes. Set cooldown-seconds in config.yml. Staff changing somebody else never wait.
Updates
Released on September 16, 2026 and updated 5 times since. The latest version is v1.3.0 (October 16, 2026). Every update is free, new Minecraft versions included.
Also by Frostyh
- Nameplates: stacked custom nametags
- HotbarDialogs: hotbar items that open native dialog menus
- Holograms: floating text and boards
- Complete Collection: all my published plugins in one purchase, 40% off
If this plugin helps your server, a short review on this page would mean a lot. Thank you!
Installation
Requirements
- Server software
- Paper, or a Paper fork such as Purpur. Spigot and CraftBukkit are not supported: the plugin uses Paper-only APIs.
- Minecraft version
- plugin.yml api-version 1.21; built against Paper API 1.21.11
- Java
- 21 or newer
- Required plugins
- none
- Optional plugins
PlaceholderAPI
Steps
- Download
Alias.jarfrom BuiltByBit. There is no licence key to enter. - Stop the server and put the jar into the
pluginsfolder. - Start the server. The plugin creates
plugins/Alias/config.ymlwith the defaults shown under Configuration. - Edit
config.ymlto suit your server. - Apply the changes with
/alias reload(Reload the config), or restart the server.
Setup guide
- Drop Alias.jar into /plugins and restart.
- Decide who may use colours: give alias.color to the ranks you sell it with.
- Give your staff alias.see and alias.others.
- That is the whole setup. Players run /nick <name>.
SMP and survival: let players rename themselves as a rank perk, with colours reserved for donors.
PvP and practice: /nick random plus the skin makes an anonymous queue, useful for staff testing or for players who do not want to be targeted.
Networks: staff can go incognito with /nick and /skin while still being visible to anyone with alias.see.
Commands
From plugin.yml. "Not set" in the permission column means plugin.yml attaches no permission to the command itself; the nodes the plugin checks are listed under Permissions.
| Command | Aliases | Usage | Description | Permission |
|---|---|---|---|---|
/nick | /nickname | /nick <name|off|random> | /nick <player> <name|off> | Change your nickname. | not set |
/unnick | none | /unnick [player] | Remove a nickname. | not set |
/skin | none | /skin <player|reset> | Wear another player's skin. | not set |
/realname | none | /realname <nick> | Who is behind a nickname. | not set |
/nicklist | /nicks | /nicklist | Every nickname in use. | not set |
/alias | none | /alias reload | Alias admin. | not set |
Subcommands in detail
/nick <name> Nickname yourself.
/nick off Back to your real name.
/nick random A random name from the pool.
/nick <player> <name> (staff) Nickname somebody else.
/unnick [player] Remove a nickname.
/skin <player> Wear another player's skin.
/skin reset Your own skin back.
/realname <nick> (staff) Who is behind a nickname.
/nicklist (staff) Every nickname in use.
/alias reload Reload the config.
Permissions
From plugin.yml.
| Node | Default | Description | Children |
|---|---|---|---|
alias.use | everyone | Use /nick on yourself. | none |
alias.skin | everyone | Change skins with the nickname. | none |
alias.color | operators | Use colours in a nickname. | none |
alias.others | operators | Nick and unnick other players. | none |
alias.see | operators | See who is behind a nickname. | none |
alias.anyname | operators | Take a nickname that belongs to a real account. | none |
alias.autonick | nobody until granted | Get a random nickname on join when auto-nick is on. | none |
alias.cooldown.bypass | operators | Change your own nickname or skin without waiting for cooldown-seconds. | none |
alias.admin | operators | Reload the plugin. | none |
Placeholders
Registered with PlaceholderAPI under the identifier alias (AliasPlaceholders.java). PlaceholderAPI must be installed for these to work.
| Placeholder | Returns |
|---|---|
%alias_nick% | the nickname without colours, or the real name when not nicked |
%alias_nick_raw% | the nickname as typed, MiniMessage tags and all |
%alias_nick_formatted% | the nickname with its colours, as section-sign codes (TAB, scoreboards) |
%alias_display% | the name as shown in chat, after format:, without colours |
%alias_display_formatted% | the same with its colours, as section-sign codes |
%alias_real% | always the real name |
%alias_nicked% | yes or no |
%alias_skin% | whose skin they are wearing |
Configuration reference
The default files as they ship in the jar, with their comments. The plugin writes them to plugins/Alias/ on first start.
config.yml
Top-level keys:
| Key | Default | Comment above it |
|---|---|---|
format | "{nick}" | how a nicked name is shown. {nick} and {real} both work. |
tab-list | true | also change the tab list name |
above-head | true | also change the name above the head |
rename-in-chat | true | rewrite the chat line so the nickname is what people see |
skins | true | allow skins to change with the nickname |
skin-follows-nick | true | /nick Notch also puts Notch's skin on (needs alias.skin) |
tell-staff | true | staff with alias.see are told who nicked as what |
hide-real-name-in-join-message | true | none |
nicklist-online-only | true | none |
menu | true | bare /nick opens the nickname screen instead of printing help |
min-length | 3 | none |
max-length | 16 | none |
pattern | "[A-Za-z0-9_]+" | what a nickname may contain, before colours |
blacklist | [admin, owner, staff, mod, notch, herobrine, console, server] | none |
block-real-names | true | nobody may take a name that belongs to a real account |
cooldown-seconds | 0 | Seconds a player waits between changing their own nickname or skin, so nobody spams name changes (each skin change is a lookup at Mojang). 0 = no wait. Taking the nickname off is always allowed, staff changing somebody else never wait, and... |
auto-nick | section, 1 key | none |
random-names | list of 20 | none |
theme | section, 11 keys | Every message below is written against these names, not against hex codes: <accent>Open</accent> rather than <#a98bf5>Open</#a98bf5>. Change a colour here and it changes on every screen at once. Ordinary MiniMessage still works, so <gradient:#a:#b> and... |
messages | section, 60 keys | none |
review-reminder | true | One thank-you line with the BuiltByBit review link: once in the console after install and once in chat for the first operator who joins. It never repeats and sends nothing anywhere. false turns it off. |
# Alias - nicknames that hold up.
#
# /nick <name> changes the name in chat, in the tab list and above the head, and brings the matching
# skin with it. Everything here is MiniMessage: <red>, <bold>, <#ff9900>, <gradient:#a:#b>.
format: "{nick}" # how a nicked name is shown. {nick} and {real} both work.
tab-list: true # also change the tab list name
above-head: true # also change the name above the head
rename-in-chat: true # rewrite the chat line so the nickname is what people see
skins: true # allow skins to change with the nickname
skin-follows-nick: true # /nick Notch also puts Notch's skin on (needs alias.skin)
tell-staff: true # staff with alias.see are told who nicked as what
hide-real-name-in-join-message: true
nicklist-online-only: true
menu: true # bare /nick opens the nickname screen instead of printing help
min-length: 3
max-length: 16
pattern: "[A-Za-z0-9_]+" # what a nickname may contain, before colours
blacklist: [admin, owner, staff, mod, notch, herobrine, console, server]
block-real-names: true # nobody may take a name that belongs to a real account
# Seconds a player waits between changing their own nickname or skin, so nobody spams name changes
# (each skin change is a lookup at Mojang). 0 = no wait. Taking the nickname off is always allowed,
# staff changing somebody else never wait, and alias.cooldown.bypass skips it.
cooldown-seconds: 0
auto-nick:
enabled: false # players with alias.autonick get a random nickname on join
random-names:
- Ashen
- Brimstone
- Cinder
- Dusk
- Ember
- Flint
- Frost
- Gale
- Hollow
- Kite
- Lumen
- Mirage
- Nomad
- Onyx
- Pike
- Quartz
- Rift
- Sable
- Talon
- Vesper
# ------------------------------------------------------------------------------------------------
# THEME
# ------------------------------------------------------------------------------------------------
# Every message below is written against these names, not against hex codes: <accent>Open</accent>
# rather than <#a98bf5>Open</#a98bf5>. Change a colour here and it changes on every screen at
# once. Ordinary MiniMessage still works, so <gradient:#a:#b> and <#ff0000> are fine anywhere.
theme:
accent: "#a98bf5" # your colour: headings and anything the player is meant to click
accent2: "#d0bffa" # a lighter accent, for a second level of emphasis
title: "#f4f7ff" # screen titles
text: "#c2ccdd" # ordinary prose
muted: "#6b7a94" # hints, separators, anything the eye should skip
value: "#ffffff" # the numbers and names the player opened the screen to read
good: "#57e08a"
warn: "#ffc857"
bad: "#ff6b6b"
small-caps: false # ᴇхᴀᴍᴘʟᴇ - a garnish; whole menus in it read badly
# Real Minecraft item pictures beside the buttons and in the chest screens. Drawn from the
# client's own textures, so there is nothing to install and no resource pack: it needs a
# 1.21.9 or newer client, and older ones simply see the buttons as words.
item-icons: true
messages:
prefix: "<#7f5af0><bold>Alias</bold></#7f5af0> <muted>»</muted> "
no-permission: "<bad>You cannot do that.</bad>"
players-only: "<text>Players only.</text>"
unknown-player: "<bad>Unknown player: </bad><value>{name}</value>"
reloaded: "<value>Config reloaded.</value>"
admin-help: "<text>/alias reload</text>"
# "yes" and "no" stay in quotes: YAML reads a bare yes or no as true or false.
"yes": "yes"
"no": "no"
online: "<good>online</good>"
offline: "<text>offline</text>"
nick-help: "<text>/nick <name> · /nick off · /nick random · /nick <player> <name></text>"
nicked: "<text>You are now </text>{nick}<text>.</text>"
nicked-other: "<value>{player}</value><text> is now </text><value>{nick}</value><text>.</text>"
unnicked: "<text>Nickname of </text><value>{player}</value><text> removed.</text>"
auto-nicked: "<text>You joined as </text><value>{nick}</value><text>.</text>"
staff-notice: "<muted>{player} is nicked as {nick}</muted>"
no-random: "<text>No random names are configured.</text>"
bad-length: "<bad>Nicknames are {min} to {max} characters.</bad>"
bad-characters: "<bad>Letters, numbers and underscores only.</bad>"
blacklisted: "<bad>That nickname is not allowed.</bad>"
no-colour: "<bad>You cannot use colours in your nickname.</bad>"
taken: "<bad>{nick} is taken.</bad>"
cooldown: "<text>You can change your name again in </text><value>{seconds}s</value><text>.</text>"
skin-help: "<text>/skin <player> · /skin reset</text>"
skin-set: "<text>Skin of </text><value>{name}</value><text> applied.</text>"
skin-reset: "<text>Your own skin is back.</text>"
skin-unknown: "<bad>No skin found for </bad><value>{name}</value>"
realname-help: "<text>/realname <nick></text>"
realname: "<value>{nick}</value><text> is really </text><value>{player}</value>"
realname-none: "<text>Nobody is nicked as </text><value>{nick}</value>"
nicklist: "<text>Nicknames:</text><newline>{list}"
nicklist-row: "<text> - </text><value>{nick}</value><text> = </text><value>{player}</value><text> ({state})</text>"
nicklist-empty: "<text>Nobody is nicked.</text>"
# The /nick screen. Every line here is a button label, a tooltip or a line of text on the screen.
menu-title: "<value>Nickname</value>"
menu-who-title: "<value>Who is who</value>"
menu-current: "<text>You are wearing </text>{nick}<text>.</text>"
menu-none: "<text>You are playing as </text><value>{player}</value><text>, your own name.</text>"
menu-rules: "<muted>{min} to {max} characters, letters, numbers and underscores.</muted>"
menu-field-name: "<text>Nickname</text>"
menu-field-skin: "<text>Skin from player</text>"
menu-apply: "<white><icon:yes></white><good>Use this name</good>"
menu-apply-tip: "<text>Take the name from the field above.</text>"
menu-random: "<white><icon:rtp></white><value>Surprise me</value>"
menu-random-tip: "<text>Pick a random name from the list in the config.</text>"
menu-remove: "<white><icon:delete></white><bad>Back to my own name</bad>"
menu-remove-tip: "<text>Drop the nickname and the skin with it.</text>"
menu-skin: "<white><icon:skin></white><value>Wear this skin</value>"
menu-skin-tip: "<text>Take the skin from the field above.</text>"
menu-skin-reset: "<white><icon:skin></white><value>My own skin</value>"
menu-skin-reset-tip: "<text>Put your real skin back on.</text>"
menu-who: "<white><icon:players></white><#7f5af0>Who is who</#7f5af0>"
menu-who-tip: "<text>Staff only: every nickname in use.</text>"
menu-unnick: "<white><icon:delete></white><bad>Unnick {player}</bad>"
menu-unnick-tip: "<text>Take the nickname off {player}.</text>"
menu-back: "<white><icon:back></white><text>Back</text>"
menu-back-tip: "<text>Back to the nickname screen.</text>"
menu-close: "<white><icon:close></white><text>Close</text>"
menu-empty: "<text>Type something in the field first.</text>"
join-message: "<warn>{nick} joined the game</warn>"
quit-message: "<warn>{nick} left the game</warn>"
# One thank-you line with the BuiltByBit review link: once in the console after install and once
# in chat for the first operator who joins. It never repeats and sends nothing anywhere. false turns it off.
review-reminder: trueConfig guide
The annotated summary from the store page. Where it and the default file above differ, the file is what the plugin ships.
format: "{nick}" how a nicked name is shown; {nick} and {real} both work
tab-list: true
above-head: true
rename-in-chat: true
skins: true
skin-follows-nick: true /nick Notch also wears Notch's skin
tell-staff: true
min-length: 3
max-length: 16
pattern: "[A-Za-z0-9_]+"
blacklist: [admin, owner, staff, ...]
block-real-names: true nobody takes a name that belongs to a real account
auto-nick:
enabled: false
random-names: [Ashen, Brimstone, Cinder, ...]
FAQ
Which servers and versions does it run on?
It needs Paper or a Paper fork such as Purpur, because it uses Paper-only APIs (the dialog API for its menus, Adventure text components, Paper player profiles). Spigot and CraftBukkit are not supported. plugin.yml declares api-version 1.21, the jar is built against Paper API 1.21.11, and it needs Java 21 or newer.
Does it need other plugins?
No other plugin is required (plugin.yml has no hard dependencies). Optional: PlaceholderAPI (plugin.yml softdepend), used when present.
How do I apply config changes?
Edit plugins/Alias/config.yml and run /alias reload (reload the config). A restart works too.
Does it run on Folia, or for Bedrock players?
Not tested on Folia, and plugin.yml does not declare folia-supported. Bedrock players (through Geyser) have not been tested either.
What licence do I get?
The licence terms are the BuiltByBit EULA shown on the listing. There is no licence key to enter, and the plugin never contacts a licence server.
Links
- BuiltByBit: Alias
- Support Discord: discord.gg/KG4ubAZEuw
- All plugins on BuiltByBit: the collection
- More plugins: all plugins
- Custom work: commissions
Support
Questions, bugs or ideas: the active support Discord or the discussion tab on this page. When something breaks, include your server version and the error from the console.
Full setup guide, commands, permissions and config reference: documentation.