Online Players
Start the server to see players.
BOTTLE Plugin Manager
EaglerForge is an alias — all plugins work with both names
Built-in Plugins
EaglercraftXServer
ChatFilter
AntiCheat
WorldEdit
WorldGuard
Multiverse
Enable/disable in
config.js → bottle.builtinsNo user plugins loaded yet.
♦ Drop
.js plugin files here — uses BOTTLE.register() or EaglerForge.register()
🌐 Connect by IP Address (same network / LAN)
Players on the same network can connect directly using a WebSocket address — no SDP exchange needed. The relay is handled by the server automatically.
Relay status:
Disconnected
🌐 Internet URL (via Replit proxy, works anywhere)
—
📶 LAN URL (same network — replace with your machine's local IP)
ws://YOUR_LOCAL_IP:8080/mc
In EaglercraftX: Multiplayer → Direct Connect → paste the URL above.
Start the server first — the relay connects automatically when the server starts.
Start the server first — the relay connects automatically when the server starts.
📡 WebRTC Offer / Answer (works across internet)
For players who cannot reach this server by URL. Creates a peer-to-peer session — no port forwarding needed, works on restricted networks.
- Start the server, then click Generate Offer.
- Copy the offer code — send it to the player (Discord, chat, etc).
- Player opens EaglercraftX → Direct Connect → WebRTC → pastes offer.
- Player copies back an answer — paste it below and submit.
💻 Same-Browser / LAN Testing
Open another tab with the same URL to test locally. The server runs in this tab's Web Worker; the other tab acts as a client.
Seed
—
World gen seed
Players
—
Online / Max
TPS
—
Max 20
Uptime
—
Since start
Tick
—
Total elapsed
Plugins
—
BOTTLE loaded
Server Configuration (applied on next Start)
World Seed (blank = random)
Max Players
Default Gamemode
Difficulty
MOTD
Supported Versions (edit config.js → versions.enabled)
1.5.2 p61
1.6.4 p78
1.7.10 p5
1.8.9 p47
1.9.4 p110
1.10 p210
1.11.2 p316
1.12 p335
1.12.2 p340 ★
★ Native format. Older versions use a protocol compatibility layer.
BOTTLE Plugin API
The plugin API is named BOTTLE.
EaglerForge is a drop-in alias for compatibility with existing EaglerForge plugins.
Plugins call BOTTLE.register(manifest, hooks) or EaglerForge.register(manifest, hooks).
Built-in plugins (toggle in
config.js):| Plugin | Default | Description |
|---|---|---|
| EaglercraftXServer | on | WebRTC, skins, voice chat support |
| ChatFilter | off | Spam and profanity filter |
| AntiCheat | off | Basic movement speed checks |
File Structure
eaglernet/
├── config.js ← §7Server config (versions, plugins, world)
├── index.html ← §7Open this to launch the dashboard
├── manifest.json + sw.js ← §7PWA + offline support
├── css/main.css
├── js/
│ ├── dashboard.js ← §7Admin UI
│ ├── plugin-api.js ← §7BOTTLE API (browser context)
│ └── mc/
│ ├── buffer.js ← §7VarInt, VarLong, UUID, Position
│ ├── nbt.js ← §7NBT all 13 tag types
│ ├── noise.js ← §7Simplex noise (terrain gen)
│ ├── blocks.js ← §7Block state IDs 1.12.2
│ ├── world.js ← §7World gen (terrain, caves, ores)
│ ├── chunk.js ← §7Chunk palette encoder
│ ├── protocol.js ← §71.5.2→1.12.2 state machine
│ └── server.js ← §7Game server Web Worker
└── plugins/
├── eaglercraftxserver/ ← §7[builtin] EaglercraftX support
├── chatfilter/ ← §7[builtin] spam/profanity filter
├── anticheat/ ← §7[builtin] movement checks
└── example-plugin/ ← §7Template for your own plugins