Convert Figma logo to code with AI

SpigotMC logoBungeeCord

BungeeCord, the 6th in a generation of server portal suites. Efficiently proxies and maintains connections and transport between multiple Minecraft servers.

1,574
1,102
1,574
384

Top Related Projects

The modern, next-generation Minecraft server proxy.

Quick Overview

BungeeCord is a proxy server for Minecraft, primarily used for connecting multiple Minecraft servers together. It allows players to seamlessly switch between different game modes or server instances without disconnecting, providing a unified experience across multiple Minecraft servers.

Pros

  • Enables server networks with easy player transfer between servers
  • Supports plugin development for extended functionality
  • Provides efficient player management and load balancing
  • Offers enhanced security features like IP forwarding and firewall capabilities

Cons

  • Can introduce additional latency due to the proxy layer
  • Requires more complex setup compared to standalone Minecraft servers
  • May have compatibility issues with some Minecraft mods or plugins
  • Performance can be impacted when handling a large number of players

Code Examples

// Example 1: Creating a simple BungeeCord plugin
public class MyPlugin extends Plugin {
    @Override
    public void onEnable() {
        getLogger().info("MyPlugin has been enabled!");
    }

    @Override
    public void onDisable() {
        getLogger().info("MyPlugin has been disabled!");
    }
}
// Example 2: Listening for player join events
@EventHandler
public void onPlayerJoin(PostLoginEvent event) {
    ProxiedPlayer player = event.getPlayer();
    player.sendMessage(new TextComponent("Welcome to the network!"));
}
// Example 3: Sending a player to another server
public void sendPlayerToServer(ProxiedPlayer player, String serverName) {
    ServerInfo targetServer = ProxyServer.getInstance().getServerInfo(serverName);
    if (targetServer != null) {
        player.connect(targetServer);
    }
}

Getting Started

  1. Download the latest BungeeCord.jar from the official website.
  2. Create a start script (e.g., start.bat or start.sh) with the following content:
    java -jar BungeeCord.jar
    
  3. Run the start script to generate configuration files.
  4. Edit config.yml to add your Minecraft servers:
    servers:
      lobby:
        motd: 'Welcome to the Lobby'
        address: localhost:25565
      minigames:
        motd: 'Minigames Server'
        address: localhost:25566
    
  5. Configure your Minecraft servers to work with BungeeCord by setting online-mode=false in server.properties.
  6. Restart BungeeCord and your Minecraft servers.

Competitor Comparisons

The modern, next-generation Minecraft server proxy.

Pros of Velocity

  • Significantly faster performance and lower resource usage
  • Modern codebase with better maintainability
  • More frequent updates and active development

Cons of Velocity

  • Less plugin compatibility compared to BungeeCord
  • Smaller community and ecosystem
  • Steeper learning curve for developers familiar with BungeeCord

Code Comparison

Velocity (Event Handling):

@Subscribe
public void onProxyInitialization(ProxyInitializeEvent event) {
    // Initialization code
}

BungeeCord (Event Handling):

@EventHandler
public void onProxyInitialization(ProxyInitializeEvent event) {
    // Initialization code
}

Velocity uses the @Subscribe annotation from the event bus library, while BungeeCord uses the @EventHandler annotation. This reflects Velocity's more modern approach to event handling.

Velocity's codebase is generally more streamlined and efficient, utilizing newer Java features and design patterns. BungeeCord's codebase, while functional, is older and may contain legacy code.

Both projects serve as proxy servers for Minecraft, but Velocity aims to provide better performance and a more modern development experience, while BungeeCord offers wider compatibility and a larger ecosystem.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

BungeeCord

Layer 7 proxy designed to link Minecraft servers.

BungeeCord is a sophisticated proxy and API designed mainly to teleport players between multiple Minecraft servers. It is the latest incarnation of similar software written by the author from 2011-present.

Information

BungeeCord is maintained by SpigotMC and has its own discussion thread with plenty of helpful information and links.

Security warning

As your Minecraft servers have to run without authentication (online-mode=false) for BungeeCord to work, this poses a new security risk. Users may connect to your servers directly, under any username they wish to use. The kick "If you wish to use IP forwarding, please enable it in your BungeeCord config as well!" does not protect your Spigot servers.

To combat this, you need to restrict access to these servers for example with a firewall (please see firewall guide).

Source

Source code is currently available on GitHub.

Binaries

Precompiled binaries are available for end users on Jenkins.

(c) 2012-2024 SpigotMC Pty. Ltd.