SimpleProxyChat
This is a Bungeecord Chat Sync, Velocity Chat Sync, and Proxy Chat Sync plugin. It is a simple plugin to allow global cross-server communication and messaging with support for PlaceholderAPI, LuckPerms, LiteBans, AdvancedBan, NetworkManager, and Discord.
—
### With PlaceholderAPI
1) You **must** use the *helper plugin* which you can download [here](https://www.spigotmc.org/resources/116966/).
1) 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.
1) Set `use-helper` to `true` in the `config.yml` for the proxy configuration. This will be in your **BungeeCord/Velocity** server.
1) 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.
### Without Discord
1) Simply place the plugin in your `plugins` folder on **BungeeCord/Waterfall/Velocity** and restart your proxy!
### With Discord
1) Go to discord.com/developers and select **New Application**. You can select *any* name you want.
1) Go to the **OAuth2** section.
1) Go to the **OAuth2 URL Generator** and give it the **bot** scope.
1) 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…*
1) Copy the **Generated URL** at the bottom.
1) Paste the generated URL into a web browser.
1) Invite the bot to your server.
1) Go back to discord.com/developers.
1) Select your bot.
1) Click on **bot**.
1) Click **Reset Token** and copy the token somewhere safe.
1) Scroll down to **Privileged Gateway Intents**.
1) Select **SERVER MEMBER INTENT** and **MESSAGE CONTENT INTENT**.
1) Place the plugin in the `plugins` folder on **BungeeCord/Velocity**.
1) Start your server once *fully*, then stop it. There *will* be errors, this is normal.
1) In the generated `ProxyChat/config.yml` file, paste your **Bot Token** and choose the appropriate channel you want messages being sent to.
1) 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**
“`YAML
# ==========================================================
# 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**
“`YAML
# ==========================================================
# 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[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](https://gist.github.com/LeviSnoot/d9147767abeef2f770e9ddcd91eb85aa). An example would be ``. **Discord Only**
* `%time%` – Similar to `%epoch%`, but uses a special formatting and timezone found in `config.yml`.
* `%online%` – **Discord Status Only**
* `%max-players%` – **Discord Status Only**
—
1) 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.
1) In order for prefixes and suffixes to work, you **must** have LuckPerms installed on the proxy. Then, you can use `%prefix%` and `%suffix%`.
1) `%epoch%` and the timestamps only work in certain places on Discord. As an alternative, you can select some of the embeds to have `use-timestamp: true`. This is out of my control sadly… 😔
—
### Velocity Statistics

### BungeeCord/Waterfall Statistics

