66 lines
1.2 KiB
Markdown
66 lines
1.2 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`
|
|
|
|
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`
|
|
|