# Hosting a Mayhem Party ## Requirements 1. [`rusty-pipe`](https://gogs.inhome.blapointe.com/bel/rusty-pipe) 1. [`mayhem-party`](https://gogs.inhome.blapointe.com/bel/mayhem-party) 1. [`stt`](https://gogs.inhome.blapointe.com/bel/stt) # Clients ## Distribute `rusty-pipe` Each client needs 1 executable and 1 env file with a unique set of buttons > 10 buttons per player > `go doc key Undef | grep Key | grep -v Undef | wc -l` total (54) The server cannot be a client because math. Maybe a VM on the client as a server would work tho. See `./config.d/rusty-pipe.d` # Server ## `rusty-pipe` ```bash INPUT_NAME=udp INPUT_UDP_PORT=port ``` ## `mayhem-party` ### Configs Create some number of remap files at `/tmp/mayhem-party.d/*` with keys for EVERY client config button like the following with at least 1 effectively not mapped/empty ```yaml A: A B: B C: C ``` run `cd /tmp/mayhem-party.d; ln -s ./the-unmapped-file ./live` ### Binary ```bash DEBUG=1 INPUT_KEYBOARD=true INPUT_REFRESH_ON_SIGUSR=true INPUT_REMAP_FILE=/tmp/mayhem-party.d/live MAIN_INTERVAL_DURATION=5ms OUTPUT_KEYBOARD=true ``` ## Game Playing Foreground ## `stt` TODO pipe stt detecting relevant strings -> change the `/tmp/mayhem-party.d/live` link -> `SIGUSR1` to `mayhem-party`