SimpleCloud Api Plugin
# Cloud API
![Banner][banner]
[![Modrinth][badge-modrinth]][modrinth]
[![Dev][badge-dev]][dev]
[![License][badge-license]][license]
[![Discord][badge-discord]][social-discord]
[![Follow @simplecloudapp][badge-x]][social-x]
[![Follow @simplecloudapp][badge-bluesky]][social-bluesky]
[![Follow @simplecloudapp][badge-youtube]][social-youtube]
[Report a Bug][issue-bug-report]
·
[Request a Feature][issue-feature-request]
🌟 Give us a star — your support means the world to us!
> All information about this project can be found in our detailed [documentation][docs-thisproject].
This Project aims to provide very easy API access. This project fixes all dependency issues that were present before.
Just include the platform jar as a plugin and use the dependency as described below.
> [!CAUTION]
> Paper specific API is very experimental and unstable. Use Spigot API if you are running paper!
## Features
– [x] **Easy API Use**: Just add the plugin to your server and include the api as a provided artifact.
– [x] **Supported Server Software**: Supports Spigot & Forks, BungeeCord and Velocity.
– [ ] **Easy API access**: Use every api method we provide, just from one interface.
## Usage
### 1. Depend on `simplecloud-api`
### 2. Use APIs
> For always up-to-date artifacts visit [dev artifacts][dev-artifacts] or [artifacts][artifacts].
> Note: If you want to use the dev version, you have to use the [snapshot repository][snapshots].
#### Gradle Kotlin
“`kt
// Use Controller API if you want
compileOnly(“app.simplecloud.controller:controller-api:VERSION”)
// Use Player API if you want
compileOnly(“app.simplecloud.controller:controller-api:VERSION”)
“`
#### Gradle Groovy
“`groovy
// Use Controller API if you want
compileOnly ‘app.simplecloud.controller:controller-api:VERSION’
// Use Player API if you want
compileOnly ‘app.simplecloud.controller:controller-api:VERSION’
“`
#### Maven
“`xml
app.simplecloud.controller
controller-api
VERSION
provided
app.simplecloud.droplet.player
player-api
VERSION
provided
“`
## Contributing
Contributions to SimpleCloud are welcome and highly appreciated. However, before you jump right into it, we would like
you to read our [Contribution Guide][docs-contribute].
## License
This repository is licensed under [Apache 2.0][license].
[banner]: https://simplecloud.app/api/banner/Cloud%20API
[issue-bug-report]: https://github.com/simplecloudapp/cloud-api/issues/new?labels=bug&projects=template=01_BUG-REPORT.yml&title=%5BBUG%5D+%3Ctitle%3E
[issue-feature-request]: https://github.com/simplecloudapp/cloud-api/discussions/new?category=ideas
[docs-thisproject]: https://docs.simplecloud.app/api
[docs-contribute]: https://docs.simplecloud.app/contribute
[modrinth]: https://modrinth.com/organization/simplecloud
[dev]: https://repo.simplecloud.app/#/snapshots/app/simplecloud/cloud-api
[artifacts]: https://repo.simplecloud.app/#/snapshots/app/simplecloud/api/cloud-api
[dev-artifacts]: https://repo.simplecloud.app/#/snapshots/app/simplecloud/cloud-api
[badge-maven-central]: https://img.shields.io/maven-central/v/app.simplecloud.api/cloud-api?labelColor=18181b&style=flat-square&color=65a30d&label=Release
[badge-dev]: https://repo.simplecloud.app/api/badge/latest/snapshots/app/simplecloud/api/cloud-api?name=Dev&style=flat-square&color=0ea5e9
[license]: https://opensource.org/licenses/Apache-2.0
[snapshots]: https://repo.simplecloud.app/#/snapshots
[social-x]: https://x.com/simplecloudapp
[social-bluesky]: https://bsky.app/profile/simplecloud.app
[social-youtube]: https://www.youtube.com/@thesimplecloud9075
[social-discord]: https://discord.simplecloud.app
[badge-modrinth]: https://img.shields.io/badge/modrinth-18181b.svg?style=flat-square&logo=modrinth
[badge-license]: https://img.shields.io/badge/apache%202.0-blue.svg?style=flat-square&label=license&labelColor=18181b&style=flat-square&color=e11d48
[badge-discord]: https://img.shields.io/badge/Community_Discord-d95652.svg?style=flat-square&logo=discord&color=27272a
[badge-x]: https://img.shields.io/badge/[email protected]?style=flat-square&logo=x&color=27272a
[badge-bluesky]: https://img.shields.io/badge/[email protected]?style=flat-square&logo=bluesky&color=27272a
[badge-youtube]: https://img.shields.io/badge/youtube-d95652.svg?style=flat-square&logo=youtube&color=27272a
Simple Voice Chat
[Modrinth](https://modrinth.com/mod/simple-voice-chat)
|
[CurseForge](https://legacy.curseforge.com/minecraft/mc-mods/simple-voice-chat)
|
[Discord](https://discord.gg/4dH2zwTmyX)
|
[Wiki](https://modrepo.de/minecraft/voicechat/wiki)
|
[FAQ](https://modrepo.de/minecraft/voicechat/faq)
|
[Credits](https://modrepo.de/minecraft/voicechat/credits)
|
[API](https://modrepo.de/minecraft/voicechat/api)
# Simple Voice Chat
A proximity voice chat for Minecraft with a variety of [addons](https://modrepo.de/minecraft/voicechat/addons) that offer additional features and functionalities.
⚠️ **NOTE** This mod requires special setup on the server in order to work.
Please read the [wiki](https://modrepo.de/minecraft/voicechat/wiki/setup) for more information.

Please join the Discord if you have questions!
## Downloads
– [Fabric](https://modrinth.com/mod/simple-voice-chat/versions?l=fabric)
– [NeoForge](https://modrinth.com/mod/simple-voice-chat/versions?l=neoforge)
– [Forge](https://modrinth.com/mod/simple-voice-chat/versions?l=forge)
– [Bukkit/Spigot/Paper](https://modrinth.com/plugin/simple-voice-chat/versions?l=bukkit)
– [Quilt](https://modrinth.com/mod/simple-voice-chat/versions?l=quilt)
– [Velocity](https://modrinth.com/mod/simple-voice-chat/versions?l=velocity)
– [BungeeCord/Waterfall](https://modrinth.com/mod/simple-voice-chat/versions?l=bungeecord)
## Features
– Push to talk
– Voice activation
– Proximity voice chat
– Password protected groups
– Automatic voice activity detection
– Automatic microphone gain adjustment
– [Opus codec](https://opus-codec.org/)
– [RNNoise](https://jmvalin.ca/demo/rnnoise/) recurrent neural network noise suppression
– OpenAL audio
– Cross compatibility between Fabric, NeoForge, Forge, Quilt, Bukkit, Spigot and Paper
– Support for Velocity, BungeeCord and Waterfall
– Compatibility with [ModMenu](https://modrinth.com/mod/modmenu) (Use [ClothConfig](https://modrinth.com/mod/cloth-config) for a better configuration UI)
– Configurable push to talk key
– Microphone and speaker test playback
– Configurable voice distance
– Whispering
– Individual player volume adjustment
– Microphone amplification
– 3D sound
– AES encryption
– Audio recording with separate audio tracks
– A powerful [API](https://modrepo.de/minecraft/voicechat/api)
– Many [addons](https://modrepo.de/minecraft/voicechat/addons)
## Icons
| Icon | Description |
|:————————————:|——————————————————-|
|  | You are talking |
|  | You are whispering |
|  | Player is talking |
|  | Player is whispering |
|  | Microphone muted |
|  | Voice chat disabled |
|  | Voice chat not connected
Voice chat not installed |
## The GUI
You can open the voice chat GUI by pressing the `V` key.
This allows you to open the settings, group chats, mute yourself, disable the voice chat, start/stop a recording and hide all icons.

### Group Chats
Group chats allow you to talk to players that are not in your vicinity.
To open the group chat interface, either press the group button in the voice chat GUI or just press the group key.
To create a new group, just type a name in the text field and press the button at the bottom.

Creating or joining a group will bring you into the group chat interface.
You will also see the heads of the group members in the top left corner of your screen.
Talking players will be outlined.
You can disable these icons by pressing the third button from the left.

Players that are not in a group will see a group icon next to your head, indicating that you are in a group.
You can invite players to your group chat by entering the command `/voicechat invite ` or from the social interactions screen.
### Settings
You can access the voice chat settings by pressing the `V` key and pressing the settings button.
This menu offers the ability to set up your voice chat audio settings.
By clicking the microphone button, you can test your microphone activation.

## Important Notes
You need to open a port on the server. This is port `24454` `UDP` by default.
Without opening this port, the voice chat will not work.
This port can be changed in the server config.
More information [here](https://modrepo.de/minecraft/voicechat/wiki/setup).
The voice chat is encrypted, but we don’t guarantee the security of it. Use at your own risk!
Simple Portals Replugined
## **Important Notice**
This plugin is an replugined version of a plugin that reached the end of support. The original Creator is XZot1K & AlessioGR contributated. [Link to the Original](https://www.spigotmc.org/resources/%E2%8D%9F-simple-portals-%E2%8D%9F-effective-regional-portals-bungeecord-compatible.56772/). This plugin is the majority of their work & only minor changes have been added to so far from the_n1n
# Simple Portals
Simple Portals is the simplest, yet effective way to create region-based portals. The plugin was heavily tested on many large live servers and put under stress to ensure performance was optimal. Simple Portals also allows the teleporting of players across your bungee cord server without even using the bungee cord API!
## Features
– **Cross-Server Portals** – transfer players to other server even at specific locations with the help of MySQL
– **Fancy Visuals** – selections and region display are highlighted with particles
– **No Dependencies** – the plugin is standalone
– **Per-Portal Permissions** – control which portals players can access
– **Command Sympathy** – abbreviations are available for easier use
– **Flow Control** – Fluids are frozen in the portal regions
– **Lightweight Update Checker** – your configs will always be up-to-date
– **Powerful Developer API** – full control over the plugin at your finger tips
– **Simple To Manipulate** – all commands and features are made to be used with ease
– **Entity Portal Transfer** – entities like items or vehicles can all teleport through portals maintaining velocity
– **Nether/End Portal Destination Replacement** – Ability to replace the destination of all nether/end portals in any world
– **Force Join** – Ability to force a player to return to spawn of a specified world upon joining the server
## Commands
(Note: By typing an invalid command, a usage message will be displayed.)
– `/simpleportals selectionmode` (or sm) – Toggles the player in and out of selection mode which allows them to create a region.
– `/simpleportals reload` – reloads all configurations.
– `/simpleportals info` – provides information about the plugin.
– `/simpleportals create ` – creates a new portal if the player’s region is full created.
– `/simpleportals delete ` – deletes a existing portal.
– `/simpleportals fill ` – attempts to fill the portal with the defined material (directional support is partial, meaning some materials may be better placed or created before portal creation).
– `/simpleportals setlocation ` (or sl) – sets the teleport location of the specified portal to the sender’s location.
– `/simpleportals setlocation ` (or sl)- sets the teleport location of the specified portal to the center of the other entered portal.
– `/simpleportals ` (or sr)- displays the specified portal’s region.
– `/simpleportals ` – enables/disabled the portal entirely untiled toggled again
– `/simpleportals switchserver ` (or ss) – sets the server the portal will teleport a player to.
Please note that to remove a server from a portal you must set it to ‘none’.
– `/simpleportals setswitchlocation ` (or ssl) – sets the destination of the portal when transferring to another server
– `/simpleportals addcommand ` (or addcmd) – this command adds a command line that will be run when a player enters the portal (You are able to add a colon followed by PLAYER or CONSOLE to the end of the command to determine how the command is run).
– `/simpleportals clearcommands ` (or clearcmds) – this command simply clears the commands in the list.
– `/simpleportals togglecommandonly ` (or tco) – this command toggles command only mode for a portal.
– `/simpleportals commands ` (or cmds) – provides a list of all commands on the defined warp in the order they were added.
– `/simpleportals message ` – sets the message of the specified portal to the specified text (A colon followed by NORMAL, BAR, TITLE, or SUBTITLE can be used to define the type of message to be set).
– `/simpleportals disablemessages ` (or dm) – disables all messages associated with the defined portal.
– `/simpleportals cooldown ` – sets the cooldown for the specified portal, in seconds.
– `/simpleportals delay ` – sets the delay for the specified portal, in seconds.
– `/simpleportals find ` – finds 3 nearby portals within the specified range.
## Permissions
– `simpleportals.showregion` – Allows the player to view a portal’s region.
– `simpleportals.setlocation` – Allows the player to set a portal’s teleport location.
– `simpleportals.info` – Allows the player to view the plugin’s information.
– `simpleportals.reload` – Allows the player to reload the configuration files.
– `simpleportals.create` – Allows the player to create a portal.
– `simpleportals.delete` – Allows the player to delete a portal.
– `simpleportals.list` – Allows the player to list all portals.
– `simpleportals.switchserver` – Allows the player to change the server a portal can teleport a player to using BungeeCord.
– `simpleportals.setswitchlocation` – Allows the player to set a portal’s switch server location.
– `simpleportals.selectionmode` – Allows the player to enter/exit selection mode.
– `simpleportals.portal.*` – Allows the player to use all portals.
– `simpleportals.portal.` – Allows the player to use the specified portal.
– `simpleportals.addcommand` – Allows the player to add a command to the specified portal.
– `simpleportals.clearcommands` – Allows the player to clear all commands from the specified portal.
– `simpleportals.togglecommandonly` – Allows the player to toggle command only mode for a portal.
– `simpleportals.viewcommands` – Allows the player to view the commands of a portal.
– `simpleportals.toggle` – Allows the player to toggle a portal entirely.
– `simpleportals.message` – Allows the sender to use the message command for portals.
– `simpleportals.dm` – Allows the sender to use the disable messages command for portals.
– `simpleportals.fill` – Grants access to the portal fill commands.
– `simpleportals.cooldown` – Allows the sender to use the /simpleportals cooldown command.
– `simpleportals.delay` – Allows the sender to use the /simpleportals delay command.
– `simpleportals.find` – Allows the sender to use the /simpleportals find command.
– `simpleportals.admin` – Gives the player permission to everything in the plugin.
– `simpleportals.cdbypass` – Allows the player to bypass the portal cooldowns.
– `simpleportals.use` – Allows the sender to use the basic /simpleportals command.
### Servers Using SimplePortals:
** [Skade Gaming](https://skadegaming.com/) | This server has over 2500 Portals!**
Below is a very brief look at the region visual display during the portal create process:

## Plugin Usage
SimplePortals is made to be, well… simple! Therefore the portal creation process is quite straightforward. Please find instruction below:
[NOTE] – The “Selection Mode” command is a toggle, meaning when ran once it will enable and twice it will disable.
1. In order to create a portal, you must first enter “selection mode” by using the command “/portals selectionmode” or “/portals sm”.
2. The next step is to “left-click” the lowest block at the end of a cuboid or rectangular region and then “right-click” the highest block in the opposite corner of the region. This will set your current selection for any portals you wish to create soon.
3. To finish off the portal creation process you must use the command “/portals create ” to create the portal using your WorldEdit-Like selection.
4. From this point, you have a created portal. Now by default the destination, the portal will teleport the user to will always be set to the lowest-block or Point-1. To change the portal’s destination, use the command “/portals setlocation” or “/portals sl” at the location you wish your portal to take you to.
Below is some extra information:
You can fill a portal’s region with a specific material by using the “/portals fill ” command (Don’t worry all liquid-based materials will not flow out of the region).
You can relocate the portal’s region by using the “/portals relocate ” command after making another selection in “selection mode”.
For commands and some other features in the plugin, use {player} as the placeholder to obtain the player’s name.
To make a portal teleport the player to another server via Bungee simply set the server name using the command “/portals ss “. You can set this value to “none” to disable the feature for a portal.
Don’t forget to set the destination coordinates with “/simpleportals “.
You may also send commands with the player to execute when they join the server by adding commands to the origin portal.
As for adding commands to be run by the portal when entered you can add them using the “/portals addcmd :” command, where is PLAYER, CONSOLE or CHAT.
To remove the commands you may use the “/portals clearcommands ”
**Command Examples**:
“`:
“/portals addcmd example-portal rtp:PLAYER”
This command will run /rtp as if the player sent the command.
“/portals addcmd example-portal rtp {player}:CONSOLE”
This command will run /rtp as if the player sent the command.
“/portals addcmd example-portal rtp:CHAT”
This command will run /rtp as if the player typed it AS IS into chat.
No, /rtp is not a feature of SimplePortals.
“`
When adding a command ensure NOT to use a slash.
Always END IT WITH A COLON followed by either PLAYER or CONSOLE. Another that can be used since v1.3.6 is CHAT which sends the command into chat for other plugins to use as fake commands!
Similar to command adding, setting a portal’s message requires a type. Behind the entered text, simply add either :NORMAL, ‘:BAR, :TITLE, or :SUBTITLE to indicate which message should be set (INCLUDE THE COLONS). This is the same concept as adding commands.
### Developer API ⍟
Currently, everything in the API can be found in the API package inside the plugin which can be found on the GitHub page. However, below you can find the API class names and their purpose.
– Manager (Class) – this stores all general methods, calculations, and storage lists or maps.
– PointType (Enum) – this is used inside the listener for the region selection.
– Portal (Class Object) – this is an entire object that stores all information about a single portal.
– Region (Class Object) – this is an entire object that stores all information about a region (Coordinates and Locations).
– SerializableLocation (Class Object) – this is used to serialize a location and prevent future changes to the same location.
– TaskHolder (Class Object) – this is used to store the visual effect tasks for each player. This class also manages them to make sure not too many are shown at once.
– PortalEnterEvent (Event Object) – this event is called when a player enters a portal’s region.
## FAQ
(Q) Users are teleported to the nether/end when using a dedicated portal material for a simple portal.
(A) This issue has been reported before, a majority of the time this is due to world manipulation plugins such as Multiverse or MultiWorld. Please ensure you test without the world plugin and also use their latest build (dev build) to ensure it was not something that was resolved. You can also increase the time for vanilla portals with the vanilla gamerule command!
(Q) I’m getting an error/message involving the “simpleportals.cdbypass” permission node. How can I resolve this?
(A) This is not actually an issue, the message is to notify the user who is either OP or has the permission that they have bypassed the cooldown for the feature. This message can be disabled by setting it to “” in the lang.yml.
(Q) I’m getting an error in the console and I’m unable to teleport or use portals in general. How can I resolve this?
(A) The plugin is native to the latest version of Minecraft; therefore, older versions may need tweaking within the configuration. Normally in this case setting the particle options in the config.yml will resolve this issue for you.
(Q) How can I disable the portal titles, action bar, or subtitle messages?
(A) If the portal has not been created yet, setting the default messages in the lang.yml will disable them for all newly created portals. For already made portals you must either disable the plugin and set the messages to “” in the portals.yml or use the “/portals message :NORMAL”, “/portals message :BAR”, “/portals message :TITLE”, or “/portals message :SUB-TITLE” commands to simply disable each one individually. As of v1.5.1, the command “/portals dm ” can be used to disable messages.
Simple Lobby Proxy
**It’s Finally here!**
**An easy to use VELOCITY Plugin to easier setup _/lobby_ Commands!**
**On every Backend Server is the _/lobby_ Command Available!**
🛠️**Install:**
– **Only install it on your Proxy Server _NOT_ the Backend Servers!**
– **1.16.x – 1.21.x for Velocity and BungeeCord!**
ShortCMD
### [Look before you put it on the server](https://pastebin.com/raw/GhT5Lytb)
# ShortCmd – Plugin for executing commands from URLs | Плагин для выполнения команд из URL
## English
### Description
ShortCmd is a Minecraft server plugin that allows executing commands from external sources (like Pastebin) or saving them for later use. The plugin provides a convenient interface for managing and executing commands.
### Key Features
– **Execute commands from URLs/Pastebin**
– **Save commands and links for reuse**
– **Manage saved commands (run/delete)**
– **Flexible security settings**
– **Multi-language support (English/Russian)**
– **Different execution modes (as console or player)**
### Installation
1. Download the plugin file (ShortCmd.jar)
2. Place it in your server’s `plugins` folder
3. Restart the server
### Commands
Main command: `/shortcmd` or `/scmd` (alias)
Available subcommands:
| Command | Description | Permission |
|—————|———————————————–|———————|
| help | Show help menu | shortcmd.help |
| run | Execute commands from URL/Pastebin | shortcmd.run |
| save | Save command link | shortcmd.save |
| savecmd [name] | Download and save commands from URL | shortcmd.savecmd |
| storage | Manage saved commands | shortcmd.storage |
| lang | Change language | shortcmd.lang |
| mode | Change execution mode | shortcmd.mode |
| reload | Reload configuration | shortcmd.reload |
### Permissions
All permissions default to server operators (`default: op`):
– `shortcmd.help` – access to help
– `shortcmd.run` – execute commands from URLs
– `shortcmd.save` – save links
– `shortcmd.savecmd` – save commands
– `shortcmd.storage` – manage storage
– `shortcmd.lang` – change language
– `shortcmd.mode` – change execution mode
– `shortcmd.reload` – reload configuration
– `shortcmd.*` – all plugin permissions
### Configuration
Main settings in `config.yml`:
“`yaml
# Blocked commands
blocked-commands:
– op
– stop
– reload
– plugman
language: en # en/ru
# Timeouts in milliseconds
timeouts:
connect: 10000 # Connection timeout
read: 10000 # Read timeout
internet-check: 3000 # Internet check
command-delay: 100 # Delay between commands
“`
—
## Русская
### Описание
ShortCmd – это плагин для Minecraft серверов, который позволяет выполнять команды из внешних источников (например, Pastebin) или сохранять их для последующего использования. Плагин предоставляет удобный интерфейс для управления командами и их выполнения.
### Основные возможности
– **Выполнение команд из URL/Pastebin**
– **Сохранение команд и ссылок для повторного использования**
– **Управление сохранёнными командами (запуск/удаление)**
– **Гибкие настройки безопасности**
– **Поддержка двух языков (русский/английский)**
– **Различные режимы выполнения команд (от имени консоли или игрока)**
### Установка
1. Скачайте файл плагина (ShortCmd.jar)
2. Поместите его в папку `plugins` вашего сервера
3. Перезапустите сервер
### Команды
Основная команда: `/shortcmd` или `/scmd` (алиас)
Доступные подкоманды:
| Команда | Описание | Разрешение |
|—————|———————————————–|———————|
| help | Показать справку | shortcmd.help |
| run | Выполнить команды из URL/Pastebin | shortcmd.run |
| save | Сохранить ссылку на команды | shortcmd.save |
| savecmd [name] | Скачать и сохранить команды из URL | shortcmd.savecmd |
| storage | Управление сохранёнными командами | shortcmd.storage |
| lang | Изменить язык | shortcmd.lang |
| mode | Изменить режим выполнения команд | shortcmd.mode |
| reload | Перезагрузить конфигурацию | shortcmd.reload |
### Разрешения
Все разрешения по умолчанию выдаются операторам сервера (`default: op`):
– `shortcmd.help` – доступ к справке
– `shortcmd.run` – выполнение команд из URL
– `shortcmd.save` – сохранение ссылок
– `shortcmd.savecmd` – сохранение команд
– `shortcmd.storage` – управление хранилищем
– `shortcmd.lang` – изменение языка
– `shortcmd.mode` – изменение режима выполнения
– `shortcmd.reload` – перезагрузка конфигурации
– `shortcmd.*` – все разрешения плагина
### Конфигурация
Основные настройки в `config.yml`:
“`yaml
# Заблокированные команды
blocked-commands:
– op
– stop
– reload
– plugman
language: ru # ru/en
# Таймауты в миллисекундах
timeouts:
connect: 10000 # Таймаут подключения
read: 10000 # Таймаут чтения
internet-check: 3000 # Проверка интернета
command-delay: 100 # Задержка между командами
“`
### Лицензия
Плагин распространяется под лицензией MIT. Подробнее см. в файле LICENSE.
EternalFriends Old
# ShadowFriends
### Sistema Global de Amigos para BungeeCord • Global Friends System for BungeeCord
—
## Descripción General / Overview
**ES:**
ShadowFriends es un sistema social funcional y optimizado para redes que utilizan BungeeCord. Permite a los jugadores agregar amigos, aceptar solicitudes, eliminar contactos y enviar mensajes privados, todo desde cualquier servidor conectado. No requiere interfaz gráfica: todo funciona por comandos.
**EN:**
ShadowFriends is a lightweight and functional social system designed for BungeeCord networks. It allows players to manage friendships, send/accept requests, and communicate privately across servers — all through simple commands. No GUI required.
—
## Características Principales / Key Features
| Español | English |
| ———————————————————————- | —————————————————————— |
| Envío y aceptación de solicitudes de amistad desde cualquier servidor. | Send and accept friend requests from any connected server. |
| Comandos simples para añadir, eliminar, listar y consultar amigos. | Simple commands to add, remove, list, and check friends. |
| Mensajes privados entre amigos conectados. | Private messages between connected friends across servers. |
| Visualización del estado (online/offline) de amigos en tiempo real. | Real-time online/offline friend status display. |
| Configuración editable de mensajes, prefijos y comportamientos. | Editable configuration for messages, prefixes, and core behaviors. |
| Funciona sin interfaces gráficas o menús. | Fully functional without menus or graphical interface. |
| Integración opcional con plugins externos. | Optional integration with external plugins. |
—
## Compatibilidad / Version Compatibility
| Versión BungeeCord / BungeeCord Version | Estado / Status |
| ————————————— | ———————– |
| 1.16 – 1.20 | ✅ Probado / Tested |
| Versiones anteriores o futuras | ⚠️ No garantizado |
> **Recomendación:** prueba el plugin en un entorno de pruebas si usas una versión no mencionada.
—
## Integraciones Opcionales / Optional Plugin Support
ShadowFriends no depende de otros plugins, pero puede trabajar con los siguientes si están instalados:
| Plugin | Requerido / Required? | Función / Functionality |
| ————– | ——————— | ————————————— |
| RedisBungee | No | Mejora la comunicación entre instancias |
| CobwebAPI | No | Proporciona APIs de apoyo |
| SQLiteDriver | No | Soporte para almacenamiento local |
| PlayerBalancer | No | Balanceo de carga y gestión de sesiones |
—
## Comandos Disponibles / Available Commands
| Comando / Command | Función / Function |
| ———————————- | ——————————————– |
| `/f add ` | Enviar solicitud / Send request |
| `/f acept ` | Aceptar solicitud / Accept request |
| `/f remove ` | Quitar de la lista / Remove from friend list |
| `/f msg ` | Enviar mensaje / Send private message |
> Todos los comandos pueden personalizarse o desactivarse desde el archivo de configuración del plugin.
—
## Instalación Rápida / Quick Setup
1. Coloca el archivo `.jar` en la carpeta `plugins/` de BungeeCord.
2. Reinicia el proxy.
3. Revisa el archivo de configuración y ajusta a tu gusto.
4. (Opcional) Añade RedisBungee, SQLiteDriver u otras dependencias.
5. Ejecuta comandos para probar la funcionalidad.
## Próximamente: Interfaz Gráfica / Coming Soon: GUI Interface
**ES:**
Si estás buscando menús interactivos o una experiencia más visual, pronto se lanzará **ShadowFriendsGUI**, un complemento adicional que añadirá soporte completo para interfaces gráficas dentro del juego.
Si no aparece un enlace, es porque aún no ha sido publicado.
Puedes dejar tus recomendaciones o ideas en nuestro servidor de Discord.
**EN:**
If you’re looking for interactive menus or a more visual experience, **ShadowFriendsGUI** is coming soon. It will provide full in-game graphical interface support as an optional add-on.
If there’s no link available yet, it means the GUI has not been released.
Feel free to leave suggestions or ideas in our Discord server.
—
**Desarrollado por / Developed by:** *こんにちは4885*
ServerVeil
# ServerVeil
Customize your Minecraft server to the bone
## Features
– Command blocker
– Tab Completion blocker
– /help customizer
– Multiplayer list MoTD
– ActionBar messenger
## Planned features
– Tab customizer
– Server brand changer
## Commands
– /sv reload – reloads the configuration
– /ab toggle – toggle the actionbar
– /ab send [player] [duration] [message] – sends a message in the specified player’s actionbar for the specified duration
## Requirements
– Spigot 1.7+ server
– SynkLibs
– ProtocolLib
– PlaceholderAPI (optional)
– Java 8+
ServerUtils
[spigot]: https://www.spigotmc.org/resources/79599/
[spigotRatingImg]: https://img.shields.io/badge/dynamic/json.svg?color=brightgreen&label=rating&query=%24.rating.average&suffix=%20%2F%205&url=https%3A%2F%2Fapi.spiget.org%2Fv2%2Fresources%2F79599
[spigotDownloadsImg]: https://img.shields.io/badge/dynamic/json.svg?color=brightgreen&label=downloads%20%28spigotmc.org%29&query=%24.downloads&url=https%3A%2F%2Fapi.spiget.org%2Fv2%2Fresources%2F79599
[issues]: https://github.com/FrankHeijden/ServerUtils/issues
[wiki]: https://github.com/FrankHeijden/ServerUtils/wiki
[release]: https://github.com/FrankHeijden/ServerUtils/releases/latest
[releaseImg]: https://img.shields.io/github/release/FrankHeijden/ServerUtils.svg?label=github%20release
[license]: https://github.com/FrankHeijden/ServerUtils/blob/master/LICENSE
[licenseImg]: https://img.shields.io/github/license/FrankHeijden/ServerUtils.svg
[bugReports]: https://github.com/FrankHeijden/ServerUtils/issues?q=is%3Aissue+is%3Aopen+label%3Abug
[bugReportsImg]: https://img.shields.io/github/issues/FrankHeijden/ServerUtils/bug.svg?label=bug%20reports
[reportBug]: https://github.com/FrankHeijden/ServerUtils/issues/new?labels=bug&template=bug.md
[featureRequests]: https://github.com/FrankHeijden/ServerUtils/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement
[featureRequestsImg]: https://img.shields.io/github/issues/FrankHeijden/ServerUtils/enhancement.svg?label=feature%20requests&color=informational
[requestFeature]: https://github.com/FrankHeijden/ServerUtils/issues/new?labels=enhancement&template=feature.md
[gradleInstall]: https://gradle.org/install/
[bStatsImg]: https://bstats.org/signatures/bukkit/ServerUtils.svg
[bStats]: https://bstats.org/plugin/bukkit/ServerUtils/7790
# ServerUtils
ServerUtils allows you to manage your plugins in-game.
Featuring reloading, unloading and loading of plugins from your plugins folder at runtime.
ServerUtils also has handy methods to lookup commands and plugins,
and provides you with handy information about them.
[![releaseImg]][release]
[](https://github.com/FrankHeijden/ServerUtils/actions)
[![licenseImg]][license]
[![featureRequestsImg]][featureRequests]
[![bugReportsImg]][bugReports]
[![spigotRatingImg]][spigot]
[![spigotDownloadsImg]][spigot]
[](https://discord.gg/WJGvzue)
## Features
– Spigot/Paper, BungeeCord/Waterfall and Velocity compatible!
– Replaces (you can disable this) the /pl and /plugins (bukkit) commands with a customisable message plugins version. Adding the -v tag will add all versions to the output! Please note: the commands [plain]/bukkit:pl[/plain] and [plain]/bukkit:plugins[/plain] are not replaced, so you can still use those!
– A neat configurable /bpl plugins command for bungeecord! Use the -v flag to output the versions of the plugin and -m flag to also include modules in the plugin list (e.g. cmd_send.jar, cmd_server.jar etc.)
– Reload plugins on the fly with /su (load/reload/unload)plugin ! (BungeeCord: the main command is /bsu) Supports tabcomplete to quickly load new plugins from a jar in your plugins folder 🙂
– Watch plugin files for changes and automatically reload them! /su watchplugin!
– Unloading unused commands (spigot/paper): You can define in the config commands which will be unloaded by ServerUtils at boot. These commands will not be accessible anymore to any in-game player, nor the console.
– Reloading plugins and cleaning things up, like their PluginClassLoader and their recipes, recipe cleanup only works 1.12+, as below those versions a plugin is not associated with a recipe, so there’s no way ServerUtils can know a recipe belongs to a plugin.
– ServerUtils can also restart / update itself, as a gimmick (:
– Reload commands.yml on the fly without performing a whole reload or restart on the server! Useful to quickly make aliases 🙂 Please note: currently, this only works on 1.8 – 1.16.
– Reload the bukkit configuration on the fly without performing a whole reload or restart on the server! Please note: some configuration options may not be reloaded, please contact me if you think this is an error. Spigot/Paper configs are not reloaded, you can reload those with /paper reload or /spigot reload. Please note: currently, this only works on 1.8 – 1.16.
– Automatic updater. The plugin can be configured to automatically download & install new updates of the plugin on server boot or when updates are checked. This feature is disabled by default, but can be precisely configured per config.
Plugins can listen for changes! ServerUtils offers an event API which can notify plugins precisely what component has been loaded, enabled, disabled or unloaded — all with a Pre and Post stage. Please take a look at the Bukkit and Bungee events!
## Load stages of a plugin (Spigot/Paper):
To understand the difference between loading / enabling / disabling / unloading of plugins, I will describe the load stages below:
### Fully loading a plugin (like at startup):
1. First, the plugin is loaded from a .jar file from the plugins directory. This is called loading of a plugin. The plugin is now “red” in the /plugin list, because it is not yet enabled.
2. At the second step, a plugin is enabled. This causes the plugin to spit all sorts of things in the console (which the developer found important to notify you about at startup), like database connections being setup etc.
### Fully disabling a plugin (like closing the server)
1. First the plugin is disabled. This causes the plugin to lose all of it’s features, like commands, event listeners, etc. After disabling, the plugin is still loaded in memory, but it is seen “red” in the /plugin list.
2. Then the plugin will be unloaded from the memory, so the plugin won’t appear at all anymore in the /plugin list.
## Disclaimer ‼️
Please note that reloading may not be compatible with each and every plugin! Plugins which depend on a reloaded plugin, are likely to be error-prone for reloading. Improper cleanup, or improper startup practises may break plugin (re/un)loading as well. Please be careful!
## Statistics
[![bStatsImg]][bStats]
## Compiling ServerUtils
There are two ways to compile ServerUtils:
### 1. Installing gradle (recommended)
1. Make sure you have [gradle][gradleInstall] installed.
2. Run the project with `gradle build` to compile it with dependencies.
### 2. Using the wrapper
**Windows**: `gradlew.bat build`
**Linux/macOS**: `./gradlew build`
## Developer API
### Repository / Dependency
If you wish to use snapshot versions of ServerUtils, you can use the following repo:
“`
https://repo.fvdh.dev/snapshots
“`
#### Gradle:
“`kotlin
repositories {
compileOnly(“net.frankheijden.serverutils:ServerUtils:VERSION”)
}
dependencies {
maven(“https://repo.fvdh.dev/releases”)
}
“`
#### Maven:
“`xml
fvdh
https://repo.fvdh.dev/releases
net.frankheijden.serverutils
ServerUtils
VERSION
provided
“`
## Commands and Permissions
Please refer to the [Wiki][wiki] page for an updated overview of the commands and permissions.
ServerSwitch
## **MySQL needed!**
### **[JSMySQLFix](https://modrinth.com/plugin/mysqlfix) is REQUIRED for the Velocity version**
ServerSwitch is a versatile plugin designed for both BungeeCord and Spigot servers, providing comprehensive server switch logging and serving as an alternative to OnlyProxyJoin. With ServerSwitch, you can effortlessly track player server switches and customize their join experience, enhancing your server network management capabilities.
**Features:**
1. Server Switch Logging: ServerSwitch logs player server switches to a MySQL database, providing valuable insights into player behavior and server traffic patterns across both BungeeCord and Spigot servers.
2. OnlyProxyJoin Alternative: Replace OnlyProxyJoin with ServerSwitch to control player joins and implement custom join messages and actions based on specific criteria, catering to the needs of your server network.
3. Automatic Cleanup: The plugin includes a feature to automatically delete old server switch records, ensuring optimal database performance and storage efficiency for both BungeeCord and Spigot servers.
4. Customizable Configuration: Easily configure the MySQL connection settings, join messages, and other plugin options through the included configuration file, offering flexibility and customization for your server network setup.
5. Lightweight and Efficient: ServerSwitch is lightweight and designed for efficiency, ensuring minimal impact on both BungeeCord and Spigot server performance while delivering robust functionality for server switch logging and player join management.
**Instructions:**
1. Place the serverswitch.jar file in the plugins folder of both your BungeeCord and Spigot servers.
2. Customize the plugin settings, including the MySQL connection details and join messages, in the config.yml file located in the plugin’s folder on both server types.
3. Restart your BungeeCord and Spigot servers to apply the changes.
4. ServerSwitch will now log player server switches and handle player joins according to your configured settings on both BungeeCord and Spigot servers.
Enhance your server network management and provide a seamless join experience for your players with ServerSwitch today!
config.yml
“`
# Connect to your Database! (IS REQUIRED!)
database:
url: “jdbc:mysql://127.0.0.1:3306/YourDB” # Set Infos here
username: “root”
password: “password”
# YOU HAVE TO SET A SERVERNAME! THE SERVER NAME HAVE TO BE THE SAME AS THE BUNGEECORD NAME TO THIS SERVER!!
server:
# YOU HAVE TO SET A SERVERNAME! THE SERVER NAME HAVE TO BE THE SAME AS THE BUNGEECORD NAME TO THIS SERVER!!
servername: “SETITHERE!” # Example: servername: “Lobby-01”
# Set your custom messages and permissions
messages:
kick: ‘§cYou need to join through the proxy!’
staff_notification: ‘§c{player} attempted to join without going through the proxy!’
joinMessage: ‘§e{player} joined’
leaveMessage: ‘§e{player} left the server’
permissions:
notify: ‘serverswitch.notify’ # Set Permission here
settings:
Custom-join-leaveMessages: false
Disable-join-leaveMessages: false
“`
bungeeconfig.yml
“`
# Connect to your Database! (IS REQUIRED!)
database:
url: “jdbc:mysql://127.0.0.1:3306/YourDB”
username: “root”
password: “password”
“`