110 lines
2.6 KiB
Markdown
110 lines
2.6 KiB
Markdown
|
# LiveQ
|
||
|
|
||
|
A music queue for poly-game rhythm game livestreamers
|
||
|
|
||
|
## Intended architecture
|
||
|
Some games have a built-in queues, but they are not cross-game. That requires an external piece of software to do so:
|
||
|
|
||
|
### Streamer side
|
||
|
```
|
||
|
+----------+ +--------------------+
|
||
|
| Twitch | | Streamer's Website |
|
||
|
+----------+ +--------------------+
|
||
|
^ ^
|
||
|
| ......... | ..........
|
||
|
| : +------------+
|
||
|
/ : | NGINX Rev. |
|
||
|
/ : | Proxy |
|
||
|
/ : +------------+
|
||
|
| Internet:Server ^
|
||
|
. | .........:............ | ......
|
||
|
| Streamer's |
|
||
|
| PC |
|
||
|
| |
|
||
|
+-------+ +------------+
|
||
|
| OBS | | SSH Tunnel |
|
||
|
+-------+ +------------+
|
||
|
^ ^ |
|
||
|
| | |
|
||
|
| +-----------+ |
|
||
|
| | |
|
||
|
+------+ +------------+ | +-----------+
|
||
|
| Game | | Song Queue |<-+->| Browser |
|
||
|
+------+ | Web View | | | Admin Tab |
|
||
|
| +------------+ | +-----------+
|
||
|
v |
|
||
|
+-------+ +--------------+
|
||
|
| Game |<-----------| LiveQ Server |
|
||
|
| Files | | Process |
|
||
|
+-------+ +--------------+
|
||
|
```
|
||
|
|
||
|
### Active Viewer Side
|
||
|
```
|
||
|
+----------------+ +-------------------+
|
||
|
| Stream App/Tab | | Queue Request Tab |
|
||
|
+----------------+ +-------------------+
|
||
|
| |
|
||
|
v v
|
||
|
+----------+ +--------------------+
|
||
|
| Twitch | | Streamer's Website |
|
||
|
+----------+ +--------------------+
|
||
|
```
|
||
|
Alt+Tab
|
||
|
|
||
|
### Passive Viewer
|
||
|
```
|
||
|
+----------------+
|
||
|
| Stream App/Tab |
|
||
|
+----------------+
|
||
|
|
|
||
|
v
|
||
|
+----------+
|
||
|
| Twitch |
|
||
|
+----------+
|
||
|
```
|
||
|
|
||
|
## Files not included
|
||
|
- config.ini
|
||
|
```ini
|
||
|
[app]
|
||
|
root=https://live.yourdomain.com
|
||
|
lang=en-us
|
||
|
title=LiveQ
|
||
|
description=A multi-game queue for live streamers
|
||
|
streamer=yourusername
|
||
|
|
||
|
[modules]
|
||
|
osuddr=1
|
||
|
osumania=1
|
||
|
ragnarock=0
|
||
|
|
||
|
[difficulties]
|
||
|
osuddr=0-1.5
|
||
|
osumania=1.2-2.4
|
||
|
ragnarock=4-8
|
||
|
```
|
||
|
- config.nt.ini
|
||
|
```ini
|
||
|
[paths]
|
||
|
osu=D:\path\to\osu
|
||
|
ragnarock=D:\path\to\ragnarock\CustomSongs
|
||
|
```
|
||
|
- config.posix.ini
|
||
|
```ini
|
||
|
[paths]
|
||
|
osu=/path/to/osu
|
||
|
ragnarock=/path/to/ragnarock/CustomSongs
|
||
|
```
|
||
|
|
||
|
- tokens.ini
|
||
|
```ini
|
||
|
[jwt]
|
||
|
seed1=00000000-0000-4000-0000-000000000000
|
||
|
seed2=00000000-0000-4000-0000-000000000000
|
||
|
|
||
|
[twitch]
|
||
|
client_id=123456789012345678901234567890
|
||
|
client_secret=123456789012345678901234567890
|
||
|
```
|
||
|
replace the placeholders with the ones copied from the [Developer Console](https://dev.twitch.tv/console/apps)
|