Epoch Street Official BoardsNewsDev blogGuide 日本語

← All guides

Playing over Parsec

Parsec is an app that streams one PC's screen to people somewhere else so they can play on it together. With Epoch Street, only the host's PC runs the game. Guests watch the stream and use their own controllers to join Local multiplayer on the host's PC.

★ The four things that matter most

1. Guests play with a controller (a keyboard would be shared with the host's)

2. Turn the game's Mouse input Off (a mouse can click during somebody else's turn)

3. Connect every guest first, then open Player setup (a controller that is not connected cannot be picked)

4. Hand over Controls presets in advance (guests send their layout, name, piece and colour as a file; the host just applies it to a seat → 3b, 4e)

★ Controls presets pay off even for seasoned Parsec users. However fast the Parsec side goes, the in-game setup (having each guest press buttons one by one, typing names, choosing pieces and colours) can only be talked through over the stream, and it takes time per person. With a Controls preset it becomes a few seconds of "load and apply" per guest, and the same file works again next time.


1. How it works — what reaches the game

When a guest connects over Parsec and presses a button on their controller, the host's PC gains one virtual controller (an Xbox 360 controller by default). The game calls it by number: Controller 1, Controller 2… (a controller the host plugged in for themselves counts too)

How input travels — a guest's controller becomes a controller on the host's PC
How input travels — a guest's controller becomes a controller on the host's PC
InputWhat the game sees
A guest's controllerOne separate controller on the host's PC each. Only the controller assigned to a seat works on that seat's turn
A guest's keyboardIf Parsec allows it, it becomes the same single keyboard as the host's. With two keyboard seats, anyone's keys work on either turn
A guest's mouseIf Parsec allows it, it becomes the same single mouse as the host's. The mouse ignores seats (see the warning below)

⚠ The mouse is the one input with no seat. With Mouse input on, the host (or a guest allowed a mouse) can click through somebody else's turn. On a Parsec day, turn the game's Mouse input Off (2b).


2. The host's preparation (before the guests arrive)

2a. Parsec settings

On the host's PC, open Parsec's Settings (cog) → Host.

SettingUseWhy
Parsec Virtual USB GamepadsEnabledThis is what brings guests' controllers onto the host's PC. If the driver is missing, install it from the link on this row
Virtual Gamepad TypeXbox 360 (default)Epoch Street reads it as an Xbox 360 controller. There is no reason to pick another type

After a change, press Restart at the top of the settings page.

2b. Game settings

Check these rows in the title screen's Settings (each one saves the moment you change it → "Settings").

Settings → Other — Mouse input is at the bottom; Key config, Controller config, Input test and Controls presets are on the same tab
Settings → Other — Mouse input is at the bottom; Key config, Controller config, Input test and Controls presets are on the same tab
TabRowUseWhy
OtherMouse inputOffThe mouse does not check whose turn it is. With it off the host still drives every screen from the keyboard
DisplayScreen modeFullscreenParsec streams the whole screen. In a window, guests see your desktop too
DisplayFrame-rate limit60 fpsParsec's stream normally tops out at 60 fps. A limit takes load off the host's PC
MusicBGM volume / SFX volumeTo tasteGuests hear the host PC's sound as it is. Keep it quiet enough to talk over
DisplayStreamer ModeNormally OffNot needed just to connect over Parsec. Turn it on only if you are also streaming or recording

