How to Set Up an Eaglercraft Server

Have you seen other people (even your friends) hosting their own Eaglercraft servers? They probably used this guide! (Or not... but you can!)

In this guide, we will be going over setting up a Waterfall proxy server, a backend server, a Caddyserver instance, port forwarding, and more.

Prerequisites

Step 1: Set Up Waterfall

  1. Download Waterfall from here.
  2. Create a new directory for your server and place the Waterfall JAR file in it
  3. Create a start script (e.g., start.bat for Windows or start.sh for Linux) with the following content:
    java -Xms512M -Xmx512M -jar server-jar-name.jar
    Or better yet, use this tool to generate optimized startup flags.
  4. Run the start script to generate configuration files, then stop the server
  5. Edit the config.yml file to configure your proxy settings

Step 2: Set Up Backend Server

  1. Download a compatible Minecraft server JAR (e.g., Paper 1.8.8)
  2. Set up the backend server in a separate directory
  3. Create a start script (e.g., start.bat for Windows or start.sh for Linux) with the following content: (Déjà vu?)
    java -Xms1024M -Xmx1024M -jar server-jar-name.jar
    Or better yet, use this tool to generate optimized startup flags.
  4. Configure server.properties (Disable online mode, change the port, etc.)
  5. Configure spigot.yml to have this: bungeecord: true
  6. If your server is on a different version than 1.8.8, you need to download the Via Plugins from this link.
  7. Add the backend server to your Waterfall config.yml by scrolling to the servers section and editing/adding an entry for your server, such as localhost:port.

Step 3: Install EaglercraftXBungee Plugin

  1. Download the EaglercraftXBungee plugin from here.
  2. Place the downloaded JAR file in the Waterfall server's plugins folder
  3. Restart the Waterfall server to generate the plugin's configuration files
  4. Configure the EaglercraftXBungee plugin as needed (disabling online mode, etc.)

Step 4: Port Forwarding

  1. Access your router's admin panel
  2. Set up port forwarding for port 8081 (Eaglercraft) and 25565 (Minecraft) to your server's local IP address
  3. Download and install Caddy from here.
  4. Create a file called Caddyfile with this configuration:
    0.0.0.0 {
        reverse_proxy localhost:8081
    }
  5. If you aren't planning on using a custom domain, then you can start Caddy with caddy start and jump to this section to connect to your server.

Step 5: Domain Configuration (Optional)

If you want to use a custom domain:

  1. Purchase a domain from a domain registrar
  2. Set up an A record pointing to your server's public IPv4 address
  3. Edit the Caddyfile you made earlier, replacing example.com with your domain:
    example.com {
        reverse_proxy localhost:8081
    }
  4. Start Caddy to apply these changes, using caddy start (not attached to your terminal) or caddy run (attached to your terminal, used for logging.)

Connecting to Your Server

Players can connect to your server using an Eaglercraft client (like eaglercraft.dev) entering your server's IP address or domain (if configured) and port 8081.

Examples:

ws://localhost:8081
wss://us.nightshade.lol

Security

Ensure you keep all software (especially the EaglercraftXBungee Plugin) up to date and properly secure your server to protect against potential vulnerabilities.

Legal

Eaglercraft is illegal, but the server software/plugin is not. We wrote an article about this!