Skip to content
Back to Blog
Diagram showing how ValioBungee syncs player data across multiple Minecraft proxy servers

How to Build a Cohesive Minecraft Network with ValioBungee

ice
ice
@ice
Updated
15 views
TL;DR:ValioBungee is a Redis-based plugin for BungeeCord and Velocity that syncs player data across multiple proxy servers. Perfect for administrators running distributed Minecraft networks who need reliable player data synchronization.
GitHub · Minecraft community project

ValioBungee (ProxioDev/ValioBungee)

Synchronize players data between BungeeCord / Velocity proxies

Star on GitHub ↗
⭐ 247 stars💻 Java📜 EPL-1.0

Running a Minecraft network across multiple servers sounds great until you realize players expect to carry their data everywhere. If your friend joins with 50 emeralds and switches to a different proxy server, they shouldn't lose them. That's what ValioBungee solves - it keeps player data synchronized across all your BungeeCord and Velocity instances using Redis.

What's ValioBungee?

ValioBungee is a fork of the long-abandoned RedisBungee project, updated and maintained by ProxioDev. It's a Java plugin that syncs player information (inventory, location, experience, and custom data) across multiple proxy servers through a central Redis database. If you're running a distributed Minecraft network, this plugin bridges the gap between independent proxy instances so players experience a smooth network no matter which server they connect to.

The original RedisBungee hasn't been updated in years, and the creator moved on. Rather than let server admins scramble with outdated code, ProxioDev revived the project as ValioBungee (the name change was necessary due to trademark restrictions, though the internals remain largely the same). It's a genuinely useful example of community maintenance - someone saw a problem and fixed it.


Why You'd Need This

Most single-server Minecraft setups don't need this. It's when you start building a proper network that things get complicated. Say you're running a hub server and three game servers (survival, creative, pvp). Players should be able to jump between them without losing progress.

BungeeCord and Velocity already handle getting players from the proxy to individual servers, but they don't share data about who's online, what items they're holding, or custom data your plugins have stored. ValioBungee fills that gap. But it uses Redis as a shared data layer, so all your proxies can ask "is player Bob online?" and get the same answer regardless of which proxy answers.

Common use cases include:

  • Networks with multiple hub/lobby servers where players should see who's online across the whole network
  • Hub-and-spoke architectures where players join a hub first, then pick which game server to play on
  • Custom cosmetics or ranks that should follow players between servers
  • Shared leaderboards or statistics
  • Preventing duplicate logins if a player connects to multiple proxies simultaneously

You don't need this if you're running a single server or a small proxy network. If you're operating at scale or want your network to feel like one cohesive system instead of separate servers, it becomes valuable.


Getting Started with ValioBungee

First, you'll need a running Redis server. If you don't have one, that's your actual first step (not part of ValioBungee itself). Then, grab the plugin.

Download the latest release from GitHub:

bash
wget https://github.com/ProxioDev/ValioBungee/releases/download/0.12.6/RedisBungee-Proxy-Bungee-0.12.6-all.jar

Move it to your BungeeCord plugins folder:

bash
mv RedisBungee-Proxy-Bungee-0.12.6-all.jar /path/to/bungeecord/plugins/

Restart BungeeCord. It'll generate a configuration file with defaults. Edit config.yml (usually in the plugins/RedisBungee folder) to point to your Redis server:

yaml
redis:
 host: localhost
 port: 6379

Restart again, and the plugin starts syncing player data. Simple in theory, but there's a recent gotcha worth knowing about (see the troubleshooting section below).


How It Works

ValioBungee uses a Java Redis client called Jedis to connect to Redis and store player information. When a player joins, the proxy publishes their data to Redis. Other proxies subscribe to these updates, so they know who's connected across the entire network.

You can query this data through the RedisBungeeAPI. If you're developing a plugin that needs to know "is player X online right now across the entire network?" instead of just on this server, that's what the API is for. Behind the scenes, it's storing player names, UUIDs, and connection state. Custom plugins can store their own data too, which is why it's useful for things like shared cosmetics or network-wide achievements.


Known Issues and Quirks

Here's where ValioBungee gets interesting (and slightly frustrating).

The Adventure API relocation issue: Version 0.12.6 was released as a hotfix specifically because BungeeCord and ValioBungee were using different versions of the Adventure text library, causing conflicts. If you're using Adventure API in your plugins that also use RedisBungeeAPI, you'll need to recompile them after updating. This is annoying, but it's a real problem with Java dependency management and not unique to this project.

Older plugins expecting the old API: The maintainer notes that version 0.13.0 (coming soon) will include a compatibility layer for plugins written for the original RedisBungee. If you're sitting on old plugins, you might hit this, but it's being addressed.

Redis connectivity: If Redis goes down, your proxies can't sync. But this isn't ValioBungee's fault, but it's worth knowing. You should monitor your Redis instance separately.

Configuration varies by use case: There's a wiki with setup instructions, but buried in the details are context-specific decisions about what data to sync and how to handle conflicts. It's not a one-size-fits-all plugin.


Comparing to Alternatives

ValioBungee isn't the only way to sync player data across proxies. Custom solutions exist, but they require development work and ongoing maintenance. Built-in proxy features in Velocity and BungeeCord have some player tracking, but it's limited to immediate network awareness without persistent data sync. Other Redis-based solutions are out there, but ValioBungee is actively maintained and has real community weight behind it. For most networks, it's the practical choice without requiring you to build infrastructure from scratch.


Making Your Network Feel Cohesive

Once ValioBungee is running, your network starts to feel like a single system. Players see their friends online, rankings follow them between servers, and custom items don't get lost when they switch servers. That cohesion matters more than you'd think.

If you've ever played on a poorly-connected network where you lose items when changing servers or your rank resets, you know how jarring it's. ValioBungee removes that friction. As you build out your network, you might want to browse Minecraft skins to find cosmetics to offer your players, or check out the free DNS tool if you're setting up custom domains for your network.

ProxioDev/ValioBungee - EPL-1.0, ★247

Frequently Asked Questions

What license is ValioBungee released under?
ValioBungee is distributed under the Eclipse Public License 1.0 (EPL-1.0). This means you can use it freely in commercial and personal projects, modify it, and distribute modified versions as long as you include the license and document your changes. It's open-source and actively maintained by ProxioDev.
Can I use ValioBungee with Velocity instead of BungeeCord?
Yes. ValioBungee has separate builds for both BungeeCord and Velocity. Velocity is the newer, maintained successor to BungeeCord and ValioBungee supports it directly. Download the appropriate JAR for your proxy type from the GitHub releases page.
What happens if my Redis server goes offline?
If Redis becomes unavailable, ValioBungee can't sync player data between proxies. Your proxies will continue functioning locally, but cross-network queries about player status will fail. It's important to monitor Redis separately and keep it running reliably. Consider Redis clustering or replication for high-availability setups.
Do I need to know Java to use ValioBungee?
No. Installing and configuring ValioBungee requires no Java knowledge—just download the JAR, drop it in your plugins folder, and edit a YAML config file. However, if you want to use the RedisBungeeAPI in your own plugins, you'll need Java development experience.
How does ValioBungee compare to writing a custom sync layer?
Custom solutions offer more flexibility but require significant development and ongoing maintenance. ValioBungee solves the common use cases (cross-server player tracking, shared data, online lists) out of the box with 247 GitHub stars and active community support. Most networks benefit from using ValioBungee rather than building from scratch.