.dev

Install1 min read

BungeeCord & Waterfall

The proxy plugin for BungeeCord and Waterfall networks.

Artifact
TehoAPI-Bungee.jar
Plugin name
TehoAPI
Proxies
BungeeCord, Waterfall
Java
8 or newer

The BungeeCord plugin does the same job as the Velocity plugin: the proxy owns the Teho handshake and tells each backend about the player over a signed channel.

Install

  1. Download TehoAPI-Bungee.jar and put it in the proxy's plugins/ folder and start it once. It writes plugins/TehoAPI/config.yml.
  2. Put TehoAPI.jar on every backend.
  3. Set the same proxy.secret, at least 16 characters, on the proxy and on every backend.
  4. Turn on ip_forward: true in BungeeCord's config.yml, so backend UUIDs match the proxy's.
  5. Restart everything.
YAML
server-name: "Skyline Network"

proxy:
  secret: "replace-with-a-long-random-string"

welcome:
  enabled: true
  title: "&bWelcome, {player}"
  body: "This network supports Teho"

The proxy config supports the same keys as on Velocity.

Use it from a Bungee plugin

Kotlin
repositories {
    maven("https://repo.tehoclient.dev/releases")
}

dependencies {
    compileOnly("dev.tehoclient:teho-api-bungee:1.0.0")
}
YAML
name: LobbyCore
main: gg.skyline.LobbyCore
version: 1.0.0
depends: [TehoAPI]
Java
public final class LobbyCore extends Plugin implements Listener {
    @Override
    public void onEnable() {
        getProxy().getPluginManager().registerListener(this, this);
    }

    @EventHandler
    public void onReady(TehoPlayerReadyEvent event) {
        event.getTehoPlayer().social().links(Map.of(
                "Discord", "https://discord.gg/skyline",
                "Store", "https://store.skyline.gg"));
    }
}

Bungee events live in dev.tehoclient.api.bungee.event and use @EventHandler: TehoPlayerReadyEvent, TehoConsentEvent, TehoStaffToolEvent and TehoClientEvent.

BungeeTeho.player(ProxiedPlayer) and BungeeTeho.isTeho(ProxiedPlayer) look players up from anywhere.