SimpleWhitelist

# SimpleWhitelist
**SimpleWhitelist** is an *essential plugin* for your private server.

### Why should you choose this plugin?
* No hassles, players in the white list are stored by their nicknames;
* There is support for the most used server cores (proxy & not);
* Fully customizable messages;
* Easy to use.

### How to start using plugin?
1. Disable Minecraft’s whitelist in `server.properties` (`white-list=false`);
2. Put plugin in `plugins` folder (or in `mods` for mod loaders);
3. Start your server;
4. Enable whitelist using `/swl enable`;
5. Add yourself to whitelist using `/swl add ` command.

### Commands:
* `/swl add/remove ` – add or remove player from whitelist (case-sensitive if set);
* `/swl list` – show list of whitelisted players;
* `/swl enable/disable` – enable or disable plugin;
* `/swl reload` – reload plugin.

### Permission:
`simplewhitelist.command` – for all commands

SimpleStaffChat

![Banner](https://i.imgur.com/rfrfd9i.png)
![Features](https://i.imgur.com/nLKYGaj.png)
– Fully customizable, meaning you can change the messages and settings of the plugin inside the configuration files.
– Light and efficient, won’t cause any sort of lag towards your server!
– Staff join and quit messages.
– Automatic Config Updates. No need to manually update file properties.
– Supports multiple platforms: Spigot, Velocity and Folia.
– Discord Logging using webhooks support in discord.yml
– [MiniMessage](https://docs.advntr.dev/minimessage/format.html) support (Using non-strict mode, automatically converts legacy & color codes)

Note: This plugin does not and will never give support to cracked servers.
![Commands and Permissions](https://i.imgur.com/EZdK3IH.png)
Commands

/staffchat(/sc) – Send messages to your staff privately
/staffchattoggle(/sctoggle) – Toggle sending messages to your staff privately
/staffchatreload(/screload) – Reload your config files
/adminchat(/ac) – Send messages to your admins privately
/devchat(/dc) – Send messages to your developers privately
/adminchattoggle(/actoggle) – Toggle sending messages to your admins privately
/devchattoggle(/dctoggle) – Toggle sending messages to your developers privately
/chat – Toggle sending messages to a chat
/schide – Allows you to mute/hide messages from either one or all staff chats.

Permissions

simplestaffchat.command.help – Allows you to see the help page
simplestaffchat.command.staffchat – Allows you to use /staffchat
simplestaffchat.command.toggle – Allows you to use /staffchattoggle
simplestaffchat.command.reload – Allows you to use /staffchatreload
simplestaffchat.command.adminchat – Allows you to use /adminchat
simplestaffchat.command.adminchat.toggle – Allows you to use /adminchattoggle
simplestaffchat.command.devchat – Allows you to use /devchat
simplestaffchat.command.devchat.toggle – Allows you to use /devchattoggle
simplestaffchat.command.hide – Allows you to use /schide
simplestaffchat.command.chat – Allows you to use /chat
simplestaffchat.staffchat.see – Allows you to see all staffchat messages
simplestaffchat.staffchat.symbol – Allows you to use the symbol to use staffchat
simplestaffchat.adminchat.see – Allows you to see all adminchat messages
simplestaffchat.adminchat.symbol – Allows you to use the symbol to use adminchat
simplestaffchat.devchat.see – Allows you to see all devchat messages
simplestaffchat.devchat.symbol – Allows you to use the symbol to use devchat
simplestaffchat.join – Sends a join message when a staff member joins
simplestaffchat.switch – Sends a switch message when a staff member switches to a different server on the network (BungeeCord/Velocity only)
simplestaffchat.quit – Sends a join message when a staff member leaves the server

All commands are customizable from the commands.yml file. (Available in version 3.0 or higher)

![Screenshots](https://i.imgur.com/0TEFgN4.png)
![Screenshot #1](https://i.imgur.com/nHwMsI8.png)
![Extra Info](https://i.imgur.com/d2MjpMr.png)

Outdated Tutorial

All artwork on this page was created by me.

### Placeholders
– %player% – Get the player name
– %displayname% – Get the player display name
– %server% – Get the player server
– %message% – Get the message
– %arrow% – Get an arrow for a message
– %arrow_2% – Get alt arrow for a message
– %star% – Get a star for a message
– %circle% – Get a circle for a message
– %luckperms_prefix% – Get the player’s luckperms prefix
– %luckperms_suffix% – Get the player’s luckperms suffix

### Dependencies
[PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) (Optional)

[SignedVelocity](https://modrinth.com/plugin/signedvelocity) (Required when using Velocity it must be installed on all Spigot/Paper servers too)

### Install
1. Download plugin
2. Place the .jar file in your plugins folder
3. Restart your server
4. Enjoy!

Note: Only install it in either all backend servers or in the proxy not both the plugin will not work properly.

### Discord
Need help? Have suggestions? Join the discord!
https://discord.gg/EFeSKPg739

![BStats Spigot](https://bstats.org/signatures/bukkit/SimpleStaffChat%20-%20Spigot.svg)
![BStats Bungee](https://bstats.org/signatures/bungeecord/SimpleStaffChat%20-%20Bungee.svg)
![BStats Velocity](https://bstats.org/signatures/velocity/SimpleStaffChat%20-%20Velocity.svg)

[Icon from Flaticon](https://www.flaticon.com/)

SimpleServerSwitcher

# SimpleServerSwitcher
SimpleServerSwitcher is a command-based server switcher plugin.
Created for a commission.

Listed servers are definable in the plugin’s config and can be made accessible with a list of commands, as well as restricted to a specific permission required to join the server.

We don’t overwrite the default bungeecord `/server` command.

When changes were made to the config, either restart the server or use `/ssreload` to apply the changes.

A configuration could look something like this
“`yaml
servers:
admin-server:
commands: # The commands to join the server
– joinadminserver
– sendmetotheadminserver
restricted: true # If this server is restricted. If yes, the permission specified below is required.
permission: my.admin.permission # The permission needed to join this server, if restricted. Otherwise, you can just remove this line.
minigames:
commands:
– minigames
– games
– play
restricted: false
“`

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 |
|:————————————:|——————————————————-|
| ![](https://cdn.modrinth.com/data/cached_images/920509ef166dd12999f5c37593726d5b38b178df_0.webp) | You are talking |
| ![](https://cdn.modrinth.com/data/cached_images/fca88ce39851e803b131d80f967baceb979e981e.png) | You are whispering |
| ![](https://cdn.modrinth.com/data/cached_images/3295a4809a4c5fa34130cf2b0ca4cb0c877ef0b6_0.webp) | Player is talking |
| ![](https://cdn.modrinth.com/data/cached_images/f65e6c7acc8a12fe235f6a2eab6f7312ec459d0a_0.webp) | Player is whispering |
| ![](https://cdn.modrinth.com/data/cached_images/8cb7bef660801ee9bee15e12864d766b57905540.png) | Microphone muted |
| ![](https://cdn.modrinth.com/data/cached_images/05cfff1ecdba43d43e3ed8920e84834babb1b04e.png) | Voice chat disabled |
| ![](https://cdn.modrinth.com/data/cached_images/ce6cc8977f481476d7f6759bf21f34788d09476f.png) | 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.

![](https://cdn.modrinth.com/data/cached_images/c46289d611c1c4802c6f44fb9963ec9a04ea63c8.png)

### 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.

![](https://cdn.modrinth.com/data/cached_images/dcaa5edc9ee9c404d93d17d5d687f853bb710cda.png)

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.

![](https://cdn.modrinth.com/data/cached_images/63b27eb45a5e2b5c8df35fb7c63a4ba79cccb154.png)

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.

![](https://cdn.modrinth.com/data/cached_images/838d33f174e66349feff2fc7edc03e19a8dd8634.png)

## 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!

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.

SetSpawnpoint

Englisch

**SetSpawn**

SetSpawn is a lightweight Minecraft plugin that enables server operators to set a central spawn point for their server. Players can teleport to this point anytime using the /spawn command — even immediately upon joining. This keeps the server organized, and players always start or respawn at the same location.

The plugin offers the following advantages:

* Only OPs can set the spawn point with /setspawn — keeping everything under control.

* Players without special permissions can teleport using /spawn, with a 3-second cooldown to prevent spam.

* When teleporting, a firework rocket is launched above the player and the characteristic Enderman teleport sound is played, creating a pleasant visual and audio experience.

* All messages and spawn coordinates are fully customizable in a configuration file — so you can perfectly tailor the plugin to your server and community.

* Messages support Minecraft hex color codes (e.g., &#aabbcc), allowing you to customize colors as you wish.

* A reload command /reloadspawn lets you apply changes to the config without restarting the server.

* The plugin is resource-efficient and easy to install.
——————————————————————–
**See my other Projects** [Modrinth](https://modrinth.com/user/fernsehheft)

**This Plugin is currently in Beta**

——————————————————————-

German

**SetSpawn**

SetSpawn ist ein leichtgewichtiges Minecraft-Plugin, das Server-Operatoren ermöglicht, einen zentralen Spawnpunkt für ihren Server festzulegen. Spieler können sich per Befehl /spawn jederzeit zu diesem Punkt teleportieren – auch direkt beim Joinen. So bleibt der Server übersichtlich und Spieler starten oder respawnen immer an der gleichen Stelle.

**Das Plugin bietet dabei folgende Vorteile:**

– Nur OPs können den Spawnpunkt mit /setspawn setzen – dadurch bleibt alles unter Kontrolle.

– Spieler ohne besondere Rechte können sich mit /spawn teleportieren lassen, inklusive 3 Sekunden Cooldown, um Spam zu vermeiden.

– Beim Teleportieren wird eine Feuerwerksrakete über dem Spieler gezündet und der charakteristische Enderman-Teleport-Sound abgespielt, was für ein schönes visuelles und akustisches Erlebnis sorgt.

– Alle Nachrichten und die Spawn-Koordinaten sind in einer Konfigurationsdatei frei anpassbar – so kannst du das Plugin perfekt auf deinen Server und deine Community abstimmen.

– Die Nachrichten unterstützen Minecraft-Hex-Farbcodes (z.B. &#aabbcc), damit du sie farblich gestalten kannst, wie du möchtest.

– Ein Reload-Befehl /reloadspawn erlaubt es dir, Änderungen an der Config ohne Serverneustart zu übernehmen.

– Das Plugin ist ressourcenschonend und einfach zu installieren.

——————————————————————–
**See my other Projects** [Modrinth](https://modrinth.com/user/fernsehheft)

**This Plugin is currently in Beta**

——————————————————————-

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]
[![GitHub Actions](https://github.com/FrankHeijden/ServerUtils/workflows/Java%20CI%20with%20Gradle/badge.svg)](https://github.com/FrankHeijden/ServerUtils/actions)
[![licenseImg]][license]
[![featureRequestsImg]][featureRequests]
[![bugReportsImg]][bugReports]
[![spigotRatingImg]][spigot]
[![spigotDownloadsImg]][spigot]

[![Discord](https://img.shields.io/discord/580773821745725452.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](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”
“`

ServerShout

# ServerShout 2

ServerShout is a Cross-Server Shout and Invite plugin for Bukkit/BungeeCord/Velocity. It features high performance and a high degree of customization, and it is compatible with PlaceholderAPI and LuckPerms.

## Screenshots

Cross-Server Shout

![Cross-Server Shout](https://cdn.modrinth.com/data/cached_images/2b5c99928078acbeeb9d4cf228a5cb54ab44d3ed.png)

Cross-Server Invite

![Cross-Server Invite](https://cdn.modrinth.com/data/cached_images/5543762ddc54381271f94d751b6f8bf9a69555d0.png)

Message Mute

![Message Mute](https://cdn.modrinth.com/data/cached_images/a49d8c2afeb809698893110fbfbc2bddf454528f.png)

## Commands & Permissions

`/ss help` – Get help

`/ss reload` – Reload configuration

`/ss token list` – List all tokens

`/ss token create ` – Create new token

`/ss token delete ` – Delete token

`/ss balance get ` – Check player token balance

`/ss balance set ` – Set player token balance

`/ss balance give ` – Give tokens to player

`/ss balance take ` – Take tokens from player

`servershout.help` – Allows use of /ss help

`servershout.reload` – Allows use of /ss reload

`servershout.token.list` – Allows use of /ss token list

`servershout.token.create` – Allows use of /ss token create

`servershout.token.delete` – Allows use of /ss token delete

`servershout.balance.get` – Allows use of /ss balance get

`servershout.balance.set` – Allows use of /ss balance set

`servershout.balance.give` – Allows use of /ss balance give

`servershout.balance.take` – Allows use of /ss balance take

`servershout.update.notify` – Allows receiving update notifications

BungeeCord Command: `/ssb` | Velocity Command: `/ssv`

**⭐ Default Shout format:** `!`

**⭐ Default Invite format:** `/invite` or `/invite `

## PlaceholderAPI Placeholders

`%servershout_balance_%` the player’s token amount

## LuckPerms Meta Placeholders

In shout.yml, you can configure the show of a player’s LuckPerms Meta value in messages.

**For example:**

`{luckperms_meta_prefix}` displays the prefix Meta value, i.e., the player’s prefix.

Other Meta values can be managed via `/lp user meta`

## Usage
1. Download the jar file and place it in the plugins directory of the proxy (BungeeCord/Velocity) **(required)**
2. Place the jar file in the plugins directory of Bukkit as the management end of ServerShout (optional).
3. Restart the server.
4. Edit config.yml to configure the database and reload the plugin (optional). If the database is not configured, player tokens will not be deducted, and players can send messages without restrictions.

## Stats

BungeeCord

![Bungee Status](https://bstats.org/signatures/bungeecord/ServerShout.svg)

Velocity

![Velocity Status](https://bstats.org/signatures/velocity/ServerShout.svg)

Bukkit

![Bukkit Status](https://bstats.org/signatures/bukkit/ServerShout.svg)