I have built and released exactly what you describe.
- Users download a bit of software.
- That software pushes data from the game to my EBS
- My EBS collects the data and queues it
- As per the Twitch PubSub sending rate limit it processes the queue (1 per second)
- In order to send to pubsub I encode a JWT.
Now, you have to use an EBS here, because to encode a JWT you need the secret. And secrets should NEVER be distributed.
If you need an SSL cert you can get one for free from https://letsencrypt.org
But no theres no Two way here.
Local software reads from the game -> Pushes to my EBS -> EBS Pushes to PubSub