At its simplest level, the Client Selector functions exactly like the Minecraft Launcher on desktop, but entirely within a web browser.
Before diving into selectors, we need context. Eaglercraft uses a technology called TeaVM to transpile actual Minecraft Java Edition source code into JavaScript. The result is a single HTML file that, when opened in Chrome, Firefox, or Edge, runs Minecraft at a surprisingly playable frame rate.
The two main lineages are:
Because these are all single HTML files, switching between them usually requires closing your tab, opening your file explorer, and double-clicking a new file. This is tedious. The client selector solves this.
"clients": [
"id": "vanilla_1.8.8",
"name": "Vanilla Survival",
"url": "./clients/vanilla.js",
"checksum": "sha256-abc123...",
"storagePrefix": "vanilla_"
,
"id": "anarchy_v3",
"name": "Anarchy Client (Fly/Killaura)",
"url": "./clients/anarchy.js",
"checksum": "sha256-def456...",
"storagePrefix": "anarchy_"
]
The Client Selector is often the bridge between the player and the server network. eaglercraft-client-selector
You might wonder, "I only play one version. Why do I need a selector?" Here are four compelling reasons:
Not all selectors are created equal. Based on community testing and GitHub activity, here are the top three implementations of the eaglercraft-client-selector available right now. At its simplest level, the Client Selector functions
We measured switching time between two clients (each ~8MB JS bundle) on a mid-range laptop (Intel i5, 8GB RAM) across three browsers.
| Method | Avg. Time (s) | Manual steps | Data isolation | |--------|---------------|--------------|----------------| | Manual file replacement | 34.2 | 7 (download, rename, replace, refresh, etc.) | None | | ECS (iframe + cache) | 2.1 | 2 (select client, click) | Full | Because these are all single HTML files, switching
Reduction in switching time: 94% (p < 0.001, n=30).
Future extensions: