Content generated with AI — it may contain mistakes.

Getting started

Introduction

What ExyliaProxyUtils is, what it lets the backends of a network do, and how this documentation is organised.

ExyliaProxyUtils is the proxy half of ExyliaLib. A backend server on its own cannot run /server, find a player who is on another server, or land a teleport on the other side of the network. ExyliaLib asks for those things over Redis; this plugin, installed on the proxy, answers. It is free, and its source and releases are on GitHub.

One jar runs on Velocity and on BungeeCord. It has no commands, no permissions and no menus of its own: everything it does is asked of it by the Exylia plugins on the backends, through one Redis channel.

What it does

Requirements

RequirementDetail
ProxyVelocity 3.4 or newer, or BungeeCord (built against the 1.21 API) and its forks.
Java21
RedisThe same Redis every backend uses, reachable from the proxy.
BackendsExyliaLib 1.106.0 or newer with Redis enabled in a database.yml. Older ExyliaLib spoke to the 1.x proxy plugin over plugin messages and cannot talk to 2.x.
Optional, on the proxyLiteBans, LibertyBans, AdvancedBan (BungeeCord only), BanManager.
Why Redis and not plugin messages

A plugin message travels down a player's connection, and a modified client can write one. A bridge built on them has to trust the proxy to filter the client's bytes out before they reach a backend; one missed check and a player runs proxy console commands. Redis sits on the network's own side: only a backend can publish there, and it works with nobody online. Versions 1.x used plugin messages; 2.0.0 does not.

How to read this documentation

Getting started

Installation, the one file to fill in, and how to check the backends can reach the proxy.

Features

What each module answers, the ban plugins on the proxy, the login check and automatic updates.

Reference

What can be run through the proxy, permissions, every configuration key, the wire protocol, the developer side and the FAQ.

Conventions

  • Identifiers between < and > are variables: player-proxy:server <name> means player-proxy:server lobby.
  • <prefix> is the network's Redis key-prefix, exylia unless you changed it.
  • server-id is a backend's name on the network, set under database.redis in its database.yml. On the proxy, the same server must have the same name.

Something missing on this page? Tell us on Discord