Mouse input is also in the in-match settings (your turn's Menu → Other → Settings). Both are the same single setting.

2c. Get the boards and assets ready

Guests' PCs need nothing. Only the boards, pieces, textures and sounds on the host's PC can be used.

2d. Save a player preset (when it is the same group every time)

In Local multiplayer → Player setup, set the count, names, pieces and colours, then press P (or Presets (P) at the bottom) → K to save. Next time Enter (use) brings the same line-up back.

2e. Ask the guests for their Controls presets

Ask guests who own the game to send their Controls preset file (.espreset) by the day before (3b shows how). On the day you only load it and apply it to a seat (4e), so the time from connecting to starting shrinks a lot.


3. The guests' preparation

3a. Parsec and the controller

  1. Install Parsec and make an account (being friends with the host makes connecting easier)
  2. Plug in the controller, open Parsec's Settings → Gamepad, pick your controller, press buttons and watch the State display move
  3. If you run something like DS4Windows or BetterJoy that turns a controller into an Xbox one, check that Parsec's list does not show the same controller twice. If it does, the host's PC gets two controllers from you (remove one of them)

No controller? Talk to the host first. If the host allows a keyboard you can play with it, but the keyboard is shared with the host's, so keyboard seats cannot be told apart (the table in section 1).

3b. ★ Make a Controls preset and send it (if you own the game, please do)

If Epoch Street is on your own PC too, you can put your usual button layout, name, piece and colour into one file for the host. It is the fastest way through the setup on the day, so send it by the day before.

Handing over a Controls preset — the guest makes and sends it; the host loads it and applies it to a seat
Handing over a Controls preset — the guest makes and sends it; the host loads it and applies it to a seat
What a Controls preset carriesApplied on the host's PC
Controller layout (buttons and stick)Goes into your seat only — no binding buttons one by one
Name, piece, colourYour seat's name, piece and colour change in one go — no spelling your name over the stream
Keyboard layoutThe host skips it (to keep the host's own keyboard)

How to make it:

  1. On your PC, put your name and piece into Settings → Player: Player name and slot 1 of Pieces (priority: left first)
  2. In Settings → Other → Controller config, adjust P1's layout as you like (the default is fine too)
  3. Open Settings → Other → Controls presets and press K to save the current state (give it a name)
  4. On that row press E to write it out as an .espreset file
  5. Send the file to the host (over Discord, for example)

A Controls preset also carries the whole keyboard layout. The host applies it with the keyboard skipped (4e), so guests need not worry about it.


4. Connecting the guests — on the day

Work from the top down. The order matters at "connect everyone → check the numbers → assign the seats".

On the day — connect everyone, check the numbers, then assign the seats
On the day — connect everyone, check the numbers, then assign the seats

4a. Before connecting (host)

4b. Connect (everyone)

  1. Guests connect to the host over Parsec. The host gets a prompt: Accept (or Ctrl+F1)
  2. Guests press a button (A, say) on their controller one at a time, in the order agreed. When the host's PC plays its "USB device connected" sound, that controller is in
  3. Once everyone's sound has played, move on

To redo the order, the host right-clicks Parsec's icon in the taskbar and chooses Reset gamepad — every guest controller is dropped. Then have everyone press a button again, in the order you want.

4c. Check who has which controller

Open Settings → Other → Input test and have the guests press a button one at a time.

Input test — the top line names the controller just pressed (pictured with none connected)
Input test — the top line names the controller just pressed (pictured with none connected)

4d. Assign the seats

Open Local multiplayer → Player setup (with a preset from 2d, press P → Enter here).

Player setup — each seat's Controls row decides that seat's controller
Player setup — each seat's Controls row decides that seat's controller
Controls — P2 — set Input device to that person's controller with ←→
Controls — P2 — set Input device to that person's controller with ←→
  1. Set Players at the top to the number playing
  2. On each seat card, press Enter on the Controls row to open "Controls — P2 …"
  3. With ←→ on Input device, pick that person's controller from your 4c notes (it cycles keyboard → connected controllers → CPU, skipping controllers another seat is using)
  4. Controller config and Input test here open that seat's layout to fix or try
  5. Esc back, and once every seat is done set each seat's name and piece

4e. ★ Apply a guest's Controls preset (when you have the file from 3b)

This is the heart of the setup on the day. Once 4d has given each seat its controller, press K on Player setup (or Controls (K) at the bottom) to open the Controls presets list.

The card for using a Controls preset — for a guest's preset, set Keyboard to Skip
The card for using a Controls preset — for a guest's preset, set Keyboard to Skip
  1. Press I and load the guest's .espreset (it is added to the list)
  2. Press Enter (use) on that row; a card asks where each part goes
  3. Set the three rows like this:
RowSet it toWhy
KeyboardSkipOtherwise this PC's whole keyboard layout becomes the guest's (every profile)
ControllerInto P○'s seat (that guest's seat)The guest's button layout goes into that seat only
Name, piece, colourTo P○ (the same seat)Opened from Player setup, it changes that seat's name, piece and colour
  1. Press Apply and check, then press Confirm within 10 seconds to keep it (with the keyboard skipped, the host's keyboard Enter will do). Otherwise the controller layout goes back. Name, piece and colour are kept the moment you press
  2. Repeat 1–4 for each guest

4f. Fixing a button layout

Controller config is per seat (changing P2 leaves P3 alone). Opened from a seat's Controls → Controller config in Player setup, it shows that seat's table.

Controller config — one table per seat; Tab for another seat
Controller config — one table per seat; Tab for another seat

5. During the match


6. If a connection drops

When a guest's Parsec connection drops, their controller leaves the host's PC too. The game does not pause. When that seat's turn comes, nobody can move it until the controller is back.

  1. The guest reconnects over Parsec and presses a button on their controller
  2. When a controller of the same kind comes back, the game puts it back on that seat
  3. Once it is back, check that it moves on that seat's turn

⚠ Parsec guests' controllers all look like the same kind (Xbox 360). If two people drop and come back at once, their seats can swap. Check the number with the current player's Menu → Other → Settings → Input test. If they did swap, suspending (section 7) and reconnecting is the sure fix.

If someone cannot come back at all, suspend and resume to get their seat moving again: on resume, a seat whose controller is not connected becomes a Keyboard seat.

  1. Suspend between turns from somebody else's turn (section 7). If it is already that person's turn, close the game (the autosave from the start of that turn is kept)
  2. Resume with Continue on the title screen (with both saves present you can choose)
  3. The host's keyboard now drives that seat. To hand it to the CPU, choose Menu → Other → Relief (CPU) on its turn (Backspace ends it)

7. Suspend now, carry on another day

  1. The current player chooses Menu → Other → Save & quit → Suspend & quit to title. It is only available between turns (mid-turn it is greyed out)
  2. Next time, resume with Continue on the title screen

⚠ Connect every guest before resuming. On resume each seat gets back the controller number it had when you suspended. A seat whose controller of that number is not connected becomes Keyboard — and the host's keyboard drives it. Have everyone press their button in the same order as when you suspended (4b), then press Continue.


8. When you are done (host)


9. When something goes wrong

ProblemWhere to look
A guest's buttons do nothingDoes Input test (4c) react? If not: Parsec's Virtual USB Gamepads (2a) and the guest's Gamepad tab (3a)
Input test reacts, but nothing moves in the matchThat person's seat's Controls → Input device must be that controller number (4d)
One guest counts as two controllersDS4Windows or similar doubling the controller on the guest's PC (3a)
The numbers are in a jumbleHost's Parsec Reset gamepad → press the buttons again in the agreed order (4b)
Someone gets moved during another person's turnIs the game's Mouse input off (2b)? Has Parsec given guests a keyboard or mouse?
A seat became CPU after using a presetA controller was not connected yet. Connect everyone, then fix that seat's Input device (4d)
A guest's buttons mean the wrong thingsThat seat's Controller config (4f). The guest's controller arrives on the host's PC as an Xbox 360 button layout
The stream stutters or lagsThe game's Frame-rate limit at 60 (2b). If it is still heavy, look at Parsec's bandwidth and resolution settings

10. Further reading (Parsec's own help)

Parsec's screens and setting names can change between Parsec versions. For anything about Parsec itself, the official pages above are the most current.


If you try playing over Parsec and notice anything, tell us on Discord.