you-win/friendly-potato-stream

Feature Request: Provide Linux build or build instructions.

Closed this issue · 2 comments

Could you please provide either a linux build or instructions on how I can build it my self on linux.

Thanks

You will need to install rust and build the library inside of the rust directory. After that, you will need to set the appropriate path for the gdnative library.

If you don't want to deal with that, you can just remove that folder along with the mouse ripple.

You will then need to export for your platform. This should follow the usual Godot export format.

This is not all though. You will need to get a Twitch auth token. Specifically, the one from the OAuth authorization code flow.

The usual flow for this usually requires a web app or a local server to handle the callback but I have a work around.

  1. Register a new Twitch application and set the oauth redirect url to http://localhost . You will also need the client id and client secret
  2. This is the request I used for the initial auth code request. https://id.twitch.tv/oauth2/authorize?client_id={{client_id}}&redirect_uri=http://localhost&response_type=code&scope=bits:read channel:manage:polls channel:manage:predictions channel:manage:redemptions channel:read:polls channel:read:predictions channel:read:redemptions channel:read:subscriptions chat:edit chat:read . You will need to replace the {{client_id}} with your client id from the Twitch dev console.
  3. Take the request and paste it into your browser. You should be brought to a Twitch authorization page. Authorize the application
  4. Your browser should redirect you to a broken page. That's okay. Take the code query parameter value and save that somewhere
  5. You'll then need to follow the rest of the oauth instructions normally. Once you have the oauth token and oauth refresh token (these are different things), add them to the potato-config.json file. The token should auto refresh itself whenever the application starts.
  6. Fill out the rest of the potato-config.json fields.

For now, this is an extremely manual process, but I'm looking into automating these steps somehow. Then I can start providing linux builds

Thanks... I hoped, I could package it up for my distro... so probably not that good of an idea with all those manual steps.