Proxy-Utils
Proxy-Utils is a Velocity plugin providing administrative commands for announcements, server management, proxy restarts, and plugin status display.
Proxy-Utils
---
Proxy-Utils Plugin Documentation
*Developed by MineFlow Studios*
---
Overview
Proxy-Utils is a powerful Velocity proxy plugin designed to streamline server management by offering a range of essential tools. With features such as broadcasting announcements, managing server connections, handling proxy restarts, and monitoring plugin statuses, Proxy-Utils ensures a seamless and efficient experience for both administrators and players.
---
Installation
1. Start the `Proxy-Utils.jar` file. 2. Start the JAR in your proxy server's `plugins` directory. 3. Start your Velocity proxy server. Configuration files (`settings.yml`) will be generated automatically.
---
Configuration
Located in `plugins/Proxy-Utils/`.
- settings.yml ```yaml servers: lobby: lobby-server smp: smp-server hub: hub-server
commands: /lobby: lobby /l: lobby /smp: smp /hub: hub
defaultRestartTime: 600 # Default restart time in seconds (e.g., 10 minutes)
broadcastIntervals: - 600 - 300 - 60 - 50 - 25 - 10 - 9 - 8 - 7 - 6 - 5 - 4 - 3 - 2 - 1
messages: announce: "&a[Announcement] &f{message}" restartKick: "&cWe are restarting, please rejoin." restartCancelled: "&cThe proxy restart has been &lCANCELLED!" restartCountdown: "&cRestart in {timeLeft}..." ```
- settings.yml Details:
- servers: Defines server identifiers and their corresponding server names.
- commands: Maps specific command aliases to server identifiers for dynamic server commands.
- defaultRestartTime: Sets the default time (in seconds) for the proxy restart countdown if no time is specified in the `/proxyrestart` command.
- broadcastIntervals: Specifies the intervals (in seconds) at which countdown messages are broadcasted to players during a proxy restart.
- messages: Customizable messages for various plugin actions, supporting color codes with the `&` symbol and placeholders like `{message}` and `{timeLeft}`.
---
Commands
General Commands
- `/announce <message>` *Broadcasts a customized announcement message to all players. Supports color codes using the `&` symbol.*
Usage: ``` /announce <message> ```
Example: ``` /announce Welcome to the server! &aEnjoy your stay! ```
- `/proxyrestart [timeInSeconds]` *Initiates a countdown to restart the proxy server. If no time is specified, the default restart time from `settings.yml` is used. During the countdown, specified broadcast intervals will notify players of the impending restart.*
Usage: ``` /proxyrestart [timeInSeconds] ```
Examples: - Start a restart countdown with the default time: ``` /proxyrestart ``` - Start a restart countdown with a specified time (e.g., 300 seconds): ``` /proxyrestart 300 ```
- `/cancelproxyrestart` *Cancels any active proxy restart countdown. Notifies all players that the restart has been canceled.*
Usage: ``` /cancelproxyrestart ```
- `/server [serverName]` *Sends the player to the specified server. If no server name is provided, it lists all available servers as defined in `settings.yml`.*
Usage: ``` /server <serverName> ```
Aliases: ``` /srv ```
Examples: - Send to a specific server: ``` /server lobby ``` - List all available servers: ``` /server ```
- Dynamic Server Commands (e.g., `/lobby`, `/smp`, `/hub`) *Provides quick access to specific servers without the need to use the `/server` command. Each dynamic command corresponds to a server defined in `settings.yml`.*
Usage: ``` /<serverAlias> ```
Examples: - Send to the lobby server: ``` /lobby ``` - Send to the SMP server: ``` /smp ``` - Send to the hub server: ``` /hub ```
- `/proxyplugins` *Lists all plugin JAR files present in the proxy's plugins directory. Indicates whether each plugin is loaded correctly (green) or not loaded (red). Additionally, displays the version of each plugin if available.*
Usage: ``` /proxyplugins ```
---
Permissions
| Default Access | Default Access | Default Access | |-----------------------------------|-----------------------------------------------------------|-------------------------| | `proxyutils.announce` | Allows the use of the `/announce` command. | Administrators/Admins | | `proxyutils.proxyrestart` | Allows the use of the `/proxyrestart` command. | Administrators/Admins | | `proxyutils.cancelproxyrestart` | Allows the use of the `/cancelproxyrestart` command. | Administrators/Admins | | `proxyutils.server` | Allows the use of the `/server` command. | All Players | | `proxyutils.server.<serverName>` | Allows the use of dynamic server commands (e.g., `/lobby`).| Administrators/Admins | | `proxyutils.proxyplugins` | Allows the use of the `/proxyplugins` command. | Administrators/Admins |
Setting Permissions Example (LuckPerms): ``` lp group admin permission set proxyutils.announce true lp group admin permission set proxyutils.proxyrestart true lp group admin permission set proxyutils.cancelproxyrestart true lp group admin permission set proxyutils.server true lp group admin permission set proxyutils.server.lobby true lp group admin permission set proxyutils.server.smp true lp group admin permission set proxyutils.server.hub true lp group admin permission set proxyutils.proxyplugins true ```
Console Access: - Console Access: Replace `<serverName>` with the actual server identifier as defined in your `settings.yml`. For example, if you have a server named `lobby`, the permission node would be `proxyutils.server.lobby`. - Console Access: Commands executed from the console are not subject to permission checks and are permitted by default.
---
Usage Tips
- Permissions Management: Ensure that permissions are correctly assigned to user groups to control access to various commands. Typically, only administrators should have access to `/proxyrestart`, `/cancelproxyrestart`, and `/proxyplugins`.
- Server Definitions: Keep your `settings.yml` up-to-date with all active servers to ensure that players can seamlessly switch between them using the `/server` commands or dynamic server commands.
- Broadcast Intervals: Customize the `broadcastIntervals` in `settings.yml` to control how frequently players are notified about impending proxy restarts, enhancing communication and reducing potential confusion.
- Plugin Monitoring: Regularly use the `/proxyplugins` command to monitor the status of installed plugins, helping you quickly identify and address any issues related to plugin loading.
- Color Codes: Utilize the `&` symbol in messages within `settings.yml` to add color and formatting, making announcements and notifications more visually appealing.
---
Enjoy managing your Velocity proxy with Proxy-Utils!
---