Quick start

This page walks you from choosing a handle to issuing your first orders. If you have never played before, start here. For the complete lobby guide, see The public lobby.

Step 1: Choose a handle

In Your name, enter a display name and choose Set name. Use 1–24 Unicode characters after trimming, with at least one non-whitespace character. Do not use control characters, invisible direction markers, or malformed Unicode; well-formed emoji counts as one character. If the name is already in use, choose another — comparison ignores case and surrounding whitespace.

You can rename yourself later with Change name and Update name. Your accepted handle is the label shown in the lobby, waiting room, and match participant labels. If no handle is available, the interface uses a generic label or safe ID fallback; these IDs only correlate a participant and do not grant access.

Step 2: Create or find a match

The resulting match address uses a semantic path such as /match/m-123/join for player entry or /match/m-123/spectate for read-only viewing. A plain /match/m-123 address adapts to the match state: an open waiting match offers player entry, while a running match is viewed as a spectator. Your accepted handle and reconnect session come from this browser’s stored guest session.

The lobby list updates as games fill, start, and finish. Private matches are not listed — join them with the match ID or link supplied by the host. If a match disappears before your action is accepted, you get a recoverable message and a refreshed list.

Step 3: Wait for the game to start

After creating or joining, you may see a waiting overlay — for example, “Waiting for 2 more players… (1/3)” — with your handle and the seat count (shown as k / N, where k seats are filled of N total). The game starts automatically when all required seats are filled. You do not need to refresh or press Start. On the first tick, the waiting view changes to the board.

If you return to /lobby, your active match is marked Your match and cannot be claimed again by the same guest session.

Step 4: Play

Once ticks start flowing (the HUD shows a running tick counter), you are commanding. Safe first things to try:

When you are ready for offense, read Special weapons for paratroopers and guns, and keep the Controls reference open nearby.

Refreshing, disconnecting, and forfeiting

Life happens: tabs get refreshed, laptops sleep, Wi-Fi drops.

The 60-second grace window is measured from the moment your connection dropped.

Unstarted matches do not wait forever

A waiting match that never fills is eventually cleaned up by the host after about five minutes. If the waiting overlay never goes away, return to the lobby and choose another match or create a new one.

If the server restarts, its in-memory lobby and guest sessions reset. Reload, choose a handle again, and create or join a new match.

Hosting a multi-player match (self-host)

If you run Europa Neo yourself, the single-command host boots one web server on http://localhost:8080/ and serves the lobby. To pre-create a filled match and print a join URL for each seat, add --create. For a 3-player game on the 48×48 board:

pnpm host --create --players 3 --board-size 48

This creates a public 3-player match that auto-starts when the third seat is claimed, and prints three join URLs — all served from the single 8080 port (there is no second port). Every printed URL uses the canonical semantic match path /match/<matchId> and contains the match ID only: no handle and no bearer credential of any kind. Reconnect credentials stay in each player’s own browser storage. Omit --board-size and the host picks the default for the player count (3p → 48). See the project README for the full self-hosting guide.


Back to contents