# I'm Your Host — Quick start

## Host a game with phones

1. Extract the complete ZIP into a folder. Do not run it from inside the ZIP.
2. Open **Start I'm Your Host.command** on macOS, **Start I'm Your Host.bat** on Windows, or run **Start I'm Your Host.sh** on Linux. The launcher uses an existing Node.js 22+ runtime or downloads a verified official runtime into this game folder on first launch. Internet is needed for that download, but nothing is installed globally. Supported downloads are macOS, Windows, and Linux on x64 or ARM64.
3. Keep the Terminal window running. The private host console opens in your browser. The launcher uses port 3000 or finds another available port if needed. On macOS, if a downloaded script will not open, use Terminal: `cd` into the extracted folder and run `sh scripts/start-local.sh`.
4. Follow four setup screens: choose your show, who’s playing and how they answer, the question mix, then review and open the lobby. Mixed mode combines live buzzing with timed phone answers.
5. Put phones on the **same Wi-Fi as the host computer**. Share the player QR/link from the host console. Do not use `localhost` on phones.
6. Open **Audience display** on a second screen, TV, or stream. Keep the host console private: it contains answers and live written submissions.
7. Start the game. Preview a question privately, show it when ready, then open buzzers or start the written-answer countdown.

No accounts, paid service, API keys, npm installation, or internet connection are needed during local play. One room runs per copy of the app. If automatic runtime setup cannot run on your computer, install a compatible [Node.js 22+ runtime](https://nodejs.org/en/download) manually and relaunch.

## Difficulty and variety

Medium, Medium-hard, Hard, and Extremely hard are worth 10, 20, 30, and 40 points. The default rated mix favors Medium-hard and Hard, with fewer Medium and Extremely hard questions. The community archive has no calibrated difficulty rating and scores 20 points.

The focused bank includes recall, identification, connections, odd-one-out, ordering, matching, anagrams, lists, and two-part questions. The host judges equivalents and partial answers consistently with their chosen house rules.

## Prepare your questions

Open **Question library** on the host computer. Search by clue, answer, or topic; filter by collection, category, difficulty, and format. Open **Answer & source** to check a question privately. Add it to your lineup and use the up/down buttons to arrange your show. Give the lineup a name so it is easy to recognize.

Your lineup is saved on this computer and can hold up to 100 questions. Open the lobby and start Quickfire, then choose **Preview next in lineup**. Each question opens privately; you still decide when to show it and accept responses. You can also choose **Use this question** in the catalog during a live game or draw a random one. Finish or skip the current question before selecting another. Players never receive the library or your planned questions.

Played questions leave the lineup, while unplayed entries survive a restart or replay. **Clear lineup** removes only the plan, not questions from the library. The Big Board continues to use category tiles.

## Round sheets: replace the paper

In Quickfire, add 1–30 questions to your lineup (up to 100 may be queued). After starting the game, go to Question library → Arrange & play. Name the sheet, enter an optional secret connection answer, and choose **Open round sheet**. The first 30 questions leave your lineup and appear together on every phone. Multiple choice uses tap buttons; written questions have individual answer boxes. Every answer saves automatically. Players can scroll back and edit any answer until you collect the sheets.

There is no countdown for a round sheet. Choose **Collect answer sheets**, then grade each box in **Answer desk**, now or after more rounds. **Mark blanks incorrect** handles empty answers. Each correct answer earns one point, including the optional connection bonus. Mark every box before **Publish round totals**. Publishing twice does not double the points; corrections adjust only the difference. Grade and publish all sheets before ending the game. Export the answer desk as CSV before replay resets this game’s history.

Players can open **Your answer history** for their saved answers by section. Other players’ sheets stay private. Sheets, grades, and scores survive a restart.

## Bring your own questions

Question library → Bring the questions accepts Excel (.xlsx or .xls), CSV, and TSV up to 2 MB, with 1–100 rows per import. Google Sheets: use File → Download → Excel or CSV, then upload it here. Pick a worksheet and check the private preview before importing. No restart is needed.

Download the CSV template for headers. `prompt` and `answer` are required. Optional columns: `category` (Host’s Selection name or ID 0–29), `type` (answer, blank, multiple, truefalse), `difficulty` (low, medium, hard, extreme), `format`, `options` (four choices separated by |), and `responseMode` (written or buzzer). The correct multiple-choice answer must exactly match an option. Blank prompts contain ____. True/false answers are True or False. The importer rejects the entire batch if a row is invalid or duplicated. It stores the imported questions in the private room save and keeps them through replay.

You can also use **Or write a question right here**, then search for it and add it to the lineup.

## Written answers

Choose written answers or Mixed mode in settings. Preview the question privately, show it to the room, and start the countdown as a separate step. Players type and submit on their phones; only the host sees incoming answers. Pause the countdown or add 10 seconds if the room needs it. The server closes submissions at the deadline and waits for you. Review answers privately, reveal the expected answer and everyone’s responses together, then publish scores when ready. Marking an answer does not publish its points. Exact text matching is a suggestion; you decide acceptable spelling and equivalent answers.

## Buzzers and the question screen

Choose manual opening or opening when the question is revealed. Select one attempt per question or another attempt after a wrong answer. The host can hide and show the question independently. Accepted buzzes play a buzzer cue on the host computer after sound is enabled. Correct and incorrect outcomes use the recorded scoring clips.

## You control the room

The audience-control bar stays available across host tabs. **Hold room** switches phones and TV to a holding screen, freezes a running countdown, and locks responses. **Show leaderboard** pauses the question while putting scores on screen. **Resume question** returns to exactly where you left off; a previously locked buzzer stays locked. These pause states survive a server restart.

The next-action card explains what players currently see and what your next button will do. Nobody sees a private preview, draft grade, or another player’s response before you choose to reveal it. If a question is unsuitable, skip it without awarding points. You always choose when to reveal the answer, publish written-round scores, move on, or end the game.



## TV, streaming, and sound

Use `/display` for the shared screen. Never stream the host page or private remote URL. Enable sound with a click on the host computer and check your actual speakers before guests arrive. The sound desk docks beside the game. **Game cues** holds the show sounds; **Memes** contains all 30 recorded meme clips. Automatic sounds cover correct/incorrect outcomes, final five seconds, time-up, answer reveals, and next-question transitions. Private written-answer grading stays silent until results are published. Use **Automatic game sounds** to switch automatic cues off, while keeping manual clips available. **Stop** cancels both playing and loading audio. Pausing freezes the final-seconds sound; resuming continues the remaining tail. Extending time cancels the old countdown cue and prepares a new one at the updated final five seconds. Browser autoplay rules require a user gesture. Arrival at the host server sets buzz order, so Wi-Fi latency can affect close calls.

## Wi-Fi troubleshooting

- Allow Node through the computer's local-network/firewall prompt.
- Avoid guest Wi-Fi and access-point isolation; both can prevent phones from reaching your computer.
- The host console may show several network addresses. Use the Wi-Fi address if one does not connect.
- Keep the computer awake and plugged in. Disconnect a VPN if it blocks local traffic.
- Reopen the player link in the same phone browser to reconnect with the saved player identity.
- The launcher finds a free port starting at 3000. Always share the current link shown in the lobby. To select a specific port, set the `PORT` environment variable before starting the server.

## Save, replay, and privacy

The local `.game-state.json` file stores the game, scores, and reconnect credentials. Keep it private. The public download contains no saved game or credentials. Play again resets the round while retaining players when selected. To move a saved game to another computer, stop the app first and copy the whole folder privately.

The multiplayer server is intended for your trusted local network. Do not expose it through router port forwarding. The public website offers a one-device sample round and the download; it does not create cloud multiplayer rooms.

## Questions

See `QUESTION-LIBRARY.md` for exact counts, source links, difficulty labels, and the distinction between authored focused packs and the much larger community archive. Community questions are not editorially difficulty-rated; some may need host judgment. See `data/licenses/` for third-party question licensing. Keep those notices when sharing a copy.
