Skip to content

Installation Guide (proxy)

oddlama edited this page Mar 11, 2024 · 3 revisions

You should be familiar with setting up a proxy like BungeeCord or Waterfall. If this is not the case, please make yourself familiar with the matter first, as this guide will build upon this knowledge.

Installation

  1. Download vane-waterfall.jar from the latest release.
  2. Copy the plugin to the plugins/ directory.

Basic configuration (Autostart)

The basic configuration should be mostly self-explanatory. If you have a look at the generated config.yml after starting your server once, you will find a managed_servers configuration section. For each server (matched by name), you can set a motd for when it is online or offline, and most importantly specify a cmd and kick_msg. The cmd is an array used to specify a command and its arguments. It will be executed when a player tries to join on an offline server, and will be kicked with the given message.

Do NOT put ./start.sh or similar commands in here. If the command blocks, the proxy will hang forever. The best approach would be to signal a process via a custom signal or even better by removing a lockfile.

Authentication Multiplexing

To configure authentication multiplexing, you will need to define multiple listeners for the same server. The idea is to use the port over which the player connects as an indicator whether they want to connect as themselves or as a multiplexed another account.

Example configuration:

plugins/vane-waterfall/config.yml:

# Assign the port 25566 the multiplexer id 1
auth_multiplex:
  25566: 1

The proxies config.yml, define several listeners for the same server, and allow default users the permission for the multiplexer id assigned above (e.g. vane_waterfall.auth_multiplexer.1):

online_mode: true
# ...
servers:
  server:
    address: 127.0.0.1:25501
    motd: ''
    restricted: false
# ...
listeners:
  - bind_local_address: true
    force_default_server: false
    forced_hosts: {}
    host: 0.0.0.0:25565
    max_players: 6666
    motd: ''
    ping_passthrough: false
    priorities:
      - server
    proxy_protocol: false
    query_enabled: false
    query_port: 25565
    tab_list: GLOBAL_PING
    tab_size: 60
  - bind_local_address: true
    force_default_server: false
    forced_hosts: {}
    host: 0.0.0.0:25566
    max_players: 6666
    motd: ''
    ping_passthrough: false
    priorities:
      - server
    proxy_protocol: false
    query_enabled: false
    query_port: 25565
    tab_list: GLOBAL_PING
    tab_size: 60
# ...
permissions:
  default:
    - bungeecord.command.server
    - vane_waterfall.auth_multiplexer.1
    - vane_proxy.start_server.*