63 lines
1.7 KiB
Markdown
63 lines
1.7 KiB
Markdown
# 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
|
|
|
|
## TTS
|
|
|
|
`cd /home/breel/Go/src/gogs.inhome.blapointe.com/tts/larynx.d; bash run.sh`
|
|
|
|
## STT
|
|
|
|
`cd /home/breel/Go/src/gogs.inhome.blapointe.com/stt.d/whisper-2023; HOTWORDS=/home/breel/Go/src/gogs.inhome.blapointe.com/mayhem-party.d/host.d/config.d/stt.d/hotwords.txt MIC_TIMEOUT=2 URL=http://localhost:17071/ HEADERS=say='what fool said, {{hotword}}, when they said, {{context}}?' python3 ./hotwords.py'
|
|
|
|
## `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
|
|
|