This guide will show you how to make your own EaglercraftX server. These steps may only apply to 1.8 EaglercraftX and not legacy 1.5 Eaglercraft.
To properly host your own server you will need:
You must have access to a VPS or a dedicated server that is accessible from the Internet.
A few VPS and dedicated server services are listed below, but it is advised that you do your own research to find what works for you.
Other options, such as GitHub Codespaces or Repl.it are available, however using these services would limit your ability to list your server on Eagler Server List.
You will need to have some basic knowledge of how to interact with the Linux operating system, and in turn the Linux terminal. Click here for a Linux basics guide that should help you with all the knowledge you will need for this tutorial.
EaglercraftX relies on BungeeCord or Velocity in order to operate the WebSocket connection that enables Eaglercraft users to connect to your server. If you are unsure of how to setup a basic BungeeCord or Velocity network, the tutorial will be able to provide some insight, but it is recommended that you do your own research to understand how it works. One guide can be found here, which talks about the basics of how BungeeCord works.
The latest EaglerXServer plugin allows for connections directly to backend, removing the need for a proxy such as Bungeecord or Velocity. We still recommend utilizing a proxy software and adding the plugin there.
This step will show you how to install Java 17 on your VPS server.
To keep things simple examples will only be provided for Debian/Ubuntu or distributions based around the APT package manager.
Installing Java is fairly easy. In this guide Eclipse Temurin will be our JVM of choice.
The commands for installing Eclipse Temurin Java 17 are as follows:
apt install -y wget apt-transport-https gpg
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor | tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null
echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list
apt update # update if you haven't already
apt install temurin-17-jdk
These commands have been directly taken from Linux (RPM/DEB/APK) installer packages and are only provided here for ease of use. It is encouraged to review the page for changes incase this wiki is outdated.
After installing Java we can get started with downloading the proxy software of our choice. EaglercraftX currently supports the two most popular softwares, that being BungeeCord and Velocity.
For simplicity this guide will assume you are using BungeeCord but steps for Velocity are almost the same.
java -jar BungeeCord.jar
inside of the directory where you placed the file.end
into the servers console.plugins
.EaglercraftXServer.jar
file into this directory and start up your BungeeCord instance again. We dont need it to stay online so just turn it off by typing end
in the console once again.This is the expected folder structure after following these steps.
📂 Proxy
├── 📁 modules
├── 📂 plugins
│ ├── 📂 EaglerXServer
│ │ ├── 📁 drivers
│ │ ├── 📁 eagcert
│ │ ├── 📄 ice_servers.toml
│ │ ├── 📄 listeners.toml
│ │ ├── 📄 pause_menu.toml
│ │ ├── 📄 server_info.html
│ │ ├── 📄 server_info_message_api_example.html
│ │ ├── 📄 server_info_message_api_v1.js
│ │ ├── 📄 settings.toml
│ │ ├── 📄 supervisor.toml
│ │ └── 📄 test_image.png
│ └── 📄 EaglerXServer.jar
├── 📄 BungeeCord.jar
├── 📄 config.yml
└── ❓ Other BungeeCord related files.
After successfully installing BungeeCord and EaglerXBungee you will need to configure it properly.
This step is required to allow normal EaglercraftX players to join without the need for a Minecraftt: Java Edition account.
This will allow anyone to join your server with any name including yours which could lead to some catastrophic events so make sure to setup and authentication plugin. This is not featured in this guide but updated and popular choices are AuthMeReloaded and nLogin.
To switch your proxy into offline-mode you will need to edit the config.yml file located in the root of your proxy installation.
In the file look for a line that says:
online_mode: true
This is where you can control if your proxy will be set to online-mode or offline-mode. We will need this to be set to false like this:
online_mode: false
With that your proxy is in offline-mode.
Navigate to plugins/EaglerXServer
inside of your proxy installation folder.
Documentation regarding EaglerXServer may not be accurate. Although the process is similar to what you need to do, it may not be exact and has different settings. If you wish to have detailed instructions to setup Eaglercraft support on your server, download 'EaglerXBungee' from https://git.eaglercraft.rip/eaglercraft/eaglercraft-builds
After downloading, upload it according to the instructions above, and continue below.
First we will turn off EaglercraftX's built-in authentication system because it isn't of much use for us.
Open authservice.yml
and set the property enable_authentication_system
to false
if it isnt already.
Then we will change the servers name to show up properly when you are using servies like EaglerServerList.
Open settings.yml
and set the property server_name
to a name of your liking.
To finish the setup we will customize your servers motd.
Open listeners.yml
and under listener_01.server_motd
specify your own motd. This field supports legacy format codes
To see if the previous steps worked, start your BungeeCord installation and add the servers IP along with the port specified in listeners.yml
(default 8081) to your EaglercraftX multiplayer server list. Please note this will only work on non-SSL encrypted sites because we have not set up any SSL encryption so you will have to use a offline downloaded HTML file for EaglercraftX.
Joining the server at this point will kick you back out immediately, this is normal and expected because you have not yet set-up a server. You will set one up in the next steps.
After confirming that the previously created BungeeCord instance works as expected its now finally time to create yourself a backend server so you can actually start playing.
The server software of choice is PandaSpigot. It is an updated 1.8.8 server software that has a lot of performance and bug fixes.
You may also choose to install other server software. You can even use newer versions of minecraft with the Via* suite of plugins. This is however not recommended because Via* does not actually port features from newer versions it works by finding workarounds (blocks released after 1.8 will be shown as placeholders from 1.8 for example)
Create a new empty folder for your backend server. In that folder you need to place the latest jar file of PandaSpigot.
You need to agree to the Minecraft EULA. To do so type echo eula=true > eula.txt
into your Terminal.
Your server is now ready to start. The start command is java -jar PandaSpigot.jar
where PandaSpigot.jar is the actual name of the jar file.
The server should now be starting. We don't need it right now so stop it again using stop
.
In the same folder that your PandaSpigot jar file is there should now be a bunch of new files. In order to make your server work you will need to change some values in server.properties to make your server work with bungeecord and eaglercraft. You should look for a line that says:
online-mode=true
You will need to change this regardless of if your bungeecord is set to true
or false
due to the way bungeecord works.
online-mode=false
It is important to close the port that your server is running on (defaultly 25565) on your firewall and/or router because having it open can lead to a backdoor.
Before you join the server there is one last thing you need to do if your server is on a different local network than your client. Unfortunately this differs between VPS hosts and routers.
If you are using a VPS simply google:
how to port forward with X VPS
If you are self hosting and want to make your server public first make sure you arent behind CG-NAT then google:
how to port forward with X isp
You will want to open the following ports (both TCP):
25577
if you want Minecraft Java Edition players to be able to join your server.
8081
if you want Eaglercraft players to join your server
At this point you should be able to join your server from multiple platforms:
Minecraft Java Edition @ 127.0.0.1:25577
EaglercraftX @ 127.0.0.1:8081
(NEEDS TO BE FROM A non-SSL source like an offline download)
(replace 127.0.0.1 with the IP to your server and 8081/25577 with the corresponding ports if you changed them)
A guide for setting up a domain for your server, as well as wss, will eventually be written at some stage.