Dimension Bridge
Running a Minecraft network often means juggling multiple servers, a lobby, a survival world, a hardcore world, and maybe a few minigame arenas. Moving players between them usually requires giving everyone access to the /server command, which can be clunky and insecure. Dimension Bridge changes that by turning your command blocks into secure, immersive teleportation devices. Instead of typing commands, players step into a portal, a phone booth, or a shimmering gate, and the server handles the rest. This add-on is a powerful tool for server administrators who want to create seamless, protected travel routes across their entire network.
This guide covers everything from the core architecture to installation, configuration, and advanced command examples. You will learn how to set up simple portals and complex routing rules, and you will discover how to use protocol filtering to ensure players only travel to servers that support their Minecraft version.
What Is Dimension Bridge and How Does It Work?
Dimension Bridge is a server-side-only solution consisting of two parts: a Velocity plugin for your proxy and a matching Fabric mod for each backend server. The system uses a custom plugin channel named dimensionbridge:transfer to communicate. When a command block issues a transfer request, the Fabric mod sends it to the Velocity proxy. Velocity then validates the source server, the destination, the player, the client protocol, cooldowns, and the authorization window before connecting the player. This ensures that only approved travel routes are used, and regular players never need access to /server or any bridge permissions.
The beauty of this system is its flexibility. You can configure complex server structures where a player can move from a lobby to any world server, but from world-server-1 they can only return to the lobby, while from world-server-2 they can go back to the lobby or to world-server-2a. This allows for intricate network designs that are both user-friendly and secure.
For a seamless setup experience, many server owners use the foxygame.net launcher. It simplifies the process of managing multiple Minecraft instances and ensures that your Dimension Bridge configuration is always in sync with the correct game versions.
Supported Versions and Requirements
Dimension Bridge supports a wide range of Minecraft versions, with a separate JAR built for each native Fabric server version. This includes versions from 1.20.1 all the way through 1.21.11, as well as the newer 26.1, 26.1.1, 26.1.2, and 26.2 releases. It is crucial to use the Fabric JAR that exactly matches the native version of your backend server. The client version, even if translated through ViaVersion, is not relevant when selecting the backend JAR.
Here are the runtime requirements:
- Velocity: A Velocity proxy running Java 25, with every backend registered in
velocity.toml. - Fabric Backends: Fabric Loader and Fabric API matching the Minecraft version, the matching Dimension Bridge Fabric JAR, and command blocks enabled in
server.propertieswithenable-command-block=true.
A full server restart is required after changing server.properties. The Java version needed depends on your Minecraft version: Java 17 for 1.20.1-1.20.4, Java 21 for 1.20.5-1.21.11, and Java 25 for 26.1-26.2.
How to Install Dimension Bridge
The installation process is straightforward, but it must be done carefully on both the proxy and each backend server.
Installing the Velocity Plugin
First, stop your Velocity proxy completely. Then, copy the Velocity JAR into the velocity/plugins/ directory. When you start Velocity, the plugin will create a configuration file at plugins/dimensionbridge/dimensionbridge.properties. You can edit this file and reload it with /dimensionbridge reload. The proxy console should show a message like "DimensionBridge loaded. Channel: dimensionbridge:transfer".
Installing the Fabric Backend Mod
Repeat these steps for every backend server. Stop the backend, copy the exact matching Fabric JAR into the mods directory, and ensure Fabric API is installed. Keep only one Dimension Bridge JAR in the mods directory. Start the backend, and it will create a configuration file at config/dimensionbridge-fabric.properties. Edit this file and restart the backend. The console should confirm that the backend loaded successfully.
Configuring Transport Routes
The core of Dimension Bridge is its configuration, which allows you to define exactly which servers can send players to which destinations. In the Fabric configuration file, you set allowed-destinations to a comma-separated list of server names. For example, a lobby might have allowed-destinations=hauptwelt,hardcore,vanilla, while a game world might only have allowed-destinations=lobby.
On the Velocity side, you define destinations with properties like protected=true to prevent direct /server access. You can also set allowed-sources to restrict which backends can send players to a specific destination. Another powerful filter is allowed-protocols, which limits access based on the player's Minecraft client protocol. This is perfect for a lobby that is open to any version but only allows players to connect to servers that match their active client version. Imagine a phone booth that only shows you the numbers you can actually dial with your Minecraft version.
Using the Commands
The main command is /dimensionbridge transfer <targets> <server>, which can be used by command blocks, the server console, and suitably privileged command sources. There are also commands for managing the plugin, such as /dimensionbridge reload for the Velocity configuration and /dimensionbridge info to display loaded destinations. To check a player's client protocol, you can use /dimensionbridge protocol <player>.
Example: Lobby Telephone Booths
Here is a classic use case. In your lobby, you place command blocks inside booths that look like telephone boxes. Each booth has a button that runs a command like dimensionbridge transfer @p[distance=..3,limit=1,sort=nearest] hauptwelt. This sends the nearest player within three blocks to the main world. You can create similar booths for the hardcore world and the vanilla world. On each game server, you place a return booth that sends players back to the lobby with dimensionbridge transfer @p[distance=..3,limit=1,sort=nearest] lobby. The Fabric allowlist on that backend must also permit the destination.
Advanced Effects and Menus
You can create a shimmer effect and countdown before the transfer. Using scoreboards, you can set a timer and display particle effects like minecraft:portal and minecraft:reverse_portal around the player. You can also play sounds and show action bar titles like "Opening dimension..." to build anticipation. For a more interactive experience, you can create a clickable chat menu using the /trigger command and tellraw with JSON text components. This allows players to select their destination by clicking a button in the chat, which sets a scoreboard value that triggers the transfer.
Troubleshooting Common Issues
If your command block does nothing, verify that enable-command-block=true is set and that the block is set to Impulse, Unconditional, and Needs Redstone. If you see "Unknown or incomplete command," check that you have the correct Fabric JAR and that Fabric API is installed. The error "Target is not locally allowed" means the destination is missing from the Fabric configuration's allowed-destinations list. "Destination server is not registered in the proxy" means the server name does not exactly match an entry in velocity.toml. Finally, "This portal may not select this destination" indicates that the current backend is missing from the destination's allowed-sources list.
If you are using the foxygame.net launcher, its auto-update feature can help you keep your Dimension Bridge mods current, ensuring version compatibility across your entire network without manual checks.
Security Recommendations
For a secure setup, set deny-unlisted-targets=true on Velocity and mark your game worlds as protected=true. Use LuckPerms to deny the velocity.command.server permission to the default group. Keep your Fabric allowlists narrow, and only grant the dimensionbridge.bypass permission to administrators who need direct access.
Updating Dimension Bridge
To update, stop the proxy and all backends. Remove the old Dimension Bridge JARs and install the new Velocity JAR. Then, install the JAR matching each backend's exact native Minecraft version. Never load two Dimension Bridge versions at the same time. Back up your configuration files, restart the proxy and backends, and test with /dimensionbridge info and a basic command-block transfer.
Dimension Bridge offers a secure, immersive, and highly configurable way to manage server travel in Minecraft. Whether you are building a simple hub or a complex multi-world network, this add-on gives you the tools to create a seamless player experience while maintaining strict control over your infrastructure. Download Dimension Bridge for Minecraft and start building your own dimension gates today.