Compare commits
37 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
936f1eed41 | |
|
|
83106a7bbc | |
|
|
f318f276a3 | |
|
|
e2e34c48b5 | |
|
|
bd1c3bebdc | |
|
|
57f801ba09 | |
|
|
8729883255 | |
|
|
468929384e | |
|
|
9cf57e2a71 | |
|
|
290225b7f1 | |
|
|
1a0b9143be | |
|
|
ac55a08796 | |
|
|
3653f286f8 | |
|
|
5a9dcac684 | |
|
|
86bd0d851d | |
|
|
55aae5a55f | |
|
|
d559f5244f | |
|
|
df2c5cb0ad | |
|
|
53cab7e43c | |
|
|
5062abdfc7 | |
|
|
d80b73a052 | |
|
|
5d70ac0002 | |
|
|
c2d2cda761 | |
|
|
6eb6cdbd49 | |
|
|
70ca9d645a | |
|
|
5fff9525e0 | |
|
|
fd31ede89e | |
|
|
3b9437fc9c | |
|
|
78b00ac62a | |
|
|
42212e3d10 | |
|
|
b2742b3631 | |
|
|
cc3e3f87fc | |
|
|
3ce34e20bb | |
|
|
495861c261 | |
|
|
33eec70077 | |
|
|
b991d3057b | |
|
|
d7a9face2f |
37
README.md
37
README.md
|
|
@ -2,34 +2,7 @@
|
|||
|
||||
# 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
|
||||
|
||||
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`
|
||||
Send link to `http://localhost:17072`
|
||||
|
||||
# Server
|
||||
|
||||
|
|
@ -40,11 +13,3 @@ See `./config.d/rusty-pipe.d`
|
|||
## Game Playing
|
||||
|
||||
Foreground
|
||||
|
||||
#### Discord
|
||||
|
||||
Yep
|
||||
|
||||
#### Dolphin
|
||||
|
||||
Yep
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
#! /bin/bash
|
||||
|
||||
curl -sS http://mp.home.blapointe.com:17071/gm/rpc/elect
|
||||
|
|
@ -1,11 +1,14 @@
|
|||
export DEBUG=true
|
||||
export MAIN_INTERVAL_DURATION=5ms
|
||||
|
||||
export RAW_UDP=17070
|
||||
|
||||
export PARSE_V01=true
|
||||
export V01_CONFIG=./config.d/mayhem-party.d/v01.yaml
|
||||
cp ./config.d/mayhem-party.d/v01{"",-live}.yaml
|
||||
export V01_CONFIG=./config.d/mayhem-party.d/v01-live.yaml
|
||||
|
||||
export WRAP_REFRESH_ON_SIGUSR1=true
|
||||
|
||||
export OUTPUT_KEYBOARD=false
|
||||
export OUTPUT_KEYBOARD=${OUTPUT_KEYBOARD:-false}
|
||||
|
||||
#export RAW_UDP=17070
|
||||
export RAW_WS_PROXY_URL=http://localhost$(cat config.d/mayhem-party.d/v01-live.yaml | grep -A 10 feedback | grep addr: | awk '{print $NF}')
|
||||
export RAW_WS=17072
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
#! /bin/bash
|
||||
|
||||
curl \
|
||||
-X POST \
|
||||
-i -sS \
|
||||
http://mp.home.blapointe.com:17071/gm/rpc/fillNonPlayerAliases \
|
||||
-d "[$(cat ./hotwords.txt | tr '\n' ' ')]"
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
mario
|
||||
luigi
|
||||
peach
|
||||
daisy
|
||||
wario
|
||||
waluigi
|
||||
bowser
|
||||
junior
|
||||
koopa
|
||||
shyguy
|
||||
boo
|
||||
toad
|
||||
toadette
|
||||
minigame
|
||||
win
|
||||
lose
|
||||
|
|
@ -0,0 +1,173 @@
|
|||
advance
|
||||
aliasing
|
||||
amiibo
|
||||
analoguestick
|
||||
animalcrossing
|
||||
artstyle
|
||||
battleroyal
|
||||
bigbrainacademy
|
||||
birdo
|
||||
bitgenerations
|
||||
bluetoad
|
||||
board
|
||||
boardgame
|
||||
boo
|
||||
boss
|
||||
bowser
|
||||
brainage
|
||||
capcom
|
||||
cardboardcutout
|
||||
cardgame
|
||||
category
|
||||
chainchomp
|
||||
characters
|
||||
charlesmartinet
|
||||
cpus
|
||||
customrobo
|
||||
destructoid
|
||||
diddykong
|
||||
die
|
||||
donkeykong
|
||||
ds
|
||||
editlinks
|
||||
educationalgames
|
||||
eurogamer
|
||||
famicomdetectiveclub
|
||||
fawful
|
||||
firebreath
|
||||
fireemblem
|
||||
fossilfighters
|
||||
gamebooks
|
||||
gameboyadvance
|
||||
gamecube
|
||||
gamemodes
|
||||
gamepro
|
||||
gamerevolution
|
||||
gamespot
|
||||
gametrailers
|
||||
goldensun
|
||||
goomba
|
||||
gr
|
||||
hammerbro
|
||||
healthpoints
|
||||
hepburn
|
||||
homeconsole
|
||||
hudsonsoft
|
||||
ign
|
||||
intellectuallydisabled
|
||||
isbn
|
||||
islandtour
|
||||
items
|
||||
japanese
|
||||
joystiq
|
||||
kamek
|
||||
kidicarus
|
||||
kirby
|
||||
kojikondo
|
||||
koopatroopa
|
||||
kotaku
|
||||
lcdgames
|
||||
leaderboards
|
||||
legosupermario
|
||||
listofvideogamesfeaturingmario
|
||||
luigi
|
||||
mahitoyokota
|
||||
mario
|
||||
marioartist
|
||||
marioclash
|
||||
mariokart
|
||||
mariopaint
|
||||
marioparty
|
||||
mariopartyadvance
|
||||
mariopartyds
|
||||
mariopartylegacy
|
||||
mariopartysuperstars
|
||||
mariopowertennis
|
||||
mattcasamassina
|
||||
mc
|
||||
metroid
|
||||
mii
|
||||
minigame
|
||||
minigames
|
||||
minusworld
|
||||
mother
|
||||
motioncontrol
|
||||
mushroomkingdom
|
||||
ndcube
|
||||
nintendo
|
||||
nintendocomicssystem
|
||||
nintendods
|
||||
nintendolife
|
||||
nintendoswitch
|
||||
nintendowire
|
||||
onlinemultiplayer
|
||||
othermedia
|
||||
pal
|
||||
papermario
|
||||
party
|
||||
partyvideogame
|
||||
pauline
|
||||
peaches
|
||||
pikmin
|
||||
pilotwings
|
||||
piranhaplant
|
||||
pokémon
|
||||
polygon
|
||||
princessdaisy
|
||||
princesspeach
|
||||
professorelvingadd
|
||||
puzzlegames
|
||||
puzzleleague
|
||||
racinggames
|
||||
rainbowroad
|
||||
raymanravingrabbids
|
||||
replayvalue
|
||||
ringmaster
|
||||
rosalina
|
||||
rumblepak
|
||||
ryandavis
|
||||
satoruiwata
|
||||
shigerumiyamoto
|
||||
shyguy
|
||||
siliconera
|
||||
spinyshell
|
||||
splatoon
|
||||
sportsgames
|
||||
starfox
|
||||
starrush
|
||||
storycampaign
|
||||
super
|
||||
supermario
|
||||
supermarioadventures
|
||||
supermarioparty
|
||||
supermariosunshine
|
||||
supermarioworld
|
||||
superprincesspeach
|
||||
superstars
|
||||
takashitezuka
|
||||
techradar
|
||||
thelegendarystarfy
|
||||
thelegendofzelda
|
||||
theverge
|
||||
toad
|
||||
toadette
|
||||
toadsworth
|
||||
touchscreen
|
||||
trustedreviews
|
||||
unofficialmedia
|
||||
variety
|
||||
videogamesportal
|
||||
vivian
|
||||
waluigi
|
||||
wario
|
||||
wars
|
||||
wii
|
||||
wiiparty
|
||||
wiiremote
|
||||
wiiu
|
||||
wiiugamepad
|
||||
yasuhisayamamura
|
||||
yearofluigi
|
||||
yōichikotabe
|
||||
yoshi
|
||||
yoshiakikoizumi
|
||||
|
|
@ -0,0 +1,173 @@
|
|||
advance
|
||||
aliasing
|
||||
amiibo
|
||||
analoguestick
|
||||
animalcrossing
|
||||
artstyle
|
||||
battleroyal
|
||||
bigbrainacademy
|
||||
birdo
|
||||
bitgenerations
|
||||
bluetoad
|
||||
board
|
||||
boardgame
|
||||
boo
|
||||
boss
|
||||
bowser
|
||||
brainage
|
||||
capcom
|
||||
cardboardcutout
|
||||
cardgame
|
||||
category
|
||||
chainchomp
|
||||
characters
|
||||
charlesmartinet
|
||||
cpus
|
||||
customrobo
|
||||
destructoid
|
||||
diddykong
|
||||
die
|
||||
donkeykong
|
||||
ds
|
||||
editlinks
|
||||
educationalgames
|
||||
eurogamer
|
||||
famicomdetectiveclub
|
||||
fawful
|
||||
firebreath
|
||||
fireemblem
|
||||
fossilfighters
|
||||
gamebooks
|
||||
gameboyadvance
|
||||
gamecube
|
||||
gamemodes
|
||||
gamepro
|
||||
gamerevolution
|
||||
gamespot
|
||||
gametrailers
|
||||
goldensun
|
||||
goomba
|
||||
gr
|
||||
hammerbro
|
||||
healthpoints
|
||||
hepburn
|
||||
homeconsole
|
||||
hudsonsoft
|
||||
ign
|
||||
intellectuallydisabled
|
||||
isbn
|
||||
islandtour
|
||||
items
|
||||
japanese
|
||||
joystiq
|
||||
kamek
|
||||
kidicarus
|
||||
kirby
|
||||
kojikondo
|
||||
koopatroopa
|
||||
kotaku
|
||||
lcdgames
|
||||
leaderboards
|
||||
legosupermario
|
||||
listofvideogamesfeaturingmario
|
||||
luigi
|
||||
mahitoyokota
|
||||
mario
|
||||
marioartist
|
||||
marioclash
|
||||
mariokart
|
||||
mariopaint
|
||||
marioparty
|
||||
mariopartyadvance
|
||||
mariopartyds
|
||||
mariopartylegacy
|
||||
mariopartysuperstars
|
||||
mariopowertennis
|
||||
mattcasamassina
|
||||
mc
|
||||
metroid
|
||||
mii
|
||||
minigame
|
||||
minigames
|
||||
minusworld
|
||||
mother
|
||||
motioncontrol
|
||||
mushroomkingdom
|
||||
ndcube
|
||||
nintendo
|
||||
nintendocomicssystem
|
||||
nintendods
|
||||
nintendolife
|
||||
nintendoswitch
|
||||
nintendowire
|
||||
onlinemultiplayer
|
||||
othermedia
|
||||
pal
|
||||
papermario
|
||||
party
|
||||
partyvideogame
|
||||
pauline
|
||||
peaches
|
||||
pikmin
|
||||
pilotwings
|
||||
piranhaplant
|
||||
pokémon
|
||||
polygon
|
||||
princessdaisy
|
||||
princesspeach
|
||||
professorelvingadd
|
||||
puzzlegames
|
||||
puzzleleague
|
||||
racinggames
|
||||
rainbowroad
|
||||
raymanravingrabbids
|
||||
replayvalue
|
||||
ringmaster
|
||||
rosalina
|
||||
rumblepak
|
||||
ryandavis
|
||||
satoruiwata
|
||||
shigerumiyamoto
|
||||
shyguy
|
||||
siliconera
|
||||
spinyshell
|
||||
splatoon
|
||||
sportsgames
|
||||
starfox
|
||||
starrush
|
||||
storycampaign
|
||||
super
|
||||
supermario
|
||||
supermarioadventures
|
||||
supermarioparty
|
||||
supermariosunshine
|
||||
supermarioworld
|
||||
superprincesspeach
|
||||
superstars
|
||||
takashitezuka
|
||||
techradar
|
||||
thelegendarystarfy
|
||||
thelegendofzelda
|
||||
theverge
|
||||
toad
|
||||
toadette
|
||||
toadsworth
|
||||
touchscreen
|
||||
trustedreviews
|
||||
unofficialmedia
|
||||
variety
|
||||
videogamesportal
|
||||
vivian
|
||||
waluigi
|
||||
wario
|
||||
wars
|
||||
wii
|
||||
wiiparty
|
||||
wiiremote
|
||||
wiiu
|
||||
wiiugamepad
|
||||
yasuhisayamamura
|
||||
yearofluigi
|
||||
yōichikotabe
|
||||
yoshi
|
||||
yoshiakikoizumi
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
#! /bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
bash ./shuffle.sh
|
||||
bash ./fill.sh
|
||||
bash ./players.sh
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
#! /bin/bash
|
||||
curl -sS -i http://mp.home.blapointe.com:17071/
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
#! /bin/bash
|
||||
curl -sS -i http://mp.home.blapointe.com:17071/gm/rpc/shuffle
|
||||
bash ./players.sh
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
feedback:
|
||||
addr: :17071
|
||||
ttsurl: http://localhost:15002
|
||||
users: {}
|
||||
players:
|
||||
- transformation:
|
||||
"1": "1" # a
|
||||
"2": "2" # b
|
||||
"3": "3" # x
|
||||
"4": "4" # y
|
||||
"5": "5" # start
|
||||
w: "6" # stickUp
|
||||
a: "7" # stickLeft
|
||||
s: "8" # stickDown
|
||||
d: "9" # stickRight
|
||||
e: "0" # r
|
||||
q: "-" # l
|
||||
- transformation:
|
||||
"1": "q" # a
|
||||
"2": "w" # b
|
||||
"3": "e" # x
|
||||
"4": "r" # y
|
||||
"5": " " # "t" # start
|
||||
w: "y" # stickUp
|
||||
a: "u" # stickLeft
|
||||
s: "i" # stickDown
|
||||
d: "o" # stickRight
|
||||
e: "p" # r
|
||||
q: "=" # l
|
||||
- transformation:
|
||||
"1": "a" # a
|
||||
"2": "s" # b
|
||||
"3": "d" # x
|
||||
"4": "f" # y
|
||||
"5": " " # "g" # start
|
||||
w: "h" # stickUp
|
||||
a: "j" # stickLeft
|
||||
s: "k" # stickDown
|
||||
d: "l" # stickRight
|
||||
e: ";" # r
|
||||
q: "g" # l
|
||||
- transformation:
|
||||
"1": "z" # a
|
||||
"2": "x" # b
|
||||
"3": "c" # x
|
||||
"4": "v" # y
|
||||
"5": " " # "b" # start
|
||||
w: "n" # stickUp
|
||||
a: "m" # stickLeft
|
||||
s: "," # stickDown
|
||||
d: "." # stickRight
|
||||
e: "/" # r
|
||||
q: "b" # l
|
||||
quiet: false
|
||||
broadcast:
|
||||
message: "#early access"
|
||||
gm:
|
||||
hotwords:
|
||||
star:
|
||||
call: tap
|
||||
args: ['<']
|
||||
coin:
|
||||
call: tap
|
||||
args: ['>']
|
||||
|
|
@ -1,51 +1,64 @@
|
|||
feedback:
|
||||
addr: :17071
|
||||
ttsurl: http://localhost:15002
|
||||
users:
|
||||
bel:
|
||||
meta:
|
||||
lasttsms: 1680369532165
|
||||
lastlag: 1
|
||||
state:
|
||||
player: 2
|
||||
message: ""
|
||||
gm:
|
||||
alias: ""
|
||||
lastalias: ""
|
||||
vote: ""
|
||||
broadcast:
|
||||
meta:
|
||||
lasttsms: 0
|
||||
lastlag: 0
|
||||
state:
|
||||
player: 0
|
||||
message: "hola"
|
||||
gm:
|
||||
alias: ""
|
||||
lastalias: ""
|
||||
vote: ""
|
||||
zach:
|
||||
meta:
|
||||
lasttsms: 1679978514018
|
||||
lastlag: 0
|
||||
state:
|
||||
player: 0
|
||||
message: ""
|
||||
gm:
|
||||
alias: ""
|
||||
lastalias: ""
|
||||
vote: ""
|
||||
users: {}
|
||||
players:
|
||||
- transformation: {}
|
||||
- transformation:
|
||||
"1": "5"
|
||||
"2": "6"
|
||||
"3": "7"
|
||||
"4": "8"
|
||||
a: f
|
||||
d: h
|
||||
e: "y"
|
||||
q: r
|
||||
s: g
|
||||
w: t
|
||||
quiet: true
|
||||
"1": "1" # a
|
||||
"2": "2" # b
|
||||
"3": "3" # x
|
||||
"4": "4" # y
|
||||
"5": "5" # start
|
||||
w: "6" # stickUp
|
||||
a: "7" # stickLeft
|
||||
s: "8" # stickDown
|
||||
d: "9" # stickRight
|
||||
e: "0" # r
|
||||
q: "-" # l
|
||||
- transformation:
|
||||
"1": "q" # a
|
||||
"2": "w" # b
|
||||
"3": "e" # x
|
||||
"4": "r" # y
|
||||
"5": " " # "t" # start
|
||||
w: "y" # stickUp
|
||||
a: "u" # stickLeft
|
||||
s: "i" # stickDown
|
||||
d: "o" # stickRight
|
||||
e: "p" # r
|
||||
q: "=" # l
|
||||
- transformation:
|
||||
"1": "a" # a
|
||||
"2": "s" # b
|
||||
"3": "d" # x
|
||||
"4": "f" # y
|
||||
"5": " " # "g" # start
|
||||
w: "h" # stickUp
|
||||
a: "j" # stickLeft
|
||||
s: "k" # stickDown
|
||||
d: "l" # stickRight
|
||||
e: ";" # r
|
||||
q: "g" # l
|
||||
- transformation:
|
||||
"1": "z" # a
|
||||
"2": "x" # b
|
||||
"3": "c" # x
|
||||
"4": "v" # y
|
||||
"5": " " # "b" # start
|
||||
w: "n" # stickUp
|
||||
a: "m" # stickLeft
|
||||
s: "," # stickDown
|
||||
d: "." # stickRight
|
||||
e: "/" # r
|
||||
q: "b" # l
|
||||
quiet: false
|
||||
broadcast:
|
||||
message: "#early access"
|
||||
gm:
|
||||
hotwords:
|
||||
star:
|
||||
call: tap
|
||||
args: ['<']
|
||||
coin:
|
||||
call: tap
|
||||
args: ['>']
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ streams:
|
|||
b: '2'
|
||||
x: '3'
|
||||
y: '4'
|
||||
start: '5'
|
||||
output:
|
||||
debug: false
|
||||
engine:
|
||||
|
|
@ -22,6 +22,7 @@ streams:
|
|||
b: '2'
|
||||
x: '3'
|
||||
y: '4'
|
||||
start: '5'
|
||||
output:
|
||||
debug: false
|
||||
engine:
|
||||
|
|
@ -22,6 +22,7 @@ streams:
|
|||
b: '2'
|
||||
x: '3'
|
||||
y: '4'
|
||||
start: '5'
|
||||
output:
|
||||
debug: false
|
||||
engine:
|
||||
|
|
@ -22,6 +22,7 @@ streams:
|
|||
b: '2'
|
||||
x: '3'
|
||||
y: '4'
|
||||
start: '5'
|
||||
output:
|
||||
debug: false
|
||||
engine:
|
||||
|
|
@ -22,6 +22,7 @@ streams:
|
|||
b: '2'
|
||||
x: '3'
|
||||
y: '4'
|
||||
start: '5'
|
||||
output:
|
||||
debug: false
|
||||
engine:
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
#! /bin/bash
|
||||
|
||||
echo source ./package.sh
|
||||
|
||||
set -e
|
||||
|
||||
cd ${based%/*}
|
||||
tar_f=${based##*/}.tar
|
||||
rm -f "$tar_f"
|
||||
tar -cf "$tar_f" ${based##*/}
|
||||
cleanup() { rm "$tar_f"; }
|
||||
trap cleanup EXIT
|
||||
|
||||
scp_scratch.sh "$tar_f" squeaky2x3@192.168.0.86:/volume1/video/FTP/
|
||||
ssh_scratch.sh ls /volume1/video/FTP/"$tar_f"
|
||||
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
#! /bin/bash
|
||||
|
||||
test -f ./rusty-pipe-signed.exe || exit 1
|
||||
|
||||
based=$(mktemp -d)
|
||||
for f in ./*.yaml; do
|
||||
d="$based/${f%.yaml}.d"
|
||||
mkdir -p "$d"
|
||||
cp "$f" "$d"/rusty-pipe.yaml
|
||||
cp "$(realpath ./rusty-pipe-signed.exe)" "$d"/rusty-pipe-windows.exe
|
||||
cp "$(realpath ./rusty-pipe-notwindows.bin)" "$d"/rusty-pipe-notwindows.bin
|
||||
done
|
||||
pushd "$based"
|
||||
for d in ./*/; do
|
||||
zip -r -7 ${d%/}.zip $d
|
||||
rm -rf "$d"
|
||||
done
|
||||
popd
|
||||
echo "$based"
|
||||
du -sh "$based"/*
|
||||
|
|
@ -22,6 +22,7 @@ streams:
|
|||
b: '2'
|
||||
x: '3'
|
||||
y: '4'
|
||||
start: '5'
|
||||
output:
|
||||
debug: false
|
||||
engine:
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../../rusty-pipe.d/target/release/rusty-pipe
|
||||
|
|
@ -0,0 +1 @@
|
|||
../../../rusty-pipe.d/target/x86_64-pc-windows-gnu/release/rusty-pipe-signed.exe
|
||||
|
|
@ -22,6 +22,7 @@ streams:
|
|||
b: '2'
|
||||
x: '3'
|
||||
y: '4'
|
||||
start: '5'
|
||||
output:
|
||||
debug: false
|
||||
engine:
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 9de8c9154491d46d2c86715701ff70fdc9abf406
|
||||
Subproject commit b89ed62036e8c40575f9aa996f3aad4729ca9f80
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 37566c4413b106d402fa61492d66bd87671d0ac5
|
||||
Subproject commit 31bdb6d92e40103c4be000f46ebcf5d2e2ff5920
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 63fe8e7e9e1c68fd3f284bac6666ae5e5f970b6b
|
||||
Subproject commit b4d3e5a27cbdecfd70f6601d7b51ab9a07a045f7
|
||||
63
server.sh
63
server.sh
|
|
@ -36,11 +36,22 @@ log() {
|
|||
}
|
||||
|
||||
_discord() {
|
||||
read -p "pls start discord"
|
||||
(
|
||||
export HOME="$PWD/mnt.d/discord.d"
|
||||
if ! snap list discord; then
|
||||
sudo snap install discord
|
||||
fi
|
||||
(
|
||||
exec snap run discord
|
||||
) &> /tmp/mayhem-party.discord.log &
|
||||
disown
|
||||
)
|
||||
}
|
||||
|
||||
_dolphin() {
|
||||
echo
|
||||
read -p "pls start dolphin"
|
||||
echo
|
||||
}
|
||||
|
||||
_mayhem_party() {
|
||||
|
|
@ -81,31 +92,39 @@ _stt() {
|
|||
| awk "{print \$NF}" \
|
||||
| head -n 1
|
||||
)
|
||||
(
|
||||
echo "pcm.pulse_monitor {"
|
||||
echo " type pulse"
|
||||
echo " device $device"
|
||||
echo "}"
|
||||
echo "ctl.pulse_monitor {"
|
||||
echo " type pulse"
|
||||
echo " device $device"
|
||||
echo "}"
|
||||
) | sudo tee /etc/asound.conf
|
||||
|
||||
for i in $(pactl list short modules | grep secret | cut -f1); do
|
||||
pactl unload-module $i
|
||||
done
|
||||
name='my_secret_sink'
|
||||
if ! pactl list | grep -q $name; then
|
||||
pactl load-module module-null-sink sink_name=$name channels=1
|
||||
pactl load-module module-remap-source master=$name.monitor source_name=shared-$name source_properties="device.description=shared-$name" #channels=1
|
||||
mic_name="$(pactl list | grep -A 100 Name:.$name.monitor | grep device.description.=. | head -n 1 | sed 's/.* = //' | tr -d '"') Monitor"
|
||||
if ! test -f /etc/asound.conf || ! grep "$device" /etc/asound.conf; then
|
||||
(
|
||||
echo "pcm.pulse_monitor {"
|
||||
echo " type pulse"
|
||||
echo " device $device"
|
||||
echo "}"
|
||||
echo "ctl.pulse_monitor {"
|
||||
echo " type pulse"
|
||||
echo " device $device"
|
||||
echo "}"
|
||||
) | sudo tee /etc/asound.conf
|
||||
fi
|
||||
|
||||
read -p "pavucontrol to change input to $mic_name, ok? "
|
||||
if [ -n "$PACTL_RESET" ]; then
|
||||
for i in $(pactl list short modules | grep secret | cut -f1); do
|
||||
pactl unload-module $i
|
||||
done
|
||||
fi
|
||||
name='my_secret_sink'
|
||||
for i in 1 2; do
|
||||
if ! pactl list | grep -q $name$i; then
|
||||
pactl load-module module-null-sink sink_name=$name$i channels=1
|
||||
pactl load-module module-remap-source master=$name$i.monitor source_name=shared-$name$i source_properties="device.description=shared-$name$i"
|
||||
mic_name="$(pactl list | grep -A 100 Name:.$name$i.monitor | grep device.description.=. | head -n 1 | sed 's/.* = //' | tr -d '"') Monitor"
|
||||
fi
|
||||
done
|
||||
|
||||
echo
|
||||
read -p "pavucontrol to change input to $name, ok? "
|
||||
echo
|
||||
log launching stt
|
||||
(
|
||||
export HOTWORDS=../../config.d/mayhem-party.d/v01.yaml@.users[].state.gm.alias
|
||||
export HOTWORDS=../../config.d/mayhem-party.d/v01-live.yaml@.users[].state.gm.alias,.gm.hotwords.KEYS
|
||||
export MIC_TIMEOUT=2
|
||||
export URL=http://localhost:17071/gm/rpc/broadcastSomeoneSaidAlias?message={{hotword}}
|
||||
export HEADERS=say="Eye herd {{hotword}}"
|
||||
|
|
|
|||
51
todo.yaml
51
todo.yaml
|
|
@ -1,22 +1,9 @@
|
|||
todo:
|
||||
- audio pipes; can i send discord output to a pipe for stt?
|
||||
- trigger a vote
|
||||
- trigger an election
|
||||
- trigger a shuffle for init
|
||||
- assign aliases
|
||||
- display vote progress
|
||||
- instructions how to spin up with pulseaudio GUI
|
||||
- rpc fill aliases UI
|
||||
- rpc elect UI
|
||||
- display election results
|
||||
- trigger dolphin pause via query param mapping to a button that is a pause hotkey
|
||||
- todo: rotation triggers
|
||||
subtasks:
|
||||
- ui for election start, election votes, election end stuff
|
||||
- todo: stdin
|
||||
subtasks:
|
||||
- minigame end
|
||||
- todo: voice recognition of hotwords to vote who dun it
|
||||
subtasks:
|
||||
- random word from cur wikipedia page
|
||||
- only spectators have hotwords and must get a player to speak it
|
||||
- tribunal to vote who said it
|
||||
scheduled: []
|
||||
done:
|
||||
- todo: sticky keyboard input mode for enable/disable explicitly
|
||||
|
|
@ -174,3 +161,33 @@ done:
|
|||
ts: Fri Mar 31 22:45:58 MDT 2023
|
||||
- todo: stt to rust-whisper and new-age hotwords.py
|
||||
ts: Fri Mar 31 22:45:58 MDT 2023
|
||||
- todo: audio pipes; can i send discord output to a pipe for stt?
|
||||
ts: Sat Apr 1 11:20:27 MDT 2023
|
||||
- todo: public gui script
|
||||
ts: Sun Apr 2 11:50:42 MDT 2023
|
||||
- todo: trigger a vote
|
||||
ts: Sun Apr 2 11:50:42 MDT 2023
|
||||
- todo: display vote progress
|
||||
ts: Sun Apr 2 11:50:42 MDT 2023
|
||||
- todo: audio dolhpin+tts, video dolphin to OBS to discord share
|
||||
ts: Sun Apr 2 12:36:51 MDT 2023
|
||||
- todo: server gui script
|
||||
ts: Sun Apr 2 12:36:51 MDT 2023
|
||||
- todo: trigger an election
|
||||
ts: Sun Apr 2 12:36:51 MDT 2023
|
||||
- todo: trigger a shuffle for init
|
||||
ts: Sun Apr 2 12:36:51 MDT 2023
|
||||
- todo: assign aliases
|
||||
ts: Sun Apr 2 12:36:51 MDT 2023
|
||||
- todo: rotation triggers
|
||||
subtasks:
|
||||
- ui for election start, election votes, election end stuff
|
||||
- todo: stdin
|
||||
subtasks:
|
||||
- minigame end
|
||||
- todo: voice recognition of hotwords to vote who dun it
|
||||
subtasks:
|
||||
- random word from cur wikipedia page
|
||||
- only spectators have hotwords and must get a player to speak it
|
||||
- tribunal to vote who said it
|
||||
ts: Sun Apr 2 12:36:51 MDT 2023
|
||||
|
|
|
|||
Loading…
Reference in New Issue