# 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` ```bash # https://www.reddit.com/r/rust/comments/5k8uab/crosscompiling_from_ubuntu_to_windows_with_rustup/ ( echo '[target.x86_64-pc-windows-gnu]' echo 'linker = "x86_64-w64-mingw32-gcc"' echo 'ar = "x86_64-w64-mingw32-gcc-ar"' ) >> $HOME/.cargo/config sudo apt install mingw-w64 rustup target add x86_64-pc-windows-gnu echo windows cargo build --release --target x86_64-pc-windows-gnu && ls target/x86_64-pc-windows-gnu/release/rusty-pipe.exe echo local cargo install --path ./ ``` 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 (51) 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 ## `mayhem-party` ### Configs `cd ./config.d/mayhem-party.d/remap.d; bash ./rotate.sh` > rotate anytime via stdin or `pkill -SIGUSR1 -f rotate.sh` ### Binary `bash -c 'true; source ./config.d/mayhem-party.d/env.env; mayhem-party'` ## Game Playing Foreground ## `stt` TODO pipe stt detecting relevant strings -> change the `./config.d/mayhem-party.d/remap.d/live.yaml` link -> `SIGUSR1` to `mayhem-party`