- You must use the helper plugin which you can download here.
- Drag the helper plugin to each Spigot/Paper/Bukkit server that you want PlaceholderAPI support on.
- You do not need any additional configuration on the Spigot/Paper/Bukkit server as long as you have PlaceholderAPI installed.
- Set
use-helper
totrue
in theconfig.yml
for the proxy configuration. This will be in your BungeeCord/Velocity server. - Restart or reload the plugin!
/spc-reload
For PlaceholderAPI support, the helper plugin is required. Additionally, PlaceholderAPI placeholders can only be used for Minecraft chat messages. It will not work for join/leave messages.
- Simply place the plugin in your
plugins
folder on BungeeCord/Waterfall/Velocity and restart your proxy!
- Go to discord.com/developers and select New Application. You can select any name you want.
- Go to the OAuth2 section.
- Go to the OAuth2 URL Generator and give it the bot scope.
- Under bot permissions select;
- Manage Channels (REQUIRED: General Permissions)
- Send Messages (REQUIRED: Text Permissions)
- Manage Messages (REQUIRED: Text Permissions)
- Read Message History (REQUIRED: Text Permissions)
- + Any others that you want to add...
- Copy the Generated URL at the bottom.
- Paste the generated URL into a web browser.
- Invite the bot to your server.
- Go back to discord.com/developers.
- Select your bot.
- Click on bot.
- Click Reset Token and copy the token somewhere safe.
- Scroll down to Privileged Gateway Intents.
- Select SERVER MEMBER INTENT and MESSAGE CONTENT INTENT.
- Place the plugin in the
plugins
folder on BungeeCord/Velocity. - Start your server once fully, then stop it. There will be errors, this is normal.
- In the generated
ProxyChat/config.yml
file, paste your Bot Token and choose the appropriate channel you want messages being sent to. - Restart your proxy!
- Global Network Chat
- LuckPerms Support
- LiteBans Support
- AdvancedBan Support
- NetworkManager Support
- Discord Support
- Velocity/Waterfall/BungeeCord Support
- Colored Chat
- Cross-Server Communication
- PlaceholderAPI Support
- ...and more!
config.yml
# ==========================================================
# INFORMATION
# HEX Values are Supported
# Example: <#FFFFFF>Some text</#FFFFFF> this is a message!
# Supports Mini-Message/Legacy Color Codes
# ==========================================================
# True if you will be using Discord. The reload command does not work with this.
use-discord: false
# Discord Bot Token (IGNORE IF use_discord = false).
BOT-TOKEN: "TOKEN_HERE"
# Channel to send Discord messages to (IGNORE IF use_discord = false).
CHANNEL-ID: "GLOBAL_CHANNEL_ID"
bot-activity:
# Valid Types: ONLINE, DO_NOT_DISTURB, IDLE, INVISIBLE
status: ONLINE
# Valid Types: PLAYING, STREAMING, LISTENING, WATCHING, COMPETING, CUSTOM_STATUS
type: "CUSTOM_STATUS"
# Valid placeholders are %online% and/or %max-players% (UPDATES EVERY 5 MINUTES)
text: "%online%/%max-players% - SimpleProxyChat by beanbeanjuice"
# The amount of seconds to check if a server is online/offline.
# Smaller numbers can cause errors. Beware.
server-update-interval: 3
# Use this if you want to change the default aliases.
# It MUST be the same name you have in your bungee/velocity config.
# Simply set it to disabled: disabled to disable it.
aliases:
ServerInConfigExample: ServerAliasExample
hub: Hub1
smp: smp1
# Whether to use the permission system.
# Some permissions (denoted with ➕) are always active even if this is false.
# simpleproxychat.read.chat - Read chat messages.
# simpleproxychat.read.join - Read join messages.
# simpleproxychat.read.leave - Read leave messages.
# simpleproxychat.read.fake - Read the fake join/leave messages. Players must also have the REAL join/leave permission.
# simpleproxychat.read.switch - Read switch messages.
# simpleproxychat.read.update - Read update messages. ➕
# simpleproxychat.toggle.chat - Toggle proxy chat for a single server. ➕
# simpleproxychat.toggle.chat.all - Toggle proxy chat for all servers. ➕
# simpleproxychat.reload - Reload the config. ➕
# simpleproxychat.ban - Ban a player from the proxy. ➕
# simpleproxychat.unban - Unban a player from the proxy. ➕
# simpleproxychat.whisper - Whisper to another player on the proxy. ➕
# simpleproxychat.broadcast - Broadcast a message to everyone on the server. ➕
use-permissions: false
# Only messages that start with this character will be sent through the plugin.
# Set to '' to disable.
# Example: If it is set to '$', then when a player sends $hello, it will be sent through the proxy.
proxy-message-prefix: ''
# Whether to send if the statuses of the servers connected to the proxy when the proxy starts up.
# THIS IS FOR DISCORD MESSAGES ONLY.
use-initial-server-status: true
# Whether to send a fake join/leave message when vanishing/unvanishing.
use-fake-messages: true
# Format: https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
# Timezone: https://www.joda.org/joda-time/timezones.html
timestamp:
# If your server is prone to getting off-sync on the time you can use an API.
# WARNING: Using the API will make messages somewhat longer to send.
# Additionally, the maximum accuracy will only be up to 1 minute, rather than seconds.
use-api: false
format: "hh:mm a"
timezone: "America/Los_Angeles"
# True if you will be using the helper plugin.
use-helper: false
update-notifications: true
# It is HIGHLY recommended to use a more robust proxy-wide banning system such as LiteBans or AdvancedBan.
# However, if you would rather a light-weight, simple, banning system. You can enable it here.
# A FULL PROXY RESTART IS REQUIRED TO USE THIS.
use-simple-proxy-chat-banning-system: false
# This will store and re-send the last few chat messages when a player switches servers.
# This is here because sometimes Velocity/Bungee does not keep the previous messages when switching.
# This WILL retain old formatting if you change the formatting prior to reloading.
send-previous-messages-on-switch:
enabled: false
amount: 15
# These require a restart in order to take place.
commands:
reload-aliases:
- "spcreload"
chat-toggle-aliases:
- "chattoggle"
ban-aliases:
- "spcban"
unban-aliases:
- "spcunban"
whisper-aliases:
- "spc-msg"
reply-aliases:
- "spc-r"
broadcast-aliases:
- "spc-bc"
- "broadcast"
# Disable servers from sending/receiving proxy messages.
disabled-servers:
- example1
# DO NOT TOUCH THIS
file-version: 15
messages.yml
# ==========================================================
# INFORMATION
# HEX Values are Supported
# Example: <#FFFFFF>Some text</#FFFFFF> this is a message!
# Supports Mini-Message/Legacy Color Codes
# ==========================================================
# Prefix for the plugin. %plugin-prefix% usable anywhere.
plugin-prefix: "&8[<bold><rainbow>SimpleProxyChat&r&8]"
# Minecraft Stuff
minecraft:
join:
enabled: true
message: "&e%player% &ahas joined the network. (%server%)"
leave:
enabled: true
message: "&e%player% &chas left the network. (%server%)"
chat:
enabled: true
message: "&8[&3%server%&8] &e%player% &9» &7%message%"
vanished: "&cYou cannot send proxy messages while vanished. Your message must end with a '&e/&c' to speak."
switch:
enabled: true
default: "&e%player% &7moved from &c%from% &7to &a%to%&7."
no-from: "&e%player% &7moved &7to &a%to%&7."
whisper:
send: "&8[&dyou&8] &f⇒ &8[&d%receiver%&8] &9» &e%message%"
receive: "&8[&d%sender%&8] &f⇒ &8[&dyou&8] &9» &e%message%"
error: "&c/spc-whisper (user) (message)"
discord:
enabled: true
message: "**%server%** %player% » %message%"
embed:
use: false
title: "[%server%] %player%"
message: "%message%"
color: "#FFC0CB"
use-timestamp: true
command:
no-permission: "%plugin-prefix% &cSorry, you do not have permission to run this command."
unknown: "%plugin-prefix% &cUnknown command."
must-be-player: "%plugin-prefix% &cYou must be a player to run this command."
reload: "%plugin-prefix% &aThe plugin has been successfully reloaded!"
chat-lock:
usage: "%plugin-prefix% &cCorrect usage is &a/spc-chat all lock/unlock &c or &a/spc-chat lock/unlock"
single:
locked: "%plugin-prefix% &6%server% &cwill no longer send proxy chat messages."
unlocked: "%plugin-prefix% &6%server% &awill now send proxy chat messages."
all:
locked: "%plugin-prefix% &cAll servers will no longer send proxy chat messages."
unlocked: "%plugin-prefix% &aAll servers will now send proxy chat messages."
proxy-ban:
usage: "%plugin-prefix% &c/(un)ban (player)"
banned: "%plugin-prefix% &c%player% &7has been banned."
unbanned: "%plugin-prefix% &c%player% &7has been unbanned."
login-message: "&cYou have been banned from the proxy."
broadcast:
usage: "%plugin-prefix% &c/spc-broadcast (message)"
message: "%plugin-prefix% &8[&a&lBROADCAST&r&8] &6%message%"
# Discord Stuff
discord:
join:
enabled: true
message: "%player% has joined the network. (%server%)"
use-timestamp: true
# Incompatible with use-timestamp.
use-embed: true
leave:
enabled: true
message: "%player% has left the network. (%server%)"
use-timestamp: true
# Incompatible with use-timestamp.
use-embed: true
switch:
enabled: true
message: "%player% has switched from %from% to %to%."
use-timestamp: true
# Incompatible with use-timestamp.
use-embed: true
chat:
enabled: true
minecraft-message: "&8[&bDiscord&8] %role% &f%user% &9» &7%message%"
topic:
online: "There are %online% players online."
offline: "The proxy is offline."
proxy-status:
enabled: true
messages:
enabled: "✅ Proxy enabled!"
disabled: "⛔ Proxy disabled."
title: "Server Status"
message: "Status: "
online: "Online ✅"
offline: "Offline ⛔"
use-timestamp: true
# Console Stuff - Uses Minecraft Messages
console:
chat: true
join: true
leave: true
switch: true
discord-chat: true
server-status: true
# The message for any updates that are sent.
# The plugin-prefix is automatically appended to the beginning of this message.
update-message: "&7There is an update! You are on &c%old%. New version is &a%new%&7: &6%link%"
# DO NOT TOUCH THIS
file-version: 10
/spc-reload
- Reloads the config files./spc-chat
- Lock/unlock the chat./spc-whipser
- Send a private message to someone./spc-reply
- Reply to a private message without specifying a user./spc-ban
- Ban a player from the proxy./spc-unban
- Unban a player from the proxy./spc-broadcast
- Broadcast a message to every player on the network.
simpleproxychat.read.chat
- Read chat messages.simpleproxychat.read.join
- Read join messages.simpleproxychat.read.leave
- Read leave messages.simpleproxychat.read.fake
- Read fake join/leave messages. Must have the real permission too.simpleproxychat.read.switch
- Read switch messages.simpleproxychat.read.update
- Read update notifications.simpleproxychat.toggle.chat
- Toggle proxy chat for a single server.simpleproxychat.toggle.chat.all
- Toggle proxy chat for all servers.simpleproxychat.reload
- Reload the config.simpleproxychat.ban
- Ban someone.simpleproxychat.unban
- Unban someone.simpleproxychat.whisper
- Private messaging permissions.simpleproxychat.broadcast
- Broadcast a message to everyone on the server.
%plugin-prefix%
- The plugin's designated prefix.%server%
- The current connected server. Uses the alias if one is specified.%original_server%
- Same as%server%
, but does not use the alias.%to%
- The current connected server. Uses the alias if one is specified.%original_to%
- Same as%to%
, but does not use the alias.%from%
- The server the player just disconnected from. Uses the alias if one is specified.%original_from%
- Same as%from%
, but does not use the alias.%player%
- The player's Minecraft username.%escaped_player%
- The escaped player's Minecraft username. (Adds '\' before the '_' to prevent italics.)%sender%
- The person sending the private message. Private Messaging Only%receiver%
- The person receiving the private message. Private Messaging Only%user%
- The player's Discord username.%nick%
- The player's Discord nickname.%role%
- The player's Discord role.%prefix%
- The player's prefix. LuckPerms Only%suffix%
- The player's suffix. LuckPerms Only%message%
- The player's message.%epoch%
- This gets the current time (in milliseconds). Formats can be used like this. An example would be<t:%epoch%>
. Discord Only%time%
- Similar to%epoch%
, but uses a special formatting and timezone found inconfig.yml
.%online%
- Discord Status Only%max-players%
- Discord Status Only
- As of right now, vanish support is only available on BungeeCord/Waterfall. The plugin will still function as normal, but if you go into vanish then it won't send a fake join/leave message.
- In order for prefixes and suffixes to work, you must have LuckPerms installed on the proxy. Then, you can use
%prefix%
and%suffix%
. %epoch%
and the timestamps only work in certain places on Discord. As an alternative, you can select some of the embeds to haveuse-timestamp: true
. This is out of my control sadly... 😔