# Mayhem Party Venue `git submodule init; git pull --recurse-submodules --jobs=10; git submodule foreach git pull origin master` # 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 rm target/x86_64-pc-windows-gnu/release/rusty-pipe-signed.exe read -p ".crt? " CERT osslsigncode sign \ -certs ${CERT%.crt}.crt -key ${CERT%.crt}.key \ -n Rusty-Pipe -i https://whois.home.blapointe.com \ -in target/x86_64-pc-windows-gnu/release/rusty-pipe.exe -out target/x86_64-pc-windows-gnu/release/rusty-pipe-signed.exe echo local cargo install --path ./ ``` Each client needs 1 executable and 1 config file with a unique user "name". The server cannot be a client because sending, listening, and typing keyboard is bad. Maybe a VM on the client as a server would work tho. See `./config.d/rusty-pipe.d` # Server ## Docker ```bash docker build -f Dockerfile -t mayhem-party-venue . && docker run -p 17071:17071 -p 17070:17070/udp --rm -it -v /run/user/$UID/pulse/native:/run/user/0/pulse/native -e PULSE_SERVER=unix:/run/user/0/pulse/native -v "$PWD"/mnt.d:/mnt -e DEBUG=true mayhem-party-venue ``` ## Game Playing Foreground