How do "Stream Restrictions" in the Admin Control Panel settings work?
When submitting channels, I get an invalid API Key or Client ID error?
- No Restrictions - this is the "full scrape" option. This option will scrape the top 1000 live streams on a supported service. Most services do not support this option.
- Channels - this is the "channels" option. This option will scrape for only approved channels for each service.
- Games - this is the "games" option. This option will scrape for any live streams playing approved games on a supported service. Most services do not support this option.
- Channels OR Games - this is a combination of "channels" and "games". This will scrape for approved channels regardless of what game they are playing... and then it will also scrape for any live streams playing approved games, even if they are not approved channels. This is basically the best of both worlds option as it will work with all services, while simply bypassing the second step for services that don't support the games scraping.
- Channels AND Games - this is a "channels" option. This will scrape for approved channels, and then if it finds that the channel isn't playing an approved game, it will throw the channel out of the listing. This option is independent of the games restriction and will work with every service, even those that don't have games scraping.
There are two services which require authorization to ping their APIs: Twitch and YouTube.
The way additional "spellings" of categories/games has changed!
- Twitch - Follow the instructions on this page to create an application for your website. Redirect URI is irrelevant, so you can leave that as a localhost. Take the client ID given to you on this screen and place it in the API Key section of Twitch on the service edit page in XenRio. Keep in mind that Twitch's API is very slow and it may take a few hours before your client ID officially registers in their systems.
- YouTube - Follow the instructions on this page to create a project for your website. You need to create a server API Key. Give your project access to the YouTube Data API v3. Take the API Key you've just created and place it in the API Key section of YouTube on the service edit page in XenRio.
The previous approach was more of a "buckshot" approach where every service was pinged with every different spelling of a game, even if the spellings were not relevant for certain services. The new approach instead has spellings defined for each service individually. Because of this, you will need to setup your spellings again to match the new system.
This new method was implemented because it will greatly reduce the number of cURL operations required for this addon. Let me show an example of how it works with the game "Final Fantasy XV". Depending on which service you ping, the spelling of this game could be different... for instance (these are examples, not necessarily correct)
- Final Fantasy XV (Twitch)
- Final Fantasy 15 (Hitbox)
- /m/08cmr6 (YouTube)
- 18752923 (Beam)
- final-fantasy-xv (Azubu)
With the old system, every service would be pinged with all 5 spellings. So if you have 5 services enabled, thats 25 cURL operations. With the new system, each service will only be pinged with spellings matching their service... reducing it to only 5 pings.
Naturally, because of this new system, it takes a small bit more setup on your part... but its much better for performance in the long run. Below is an example of what my setup would be for the game "Overwatch":