Hosting your own client gives you full control over the default server list, resource packs, connection performance, and the overall player experience. The client is a static bundle of HTML, JavaScript, and asset files — no build step is required on the server side. Simply upload the files and serve them over HTTP or HTTPS.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/lDEVinux/eaglercraft/llms.txt
Use this file to discover all available pages before exploring further.
What’s in the Web Bundle
Thestable-download/web/ directory contains everything needed to run the in-browser client:
| File | Description |
|---|---|
index.html | Main entry point. Contains the eaglercraftOpts configuration object that controls servers, relays, and client behaviour. |
classes.js / classes.js.map | The compiled Minecraft 1.5.2 client, produced by the TeaVM Java-to-JavaScript compiler. |
classes_server.js / classes_server.js.map | Server-side logic for singleplayer worlds, also TeaVM-compiled, runs in a Web Worker. |
worker_bootstrap.js | Web Worker loader that bootstraps the singleplayer server worker. |
eagswebrtc.js | WebRTC adapter used for peer-to-peer LAN world connections. |
assets.epk | Compressed archive of all game assets — textures, sounds, fonts, and other resources. |
Deployment
Download the stable release
Download stable-download.zip from the repository.
Extract and locate the web/ folder
Extract the ZIP to a new folder on your machine. Inside, find the
web/ directory — this is the entire client bundle.Upload all files from web/ to your HTTP(S) server's document root
Copy every file inside
web/ (not the folder itself) to the document root of your web server (e.g. /var/www/html for NGINX or Apache on Linux). All files — including assets.epk and the .map source map files — must be present.Web Server Options
NGINX
Recommended for production. Supports TLS (
wss://), real IP forwarding for IP bans and rate limiting, and security headers. Can serve both the client files and reverse-proxy the WebSocket endpoint on the same domain.Web Server for Chrome
Easier setup for local testing. Install the Web Server for Chrome extension from the Chrome Web Store, point it at your
web/ folder, and access the client at localhost immediately — no configuration required.Any HTTP Server
Apache, Caddy, GitHub Pages, Netlify, Vercel, or any static file host will work. The client is entirely static — there is no server-side processing required to serve it.
Replit
Auto-sets up a complete server and client in one click. Useful for quick testing or sharing with others without managing your own infrastructure.
Configuring the Default Server List
Thewindow.eaglercraftOpts object in index.html controls the default server list shown to players on the Multiplayer screen, as well as LAN relay configuration, asset paths, and other client behaviour.
To change the default servers, open index.html and edit the servers array:
index.html
servers array requires:
serverName— display name shown in the server listserverAddress—host:portof the EaglercraftBungee instancehideAddress— set totrueto hide the raw address from players
eaglercraftOpts properties, see eaglercraftOpts Reference.
Auto-Join Links
You can link players directly into your server by appending a?server= query parameter to your client URL. After the player sets their username and skin, they will be automatically connected to the specified address:
index.html reads the server query parameter at load time and sets window.eaglercraftOpts.joinServer accordingly:
index.html