Main configuration
UltraStaffChatPro's primary configuration file.
- config.yml
- messages.yml
Placeholders
View placeholders
Toggle
| Name | Placeholder | Context | Description |
|---|---|---|---|
| Player username | {player} | User | Displays the username of the player. |
| Player UUID | {uuid} | User | Displays the UUID of the player. |
| Player server name | {server} | User | Displays the name of the server the player is currently connected to. The display name for each server can be customised in the config.yml file. Only available when UltraStaffChatPro is running on a proxy. |
| Player AFK status | {afk} | User | Displays the AFK status of the player. The value of this placeholder can be customised in the config.yml file. |
| Player online time | {playtime} | User | Displays the amount of time the player has been connected your server. The value of this placeholder can be customised in the config.yml file. |
| Player server online time | {playtime_server} | User | Displays the amount of time the player has been connected to the current server. This resets when the player changes server on a proxy. The value of this placeholder can be customised in the config.yml file. |
| LuckPerms prefix | {lp_prefix} | User | Displays the LuckPerms prefix of the player. LuckPerms Documentation. |
| LuckPerms suffix | {lp_suffix} | User | Displays the LuckPerms suffix of the player. LuckPerms Documentation. |
| LuckPerms group | {lp_group} | User | Displays the name of the player's LuckPerms group. |
| LuckPerms group display | {lp_group_display} | User | Displays the display name of the player's LuckPerms group. |
| LuckPerms meta | {lp_<meta_key>} | User | Displays the value of the meta key for the player. Replace <meta_key> with the LuckPerms meta key you wish to display the value of. LuckPerms Documentation. |
| Ultra Permissions prefix | {up_prefix} | User | Displays the Ultra Permissions prefix of the player. |
| Ultra Permissions suffix | {up_suffix} | User | Displays the Ultra Permissions suffix of the player. |
| PremiumVanish status | {vanish} | User | Displays the vanish status of the player. The value of this placeholder can be customised in the config.yml file. |
| RedisBungee Proxy ID | {proxy_id} | User | Displays the identifier of the RedisBungee proxy the player is currently connected to. |
Default configuration file
config.yml
# __ ______ _____ __ ________________ __ ____
# / / / / / /__________ _/ ___// /_____ _/ __/ __/ ____/ /_ ____ _/ /_/ __ \_________
# / / / / / __/ ___/ __ `/\__ \/ __/ __ `/ /_/ /_/ / / __ \/ __ `/ __/ /_/ / ___/ __ \
# / /_/ / / /_/ / / /_/ /___/ / /_/ /_/ / __/ __/ /___/ / / / /_/ / /_/ ____/ / / /_/ /
# \____/_/\__/_/ \__,_//____/\__/\__,_/_/ /_/ \____/_/ /_/\__,_/\__/_/ /_/ \____/
#
# UltraStaffChatPro v2.0.17 - config.yml - Main configuration file
# Copyright (c) 2022-present Joshua Sing <joshua@hypera.dev>. All Rights Reserved.
#
# Helpful Links
# - Support | https://discord.hypera.dev/
# - Documentation | https://wiki.hypera.dev/ultrastaffchatpro/
#
# User placeholders
# - {player} | Player's username
# - {uuid} | Player's unique id
# - {server} | Player server's name (Proxy only)
# - {afk} | Player AFK status
# - {playtime} | Player's online time
# - {playtime_server} | Player's server online time (Resets when they switch server)
#
# User integration placeholders
# - LuckPerms | {lp_prefix}, {lp_group}, {lp_group_display}, {lp_suffix}, {lp_<meta-key>}
# - Ultra Permissions | {up_prefix}, {up_suffix}
# - PremiumVanish | {vanish}
# - RedisBungee | {proxy_id}
#
# RGB Support
# - RGB Format | `&#aabbcc` (eg. `࡫cc`)
#
# [ UltraStaffChatPro | General Configuration ]
general:
# General | Default console placeholders
console:
# Placeholder | Name
name: "Console"
# Placeholder | Unique ID (UUID)
uuid: "f78a4d8d-d51b-4b39-98a3-230f2de0c670"
# Placeholder | Server
server: "Global"
# General | Unknown server name
unknown-server: "Unknown"
# General | Server display names (Proxy only)
server-display:
# Original name : Display name
lobby: "Lobby"
survival: "SMP"
# General | Disabled servers (Proxy only)
disabled-servers:
- "auth"
# [ UltraStaffChatPro | Placeholder Configuration ]
placeholders:
# Placeholder | Vanish
# This allows you to change the value of the {vanish} placeholder.
# This only works with the PremiumVanish integration.
vanish:
vanished: "&7Vanished | "
not-vanished: ""
# Placeholder | AFK
afk:
afked: "&c&lAFK &7| "
not-afk: ""
# Placeholder | Playtime
# Used for {playtime} and {playtime_server}
# Format placeholders: {hours}, {minutes}, {seconds}
# {hours_total}, {minutes_total}, {seconds_total}
playtime:
enabled: true
format: "{hours}h, {minutes}m, {seconds}s"
# [ UltraStaffChatPro | Discord Configuration ]
discord:
# Discord | Enabled
enabled: false
# Discord | Mode
# Options: "BOT", "WEBHOOK"
mode: "BOT"
# Discord | Bot Configuration
# Only used if 'mode' is set to "BOT"
bot:
# Bot | Token
token: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
# Bot | Discord guild ID
guild: "XXXXXXXXXXXXXXXXXX"
# Bot | Discord channel ID
channel: "XXXXXXXXXXXXXXXXXX"
# Bot | Status
# Options: "ONLINE", "IDLE", "DO_NOT_DISTURB", "INVISIBLE"
status: "ONLINE"
# Bot | Activity
activity:
# Activity | Enabled
enabled: true
# Activity | Type
# Options: "DEFAULT" (Playing), "WATCHING", "LISTENING"
type: "WATCHING"
# Activity | Message
# Placeholders: {online} (Total online players), {count} (Total online staff / People with the StaffList display permission)
message: "{online} players on play.example.net"
# Discord | Webhook Configuration
# Only needed if 'mode' is set to "WEBHOOK"
# Note: Two-way chat requires the use of a bot.
webhook:
# Webhook | Avatar
# Placeholders: {player}, {uuid}
avatar: "https://crafatar.com/avatars/{uuid}.png"
# Webhook | Username
username: "{player}"
# Webhook | URL
url: "https://discord.com/api/webhooks/XXXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
# Discord | Display
display:
# Display | Name
# How should Discord users display in-game?
# Options: "TAG" (Name#1234), "NAME" (Nickname), "USERNAME" (Username)
name: "TAG"
# Display | Server
# What should the {server} placeholder be
# replaced with for people talking from Discord?
server: "Discord"
# Discord | Allowed Mentions
# Options: "ALL" (@everyone, @here, users, roles), "ROLES" (users, roles), "USERS" (users), "NONE"
allowed-mentions: "NONE"
# [ UltraStaffChatPro | StaffChat Configuration ]
staffchat:
# StaffChat | Prefix
prefix:
# Prefix | Enabled
enabled: true
# Prefix | Chat message prefix
prefix: "#"
# StaffChat | Toggle
toggle:
enabled: true
# StaffChat | Mute
mute:
enabled: true
hide-events: false # Should join/switch/leave messages also be hidden?
# StaffChat | Global Mute
global-mute:
enabled: true
# StaffChat | AFK
afk:
enabled: true
auto-unafk: true # Should the user be marked as not afk if they send a message in staff chat?
# StaffChat | Join messages
join:
enabled: true
# StaffChat | Switch messages
switch:
enabled: true
# StaffChat | Leave messages
leave:
enabled: true
# StaffChat | Formatting codes
# Should players be able to use formatting codes in messages?
formatting:
enabled: true
# StaffChat | Console
console:
# StaffChat | Should console receive staffchat messages?
receive-messages: true
# StaffChat | Should console bypass `/scmute`?
bypass-mute: true
# [ UltraStaffChatPro | StaffList Configuration ]
stafflist:
# StaffList | Enabled
enabled: true
# StaffList | Hide vanished players
# Requires PremiumVanish
hide-vanished: true
# StaffList | Sorting
sorting:
# StaffList Sorting | Mode
# Options:
# - GROUP | Sorts the StaffList by groups, ordering the groups by how they are listed.
# Placeholders: {group_display}
# - SERVER | Sorts the StaffList by server name, from A-Z (Proxy only)
# - USERNAME | Sorts the StaffList by username, from A-Z
# - DISABLED | Disables sorting, users will be added to the StaffList as returned by the server
mode: "GROUP"
# StaffList Sorting | Groups
# This is only used if `mode` is set to "GROUP"
groups:
owner:
display: "&cOwners"
permission: "staffchat.group.owner"
admin:
display: "&4Administrators"
permission: "staffchat.group.admin"
moderator:
display: "&cModerators"
permission: "staffchat.group.moderator"
helper:
display: "&eHelpers"
permission: "staffchat.group.helper"
# [ UltraStaffChatPro | MultiChannel Configuration ]
multichannel:
# MultiChannel | Enabled
enabled: true
# MultiChannel | Channels
channels:
# Helper Chat (Example channel)
# This key is used as the main command for the channel.
helperchat:
# MultiChannel | Command aliases
# Set to [] to disable all aliases. Remove line to remove alias.
aliases:
chat:
- "hc"
- "helperstaffchat"
toggle:
- "hctoggle"
mute:
- "hcmute"
global-mute:
- "mutehc"
- "hcglobalmute"
# MultiChannel | Prefix
prefix:
# Prefix | Enabled
enabled: true
# Prefix | Chat message prefix
prefix: "%"
# MultiChannel | Messages
messages:
# Message | Format
# Placeholders: {message}
format: "&7[&e&lH&7] &e{player}&7: &c{message}"
# Message | No permission
no-permission: "&cNo permission."
# Message | Command usage
usage: "&cUsage: /hc <message>"
# MultiChannel | Toggle
toggle:
enabled: true
messages:
toggled-on: "&7[&e&lH&7] &aToggled on."
toggled-off: "&7[&e&lH&7] &cToggled off."
# MultiChannel | Mute
mute:
enabled: true
hide-events: false
messages:
muted: "&7[&e&lH&7] &cMuted."
unmuted: "&7[&e&lH&7] &aUnmuted."
# MultiChannel | Global Mute
global-mute:
enabled: true
messages:
blocked: "&cHelperChat is currently muted."
muted: "&7[&e&lH&7] &cHelperChat was muted by {player}"
unmuted: "&7[&e&lH&7] &aHelperChat was unmuted by {player}"
# MultiChannel | Join messages
join:
enabled: true
message: "&7[&e&lH&7] &e{player} &7joined"
# MultiChannel | Switch messages
# Placeholders: {from}, {to}
switch:
enabled: true
message: "&7[&e&lH&7] &e{player} &7switched from &c{from} &7to &a{to}"
# MultiChannel | Leave messages
leave:
enabled: true
message: "&7[&e&lH&7] &e{player} &7left"
# MultiChannel | Formatting codes
# Should players be able to use formatting codes in messages?
formatting:
enabled: true
# MultiChannel | Console
console:
# MultiChannel | Should console receive messages?
receive-messages: true
# MultiChannel | Should console bypass `/hcmute`?
bypass-mute: true
# MultiChannel | Discord
# This is only used if the Discord integration is enabled.
discord:
# Discord | Enabled
# Should the Discord integration be used for this channel?
enabled: false
# Discord | Guild ID (Server ID)
guild: "XXXXXXXXXXXXXXXXXX"
# Discord | Channel ID
channel: "XXXXXXXXXXXXXXXXXX"
# Discord | Webhook configuration
# This is only used if the Discord integration is configured to use a webhook.
webhook:
# Webhook | Avatar
# Placeholders: {player}, {uuid}
avatar: "https://crafatar.com/avatars/{uuid}.png"
# Webhook | Username
username: "{player}"
# Webhook | URL
url: "https://discord.com/api/webhooks/XXXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
# Discord | MultiChannel message format
message:
# Discord | Mode
# Options: "EMBED", "TEXT"
mode: "EMBED"
# Discord | Embed
# Only needed if 'mode' is set to "EMBED"
embed:
author:
name: "{player}"
url: ""
image: "https://crafatar.com/avatars/{uuid}.png"
title:
text: ""
url: ""
description: "{message}"
color: "#55FFFF"
footer:
text: "UltraStaffChatPro"
icon: ""
image: ""
thumbnail: ""
fields: {} # To use fields, remove '{}' here and uncomment the following lines.
# 1:
# name: "Field 1"
# value: "Test"
# inline: true
# 2:
# name: "Field 2"
# value: "Test"
# inline: true
# Discord | Text
# Only needed if 'mode' is set to "TEXT"
text: "**{player}**: {message}"
# Discord | MultiChannel join message
join:
# Discord | Mode
# Options: "EMBED", "TEXT"
mode: "EMBED"
# Discord | Embed
# Only needed if 'mode' is set to "EMBED"
embed:
author:
name: "{player}"
url: ""
image: "https://crafatar.com/avatars/{uuid}.png"
title:
text: ""
url: ""
description: "{player} joined the server"
color: "#55FFFF"
footer:
text: "UltraStaffChatPro"
icon: ""
image: ""
thumbnail: ""
fields: {} # To use fields, remove '{}' here and uncomment the following lines.
# 1:
# name: "Field 1"
# value: "Test"
# inline: true
# 2:
# name: "Field 2"
# value: "Test"
# inline: true
# Discord | Text
# Only needed if 'mode' is set to "TEXT"
text: "[**+**] {player}"
# Discord | MultiChannel switch message
# Placeholders: {from}, {to}
switch:
# Discord | Mode
# Options: "EMBED", "TEXT"
mode: "EMBED"
# Discord | Embed
# Only needed if 'mode' is set to "EMBED"
embed:
author:
name: "{player}"
url: ""
image: "https://crafatar.com/avatars/{uuid}.png"
title:
text: ""
url: ""
description: "{player} switched from {from} to {to}"
color: "#55FFFF"
footer:
text: "UltraStaffChatPro"
icon: ""
image: ""
thumbnail: ""
fields: {} # To use fields, remove '{}' here and uncomment the following lines.
# 1:
# name: "Field 1"
# value: "Test"
# inline: true
# 2:
# name: "Field 2"
# value: "Test"
# inline: true
# Discord | Text
# Only needed if 'mode' is set to "TEXT"
# Placeholders: {from}, {to}
text: "{player} switched from {from} to {to}"
# Discord | MultiChannel leave message
leave:
# Discord | Mode
# Options: "EMBED", "TEXT"
mode: "EMBED"
# Discord | Embed
# Only needed if 'mode' is set to "EMBED"
embed:
author:
name: "{player}"
url: ""
image: "https://crafatar.com/avatars/{uuid}.png"
title:
text: ""
url: ""
description: "{player} left the server"
color: "#55FFFF"
footer:
text: "UltraStaffChatPro"
icon: ""
image: ""
thumbnail: ""
fields: {} # To use fields, remove '{}' here and uncomment the following lines.
# 1:
# name: "Field 1"
# value: "Test"
# inline: true
# 2:
# name: "Field 2"
# value: "Test"
# inline: true
# Discord | Text
# Only needed if 'mode' is set to "TEXT"
text: "[**-**] {player}"
# Discord | MultiChannel global mute message
global-mute:
# Discord | MultiChannel global mute ON message
muted:
# Discord | Mode
# Options: "EMBED", "TEXT"
mode: "EMBED"
# Discord | Embed
# Only needed if 'mode' is set to "EMBED"
embed:
author:
name: "{player}"
url: ""
image: "https://crafatar.com/avatars/{uuid}.png"
title:
text: ""
url: ""
description: "{player} has globally muted helperchat"
color: "#55FFFF"
footer:
text: "UltraStaffChatPro"
icon: ""
image: ""
thumbnail: ""
fields: {} # To use fields, remove '{}' here and uncomment the following lines.
# 1:
# name: "Field 1"
# value: "Test"
# inline: true
# 2:
# name: "Field 2"
# value: "Test"
# inline: true
# Discord | Text
# Only needed if 'mode' is set to "TEXT"
text: "{player} has globally muted helperchat"
# Discord | MultiChannel global mute OFF message
unmuted:
# Discord | Mode
# Options: "EMBED", "TEXT"
mode: "EMBED"
# Discord | Embed
# Only needed if 'mode' is set to "EMBED"
embed:
author:
name: "{player}"
url: ""
image: "https://crafatar.com/avatars/{uuid}.png"
title:
text: ""
url: ""
description: "{player} has globally unmuted helperchat"
color: "#55FFFF"
footer:
text: "UltraStaffChatPro"
icon: ""
image: ""
thumbnail: ""
fields: {} # To use fields, remove '{}' here and uncomment the following lines.
# 1:
# name: "Field 1"
# value: "Test"
# inline: true
# 2:
# name: "Field 2"
# value: "Test"
# inline: true
# Discord | Text
# Only needed if 'mode' is set to "TEXT"
text: "{player} has globally unmuted helperchat"
# MultiChannel | Permissions
permissions:
talk: "helperchat.talk"
read: "helperchat.read"
toggle: "helperchat.toggle"
mute: "helperchat.mute"
global-mute:
toggle: "helperchat.global-mute"
bypass: "helperchat.global-mute.bypass"
read: "helperchat.global-mute.read" # Permission required to receive global mute message.
join:
send: "helperchat.join"
read: "helperchat.join.read"
switch:
send: "helperchat.switch"
read: "helperchat.switch.read"
leave:
send: "helperchat.leave"
read: "helperchat.leave.read"
# [ UltraStaffChatPro | Permission Configuration ]
permission:
# Permission | StaffChat
staffchat:
talk: "staffchat.talk"
read: "staffchat.read"
toggle: "staffchat.toggle"
mute: "staffchat.mute"
global-mute:
toggle: "staffchat.global-mute"
bypass: "staffchat.global-mute.bypass"
read: "staffchat.global-mute.read" # Permission required to receive the global mute broadcast.
# Permission | StaffList
stafflist:
view: "staffchat.list.view"
view-vanished: "staffchat.list.view-vanished"
display: "staffchat.list"
# Permission | Events
event:
afk:
send: "staffchat.afk"
read: "staffchat.afk.read"
join:
send: "staffchat.join"
read: "staffchat.join.read"
switch:
send: "staffchat.switch"
read: "staffchat.switch.read"
leave:
send: "staffchat.leave"
read: "staffchat.leave.read"
# Permission | UltraStaffChatPro
ultrastaffchatpro:
update: "ultrastaffchatpro.update" # Permission required to receive update notifications.
reload: "ultrastaffchatpro.reload"
debug: "ultrastaffchatpro.debug"
# [ UltraStaffChatPro | Command Configuration ]
# Command | Aliases
aliases:
# Aliases | StaffChat (/staffchat)
staffchat:
- "sc"
- "staffc"
- "schat"
# Aliases | StaffChat Toggle (/sctoggle)
sctoggle:
- "staffchattoggle"
# Aliases | StaffChat Mute (/scmute)
scmute:
- "staffchatmute"
# Aliases | StaffChat Global Mute (/mutesc)
mutesc:
- "scglobalmute"
# Aliases | StaffChat AFK (/scafk)
scafk:
- "staffchatafk"
# Aliases | StaffList (/stafflist)
stafflist:
- "staff"
# [ UltraStaffChatPro | Advanced Configuration ]
advanced:
# Advanced | Update Notifications enabled
# This is recommended if you want to keep USCP up-to-date!
update-notifications: true
# [ UltraStaffChatPro | System Configuration ]
# System | Configuration file version
# Used for making sure this file is up-to-date. - Do not change this!
version: 12
# - You're done!
# Thank you for purchasing and using UltraStaffChatPro!
# If you have any ideas for UltraStaffChatPro, please suggest them at https://feedback.hypera.dev/