HomeJavaModsproxied_command
proxied_command
ModsJava

proxied_command

Proxied Command allows players to execute commands across servers

⬇ Download on Hangar
# Proxied Command [GitHub](https://github.com/mrcl-at/proxied_command) - [Hangar](https://hangar.papermc.io/mrcl/proxied_command) - [Modrinth](https://modrinth.com/plugin/proxied-command) - [SpigotMC](https://www.spigotmc.org/resources/proxied-command.138117/) - [Discord](https://discord.gg/8pSzR4XYPw) This project is a fork of [Proxied Warp](https://github.com/mrcl-at/proxied_warp). Proxied Command allows players to execute **commands across servers** within a Velocity or BungeeCord network. The player doesn't need to manually switch servers – Proxied Command automatically connects them to the target server and then executes the command there. The project consists of four modules: | Module | Task | |--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `velocity` | Forwards command requests between backend servers and connects players to the target server when needed | | `paper` | Receives the `/proxiedcommand` command from the player and executes the requested command after the server connection. For **Paper** backend servers. Supports [MiniMessage](https://docs.papermc.io/adventure/minimessage/) formatting for messages | | `spigot` | Same functionality as the `paper` module, but for **Spigot** backend servers. Messages use legacy Minecraft color codes (`&`) instead of MiniMessage | | `bungeecord` | BungeeCord proxy module that forwards command requests and connects players to the target server | ## How It Works Communication between the proxy and backend servers happens via the shared **Plugin Messaging Channels** `proxied_command:command` and `proxied_command:message`. The process works as follows: 1. **Player executes command** – On a backend server, the player calls the registered command with a target server and command (e.g., `/proxiedcommand farmworld home farmhome`). 2. **Backend plugin sends message** – The plugin (`paper` or `spigot` module, depending on the server) first checks the input and permission, then builds the message ` ` and sends it as a plugin message over the channel to the proxy. 3. **Proxy plugin processes the request** (Velocity or BungeeCord): - Checks whether the specified player and target server exist. - If the player is already on the target server, the message is forwarded directly. - Otherwise, a connection to the target server is established first, and the message is only forwarded after the server switch succeeds. 4. **Target server executes the command** – The plugin on the target server receives the forwarded message, checks whether the player is online there, and dispatches the given command as that player. ## Installation 1. Place the matching proxy module in the proxy's `plugins` folder: **`velocity`** for Velocity or **`bungeecord`** for BungeeCord. 2. Install the matching backend module on **every** backend server where players should be able to trigger or receive commands: the **`paper` module** on Paper servers, the **`spigot` module** on Spigot servers. 3. Restart the proxy and the affected backend servers. ## Configuration (Paper/Spigot Modules) On first startup, the respective plugin generates a `config.yml` with the following default values. The `aliases` section is optional and can be added manually. **`paper` module:** ```yaml need-permission: false whitelisted-servers: [] whitelisted-commands: [] message: usage: 'Usage: /proxiedcommand ' usage-other: 'Usage: /proxiedcommandother ' permission: 'You do not have permission to do that!' server-not-whitelisted: 'This server is not whitelisted!' command-not-whitelisted: 'This command is not whitelisted!' player-not-online: 'Player is not online!' key-not-found: "Key '' not found!" server-not-found: 'Server not found!' connection-failed: 'Connection failed!' ``` **`spigot` module:** ```yaml need-permission: false whitelisted-servers: [] whitelisted-commands: [] message: usage: '&cUsage:&r /proxiedcommand ' usage-other: '&cUsage:&r /proxiedcommandother ' permission: '&cYou do not have permission to do that!' server-not-whitelisted: '&cThis server is not whitelisted!' command-not-whitelisted: '&cThis command is not whitelisted!' player-not-online: '&cPlayer is not online!' key-not-found: "&cKey &f'%s' &cnot found!" server-not-found: '&cServer not found!' connection-failed: '&cConnection failed!' ``` | Key | Description | |-----------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------| | `need-permission` | Determines whether players need an explicit permission to use the commands (see [Permissions](#permissions)). | | `whitelisted-servers` | List of servers that are allowed to be used as a target. If empty, all servers are allowed. | | `whitelisted-commands` | List of commands that are allowed to be executed. If empty, all commands are allowed. | | `aliases` | Optional section mapping an alias to a target server. For example, `spawn: lobby` lets `/proxiedcommand spawn` execute `spawn` on `lobby`. | | `message.usage` | Message shown when `/proxiedcommand` is used incorrectly. | | `message.permission` | Message shown when permission is missing. | | `message.server-not-whitelisted` | Message shown when a server is not whitelisted. | | `message.command-not-whitelisted` | Message shown when a command is not whitelisted. | | `message.usage-other` | Message shown when `/proxiedcommandother` is used incorrectly. | | `message.player-not-online` | Message shown when the selected player is not online on the source server. | | `message.key-not-found` | Fallback message used when a configured message key is missing. | | `message.server-not-found` | Message shown when the target server cannot be found by the proxy. | | `message.connection-failed` | Message shown when the proxy cannot connect the player to the target server. | In the **`paper` module**, messages support [MiniMessage](https://docs.papermc.io/adventure/minimessage/) formatting (e.g. ``, ``). In the **`spigot` module**, messages use legacy Minecraft color codes with `&` as the formatting character (e.g. `&c` for red) instead. ## Command The following commands are available on the backend server (Paper or Spigot): ``` /proxiedcommand /proxiedcommandother ``` The commands also have aliases: `/proxied_command` and `/pcmd` for `/proxiedcommand`, and `/proxied_command_other`, `/pcmdother`, and `/pcmdo` for `/proxiedcommandother`. - `` – Name of the target server, as registered in the proxy configuration (for example `velocity.toml`). - `` – The command to execute on the target server. Arguments may contain spaces. - `` – An alias defined in `config.yml` that maps an alias/command name to a target server. - `` – An online player who should be connected and have the command executed. `/proxiedcommand` can only be executed by players. `/proxiedcommandother` can also be executed from the console. ## Permissions If `need-permission` is set to `true` in `config.yml`, a player needs one of the following permissions to execute `/proxiedcommand `: | Permission | Effect | |------------------------------------|---------------------------------------------------------------------------------| | `proxiedcommand.command.*` | Allows executing **all** commands. | | `proxiedcommand.command.` | Allows executing a **specific** command (spaces are replaced with underscores). | For `/proxiedcommandother`, the corresponding permissions are `proxiedcommand.command.other.*` and `proxiedcommand.command.other.`. Permissions are matched by prefix, so it is not necessary to specify the complete command. For example, with `need-permission: true`: - `proxiedcommand.command.gamemode` allows both `gamemode creative` and `gamemode survival`. - `proxiedcommand.command.gamemode_creative` allows `gamemode creative`, but not `gamemode survival`. Command spaces are replaced with underscores when the permission is built. The same prefix behavior applies to the corresponding `proxiedcommandother` permissions. If both permissions are missing, the player receives the error message configured in `message.permission`, and the request is not sent to the proxy. If `need-permission` is set to `false` (default), no permission check is performed and every player can use the command for every registered server. ## Requirements - A Velocity or BungeeCord proxy with the matching proxy module (`velocity` or `bungeecord`). - A **Paper** based backend server (with the `paper` module) or a **Spigot** based backend server (with the `spigot` module). - The commands being executed must be available on the target backend server. - Java version 25 or higher. ## Known Limitations - Proxied Command itself does not check whether the specified command exists – command validation and execution are handled by the target server.

proxied_command is a free Minecraft Java mod. Compatible with Minecraft 1.10, 1.10.1, 1.10.2, 1.11 and newer. Downloaded 1 times (via Hangar). Download it and open it directly in the game.

Explore more