Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
EmptyNet
EmptyNet is a Paper plugin that allows players to transfer between servers using commands. No dependencies required - works entirely on its own using Paper's built-in transfer API.
Features
- Self-standing - No BungeeCord, Velocity, or any other proxy required
- Unlimited servers - Add as many server entries as you want in the config
- Custom commands - Each server gets its own command (e.g.,
/lobby,/survival) - Server listing -
/serverlists all available servers - Server back -
/serverbackreturns to the last server you connected to - Custom messages - Configure the message shown when connecting to each server
- Tab completion - Auto-completes server names in
/servercommand
Requirements
- Paper 1.21.1 or higher
- Java 21 or higher
- Make sure
accepts-transfers=trueis set to true in the server.properties
Installation
- Download the
EmptyNet-1.0.0.jarfrom the releases page - Place the jar file in your server's
plugins/folder - Restart your server
- Edit the
plugins/EmptyNet/config.ymlto configure your servers - Restart your server or use
/reloadto apply changes
Configuration
Edit plugins/EmptyNet/config.yml:
# EmptyNet Configuration
# Add as many servers as you want by copying and pasting the section below.
# Change the name, command, ip, and message to match your server's details.
# Time in seconds to wait for a player to successfully connect to the target server.
# If the player does not connect within this time, they will be notified that the
# connection failed and can try again. Set to 0 to disable. Time is measured in seconds. Default is 120 seconds.
timeout: 120
servers:
example:
# The display name shown to players
name: "Example Server"
# The command name (e.g., /example)
command: "example"
# The server IP and port to connect to
ip: "127.0.0.1:25566"
# The message shown to the player when connecting
message: "&aConnecting to Example Server..."
Config Fields
| Field | Description | Example |
|---|---|---|
name |
Display name shown in /server list | "Survival Server" |
command |
The command players use (e.g., /survival) | "survival" |
ip |
Server IP address and port | "192.168.1.10:25566" |
message |
Message shown when connecting (use & for color codes) | "&aConnecting..." |
Commands
| Command | Description | Permission |
|---|---|---|
/server |
Lists all available servers | emptynet.use |
/server <name> |
Connect to a specific server | emptynet.use |
/serverback |
Return to your last server | emptynet.use |
/<command> |
Direct command for each configured server | emptynet.use |
Examples
/server- Shows a list of all configured servers/server lobby- Connects to the "lobby" server/lobby- Same as above (if configured with command: "lobby")/serverback- Returns to the server you were on before
Permissions
| Permission | Description | Default |
|---|---|---|
emptynet.use |
Allows using /server and /serverback commands | true (all players) |
emptynet.admin |
Reserved for future admin commands | op |
How It Works
This plugin uses Paper's built-in Player#transfer(String host, int port) API to transfer players directly to another server. No proxy or external dependencies are needed - the plugin handles everything internally.
When a player uses /server <name> or a direct command like /lobby, the plugin:
- Looks up the server configuration
- Stores the target server as the "last server" for
/serverback - Sends the configured message to the player
- Transfers the player to the target IP:port
Support
For issues, questions, or feature requests, please report them to the form
Pages
Members
Owner