# Table of Contents - [System overview | Streams Manager Docs](#system-overview-streams-manager-docs) - [What is Streams Manager? | Streams Manager Docs](#what-is-streams-manager-streams-manager-docs) - [General terms | Streams Manager Docs](#general-terms-streams-manager-docs) - [Panel navigation | Streams Manager Docs](#panel-navigation-streams-manager-docs) - [User classes | Streams Manager Docs](#user-classes-streams-manager-docs) - [First time login | Streams Manager Docs](#first-time-login-streams-manager-docs) - [Add your administrator login | Streams Manager Docs](#add-your-administrator-login-streams-manager-docs) - [Included accounts | Streams Manager Docs](#included-accounts-streams-manager-docs) - [Reset default passwords | Streams Manager Docs](#reset-default-passwords-streams-manager-docs) - [Setup proxy | Streams Manager Docs](#setup-proxy-streams-manager-docs) - [Add Plex accounts | Streams Manager Docs](#add-plex-accounts-streams-manager-docs) - [Settings | Streams Manager Docs](#settings-streams-manager-docs) - [General | Streams Manager Docs](#general-streams-manager-docs) - [Site settings | Streams Manager Docs](#site-settings-streams-manager-docs) - [Administrator contact settings | Streams Manager Docs](#administrator-contact-settings-streams-manager-docs) - [Page settings | Streams Manager Docs](#page-settings-streams-manager-docs) - [Library groups configuration | Streams Manager Docs](#library-groups-configuration-streams-manager-docs) - [Notification templates | Streams Manager Docs](#notification-templates-streams-manager-docs) - [Libraries configuration | Streams Manager Docs](#libraries-configuration-streams-manager-docs) - [Discord settings | Streams Manager Docs](#discord-settings-streams-manager-docs) - [Users and data import | Streams Manager Docs](#users-and-data-import-streams-manager-docs) - [Emby devices | Streams Manager Docs](#emby-devices-streams-manager-docs) - [Payment reminders settings | Streams Manager Docs](#payment-reminders-settings-streams-manager-docs) - [Discord notifications | Streams Manager Docs](#discord-notifications-streams-manager-docs) - [Server location configuration | Streams Manager Docs](#server-location-configuration-streams-manager-docs) - [Media server configuration | Streams Manager Docs](#media-server-configuration-streams-manager-docs) - [Custom roles | Streams Manager Docs](#custom-roles-streams-manager-docs) - [Server re-invite | Streams Manager Docs](#server-re-invite-streams-manager-docs) - [Requiring users to change their Plex account | Streams Manager Docs](#requiring-users-to-change-their-plex-account-streams-manager-docs) - [Notification templates | Streams Manager Docs](#notification-templates-streams-manager-docs) - [Email notifications | Streams Manager Docs](#email-notifications-streams-manager-docs) - [Registration settings | Streams Manager Docs](#registration-settings-streams-manager-docs) - [Discount codes | Streams Manager Docs](#discount-codes-streams-manager-docs) - [Linked users | Streams Manager Docs](#linked-users-streams-manager-docs) - [Test the flows | Streams Manager Docs](#test-the-flows-streams-manager-docs) - [SMTP settings | Streams Manager Docs](#smtp-settings-streams-manager-docs) - [Custom domain | Streams Manager Docs](#custom-domain-streams-manager-docs) - [How to deal with a ban | Streams Manager Docs](#how-to-deal-with-a-ban-streams-manager-docs) - [Subscriptions & trials settings | Streams Manager Docs](#subscriptions-trials-settings-streams-manager-docs) - [Users synchronization/import | Streams Manager Docs](#users-synchronization-import-streams-manager-docs) - [Recurring plans setup | Streams Manager Docs](#recurring-plans-setup-streams-manager-docs) - [Free SMTP options | Streams Manager Docs](#free-smtp-options-streams-manager-docs) - [Stripe recurring plan setup | Streams Manager Docs](#stripe-recurring-plan-setup-streams-manager-docs) - [Square recurring plan setup | Streams Manager Docs](#square-recurring-plan-setup-streams-manager-docs) - [Overseerr settings | Streams Manager Docs](#overseerr-settings-streams-manager-docs) - [PayPal recurring plan setup | Streams Manager Docs](#paypal-recurring-plan-setup-streams-manager-docs) - [Error: User tried to subscribe but servers are full | Streams Manager Docs](#error-user-tried-to-subscribe-but-servers-are-full-streams-manager-docs) - [Requests integration settings | Streams Manager Docs](#requests-integration-settings-streams-manager-docs) - [Emby/Jellyfin | Streams Manager Docs](#emby-jellyfin-streams-manager-docs) - [No plans show on the checkout page | Streams Manager Docs](#no-plans-show-on-the-checkout-page-streams-manager-docs) - [Specific plan is not showing up on the checkout page | Streams Manager Docs](#specific-plan-is-not-showing-up-on-the-checkout-page-streams-manager-docs) - [Plan configuration | Streams Manager Docs](#plan-configuration-streams-manager-docs) - [Error: PayPal is missing subscription ID details | Streams Manager Docs](#error-paypal-is-missing-subscription-id-details-streams-manager-docs) - [Error: PayPal subscription ID: xxx does not have any transactions | Streams Manager Docs](#error-paypal-subscription-id-xxx-does-not-have-any-transactions-streams-manager-docs) - [How Streams Manager enforces transcoding rules? | Streams Manager Docs](#how-streams-manager-enforces-transcoding-rules-streams-manager-docs) - [Overview | Streams Manager Docs](#overview-streams-manager-docs) - [Error: There are no servers with capacity that accomodate plan | Streams Manager Docs](#error-there-are-no-servers-with-capacity-that-accomodate-plan-streams-manager-docs) - [Ombi settings | Streams Manager Docs](#ombi-settings-streams-manager-docs) - [General settings | Streams Manager Docs](#general-settings-streams-manager-docs) - [How to use a custom domain? | Streams Manager Docs](#how-to-use-a-custom-domain-streams-manager-docs) - [How does Streams Manager know that a user is active or expired? | Streams Manager Docs](#how-does-streams-manager-know-that-a-user-is-active-or-expired-streams-manager-docs) - [Emby/Jellyfin users cannot login and are getting incorrect password message | Streams Manager Docs](#emby-jellyfin-users-cannot-login-and-are-getting-incorrect-password-message-streams-manager-docs) - [Error: Error communicating with Plex 401 | Streams Manager Docs](#error-error-communicating-with-plex-401-streams-manager-docs) - [Error: PlexApiException was thrown | Streams Manager Docs](#error-plexapiexception-was-thrown-streams-manager-docs) - [Migrating users between servers | Streams Manager Docs](#migrating-users-between-servers-streams-manager-docs) - [Payment gateways | Streams Manager Docs](#payment-gateways-streams-manager-docs) - [Plex | Streams Manager Docs](#plex-streams-manager-docs) - [Sumup settings | Streams Manager Docs](#sumup-settings-streams-manager-docs) - [Square settings | Streams Manager Docs](#square-settings-streams-manager-docs) - [Error: HTTP 422 Unprocessable Entity when inviting a user or processing a subscription | Streams Manager Docs](#error-http-422-unprocessable-entity-when-inviting-a-user-or-processing-a-subscription-streams-manager-docs) - [How Streams Manager enforces download limits? | Streams Manager Docs](#how-streams-manager-enforces-download-limits-streams-manager-docs) - [How to change user’s Plex/Emby/Jellyfin email or username? | Streams Manager Docs](#how-to-change-user-s-plex-emby-jellyfin-email-or-username-streams-manager-docs) - [How to enable two factor (2FA) authentication? | Streams Manager Docs](#how-to-enable-two-factor-2fa-authentication-streams-manager-docs) - [Stripe settings | Streams Manager Docs](#stripe-settings-streams-manager-docs) - [How does Streams Manager match payments during transaction sync? | Streams Manager Docs](#how-does-streams-manager-match-payments-during-transaction-sync-streams-manager-docs) - [PayPal | Streams Manager Docs](#paypal-streams-manager-docs) - [How Streams Manager enforces streaming limits? | Streams Manager Docs](#how-streams-manager-enforces-streaming-limits-streams-manager-docs) - [PayPal settings | Streams Manager Docs](#paypal-settings-streams-manager-docs) - [I am seeing notes mentioning credits on the payment edit screen. What is that? | Streams Manager Docs](#i-am-seeing-notes-mentioning-credits-on-the-payment-edit-screen-what-is-that-streams-manager-docs) - [How to mass migrate users from one media server to another? | Streams Manager Docs](#how-to-mass-migrate-users-from-one-media-server-to-another-streams-manager-docs) - [Referrals settings | Streams Manager Docs](#referrals-settings-streams-manager-docs) - [How to invite a user manually via Streams Manager? | Streams Manager Docs](#how-to-invite-a-user-manually-via-streams-manager-streams-manager-docs) - [What runs and is synchronized on a recurring basis? | Streams Manager Docs](#what-runs-and-is-synchronized-on-a-recurring-basis-streams-manager-docs) - [How to dedicate a specific server to trials only? | Streams Manager Docs](#how-to-dedicate-a-specific-server-to-trials-only-streams-manager-docs) - [Error: Plex response status code does not indicate success: 404 | Streams Manager Docs](#error-plex-response-status-code-does-not-indicate-success-404-streams-manager-docs) - [How does Streams Manager select a Plex server to add a user? | Streams Manager Docs](#how-does-streams-manager-select-a-plex-server-to-add-a-user-streams-manager-docs) - [Can I switch platforms? | Streams Manager Docs](#can-i-switch-platforms-streams-manager-docs) - [Creating a Discord bot | Streams Manager Docs](#creating-a-discord-bot-streams-manager-docs) - [What is the flow for a new customer in Streams Manager? | Streams Manager Docs](#what-is-the-flow-for-a-new-customer-in-streams-manager-streams-manager-docs) - [Plisio settings | Streams Manager Docs](#plisio-settings-streams-manager-docs) - [Petio settings | Streams Manager Docs](#petio-settings-streams-manager-docs) - [Media server integration settings | Streams Manager Docs](#media-server-integration-settings-streams-manager-docs) - [Discord integration settings | Streams Manager Docs](#discord-integration-settings-streams-manager-docs) - [Error: Create Subscription Api response error RESOURCE_NOT_FOUND | Streams Manager Docs](#error-create-subscription-api-response-error-resource-not-found-streams-manager-docs) - [Miscellaneous settings | Streams Manager Docs](#miscellaneous-settings-streams-manager-docs) - [Self invite settings | Streams Manager Docs](#self-invite-settings-streams-manager-docs) - [How to bulk invite users? | Streams Manager Docs](#how-to-bulk-invite-users-streams-manager-docs) - [Logo | Streams Manager Docs](#logo-streams-manager-docs) - [Wallpaper | Streams Manager Docs](#wallpaper-streams-manager-docs) - [Custom content | Streams Manager Docs](#custom-content-streams-manager-docs) - [Home page section 1 content | Streams Manager Docs](#home-page-section-1-content-streams-manager-docs) - [Subscription page content | Streams Manager Docs](#subscription-page-content-streams-manager-docs) - [Home page section 2 content | Streams Manager Docs](#home-page-section-2-content-streams-manager-docs) - [Pricing content | Streams Manager Docs](#pricing-content-streams-manager-docs) - [Library statistics section content | Streams Manager Docs](#library-statistics-section-content-streams-manager-docs) - [Custom theme | Streams Manager Docs](#custom-theme-streams-manager-docs) --- # System overview | Streams Manager Docs Below is the quick overview of the system when logged in as an administrator. ![](https://streamsmanager.gitbook.io/streams-manager/~gitbook/image?url=https%3A%2F%2F1028607433-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F9BkTOk434ezw65fP9EYl%252Fuploads%252FBtorNTzzFdCYUaxPz1xv%252FSystem%2520Overview.png%3Falt%3Dmedia%26token%3D62c20dab-2d39-4f76-8ded-b9d10a548224&width=768&dpr=4&quality=100&sign=c4bc2f4c&sv=2) Menu is at the top with submenus under each item that has a down arrow next to it. Descriptions of less obvious panels are as follows: * Users - this panel shows users in the system that are currently sharing one of your Plex servers or have done so in the past. Note, this is different from Site Logins (i.e. user's ability to login to he site and manage their account). By registering on the site, one gets a Site Login but they need to subscribe to become a User. * Payments - this panel shows a list of payments added to the system either from user subscriptions, synchronization from different payment gateways or by manual entry. * Plans - this panel shows plans/products you are offering your customers/users. * Unmatched Payments - this panel shows a list of payments that were found on one of the enabled payment gateways during synchronization but the system could not automatically match the payment to a user in the system. You should manually creating this payment on the user it belongs. * Discount Codes - this panel shows a list of discount codes that are created in the system. * Servers - this panel shows a list of Plex servers enabled in the system. Plex servers are automatically synced from your Plex account and they cannot be manually added Instead, claim ownership of a Plex server during Plex software installation and then sync the servers in the panel. * Server Locations - this panel show a list of locations where your servers reside. When managing a server, you can edit the server settings to assign it to a specific location. Then your users will be able to specify the server that is closest to them during the subscription process. * Libraries - this panel shows a list of libraries that are available on your Plex servers. Libraries are automatically synced from your Plex servers and they cannot be manually added Instead, add/edit libraries on the Plex server and then sync libraries in this panel. * Library Types - this panel shows library types which are groupings of libraries for the purpose of adding to a plan. * Download Activity - this pane shows download activity on your Plex servers. The activity is automatically checked every 5 minutes against your Plex servers and logged for viewing in this panel. * Streaming Activity - this pane shows streaming activity on your Plex servers. The activity is automatically checked every 5 minutes against your Plex servers and logged for viewing in this panel. * Plex Accounts - this panel shows a list of Plex accounts added to the system. You need to manually add one or more of Plex accounts to the system. * Settings - this panel allows for system configuration. * Mass Contact - this panel allows you to send messages to all users that are active on your Plex servers. * Scan Missing Media - this panels allows your users to request Plex scans of specific media items or folders to correct issues where the file the media item is pointing has been changed but Plex has not scanned in the change just yet so it shows it as media unavailable. * Upload Subtitles - this panel allows your users to upload their own subtitles to media items. * Scan Folder - this panel is accessible to administrators only and allows a similar functionality of the Scan Missing Media panel but it allows you to scan a any media directory on one or more servers. * invites - this panel shows a list of pending invites sent to users. * Site Logins - this panel shows a list of people show have registered with the system and can log in to subscribe or manage their account. People with logins become users once they subscribe or are added to a Plex server by the administrator. * FAQ - this panel allows you to create your own custom FAQ page where users can see commonly asked questions and answers. * Events - this panel shows events that occurred in the system ranging from informational events to errors that require our intervention. It is recommended to periodically review messages in this panel. [PreviousWhat is Streams Manager?chevron-left](https://streamsmanager.gitbook.io/streams-manager) [NextPanel navigationchevron-right](https://streamsmanager.gitbook.io/streams-manager/overview/system-overview/panel-navigation) Last updated 3 years ago --- # What is Streams Manager? | Streams Manager Docs Streams Manager is a software as a service solution (SaaS) service that allows you to automate much of your Plex, Emby or Jellyfin server and user management. This is a must have for hobbyists who have a single server with a handful of users or for those running massive operations. As mentioned, this is a SaaS solution which means that there is no hosting needed, no databases or other infrastructure to manage. You simply subscribe and use the system. On the other hand this also means that the system does not provide a self hosting option. Under certain circumstances, you may be allowed to host the database where Streams Manager stores its data if that is an attractive option for you. To get more details about the system, included features and other information, please visit: [https://streamsmanager.com.arrow-up-right](https://streamsmanager.com/features-2/) Streams manager provides integrations with following systems: * Media servers: * P-share server * Emby server * Jellyfin server * Payment gateways: * PayPal * Stripe * Square * Sumup * Plisio (crypto payment gateway) * Media request systems: * Overseer * Ombi * Petio * Notification systems: * Discord * Email ![](https://streamsmanager.gitbook.io/streams-manager/~gitbook/image?url=https%3A%2F%2F1028607433-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F9BkTOk434ezw65fP9EYl%252Fuploads%252Fzgg8bVCkbyddx46mBds5%252FIntegrations.png%3Falt%3Dmedia%26token%3Df5714298-0659-452f-a88d-7d0be895d430&width=768&dpr=4&quality=100&sign=7e58eabd&sv=2) [NextSystem overviewchevron-right](https://streamsmanager.gitbook.io/streams-manager/overview/system-overview) Last updated 2 months ago --- # General terms | Streams Manager Docs * Site login - person will get a site login once they are registered to use the Streams Manager system. Please note that they are not a user yet until they subscribe and start sharing one of your servers * User - a person that shares one of your servers. This person may or may not have a site login at the same time [PreviousPanel navigationchevron-left](https://streamsmanager.gitbook.io/streams-manager/overview/system-overview/panel-navigation) [NextUser classeschevron-right](https://streamsmanager.gitbook.io/streams-manager/overview/system-overview/user-classes) Last updated 3 years ago --- # Panel navigation | Streams Manager Docs Most panels are designed similarly. At the top of the panel, there is either a more enhanced search option or a free form text search that fires after you stop typing. Below the search section is a table header with a menu in the right of the header with options that allow you to refresh the table data, add new items and other actions depending on the context. Table items are listed under the header with pagination at the bottom. To the right of each item is a button with a bolt icon that reveals actions associated to that item. Actions such as edit or delete are usually located here but also other actions depending on the context. ![](https://streamsmanager.gitbook.io/streams-manager/~gitbook/image?url=https%3A%2F%2F1028607433-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F9BkTOk434ezw65fP9EYl%252Fuploads%252FrhsXAjuebdw9FdaYlKGr%252FPanel%2520navigation.png%3Falt%3Dmedia%26token%3D2534bf03-5256-4df0-a192-beb7b48c9b99&width=768&dpr=4&quality=100&sign=2344e226&sv=2) ### [hashtag](https://streamsmanager.gitbook.io/streams-manager/overview/system-overview/panel-navigation#undefined) [PreviousSystem overviewchevron-left](https://streamsmanager.gitbook.io/streams-manager/overview/system-overview) [NextGeneral termschevron-right](https://streamsmanager.gitbook.io/streams-manager/overview/system-overview/general-terms) Last updated 3 years ago --- # User classes | Streams Manager Docs Streams Manager offers two classes of users: * Permanent – users that never expire and are thus never removed. They are also exempt from all limits such as number of concurrent streams, download limits, transcoding, etc. You can mark a user permanent by editing a user on Users panel and turning on the toggle Is Permanent * Non-Permanent (i.e. normal users) – that are subject to Plex share removal once their payments expire, are subject to limits set by their plan (concurrent streams, downloads, transcoding, etc.), get their Discord roles assigned/removed etc. [PreviousGeneral termschevron-left](https://streamsmanager.gitbook.io/streams-manager/overview/system-overview/general-terms) [NextFirst time loginchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/first-time-login) Last updated 3 years ago --- # First time login | Streams Manager Docs In this section, we will describe how to login to the system for the first time and start configuring settings. circle-exclamation It is highly recommended to perform first time setup activities from a desktop computer as there is a lot of browser window switching and copying and pasting of different values. [PreviousUser classeschevron-left](https://streamsmanager.gitbook.io/streams-manager/overview/system-overview/user-classes) [NextIncluded accountschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/first-time-login/included-accounts) Last updated 1 year ago --- # Add your administrator login | Streams Manager Docs It is best to add a site login with an email address you own and make it administrator so you can reset your password should you need to do that. * Login with the default administrator account as outlined above * Access the `Users->Logins` menu. This will open a page with a list of current login accounts registered with the system * Access the menu button in the table header and click on "Add" menu button * Enter the email address and password you wish to use and click "Create" button. This will create a new site login. **DO NOT** enable two factor authentication just yet until you setup your SMTP server later. * Refresh the list of accounts by clicking on the table header menu button and again and then click on Refresh * Locate the new site login in the list and click on the “actions menu” (bolt icon) next to to the login and click on `Set Administrator` menu item * You can use your new email address to login as administrator [PreviousAdd Plex accountschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/add-plex-accounts) [NextSettingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings) Last updated 1 year ago --- # Included accounts | Streams Manager Docs Once your Streams Manager account has been provisioned, it is time to do some setup. Out of the box you are provided two users that can login to the system: * admin@streamsmanager.com – this is the administrator user that will have access to all features of the system. Since this is not a registered user on [https://plex.tvarrow-up-right](https://plex.tv/) , you **CANNOT** use this user to subscribe, test your payment methods, get a free trial, etc. * user@streamsmanager.com – a dummy user that you can use to login to see the experience your customers will get once they login to the system. Since this is not a registered user on [https://plex.tvarrow-up-right](https://plex.tv/) , you **CANNOT** use this user to subscribe, test your payment methods, get a free trial, etc. Instead register an email address that already has a Plex account. Passwords for both accounts are the same: > P@ssword1! triangle-exclamation **DO NOT** user managed/home users to test the subscription/payment flows in Streams Manager. It will not work. [PreviousFirst time loginchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/first-time-login) [NextReset default passwordschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/first-time-login/reset-default-passwords) Last updated 1 year ago --- # Reset default passwords | Streams Manager Docs The first thing you should do is reset default password for both built-in accounts described above. To do so, follow these steps: * Login with the built-in administrator account * Access the `Logins` page by clicking on `Users` menu option and clicking on `Logins` in the dropdown. This will open a page with a list of current login accounts registered with the system * Access the “actions menu” (bolt icon) next to each built-in login account described in the section above and click `Set Password`. Set the password to something other than default to prevent anyone else using the default credentials to login. Passwords must be at least 8 characters and must contain, uppercase and lowercase letters, a number and a special character. Remember this password. You will not be able to reset this password if you forget it ### [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/first-time-login/reset-default-passwords#undefined) [PreviousIncluded accountschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/first-time-login/included-accounts) [NextSetup proxychevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/setup-proxy) Last updated 1 year ago --- # Setup proxy | Streams Manager Docs circle-exclamation If you do not plan to manage Plex servers, you can skip this step. circle-info This step is optional but highly recommended. Streams Manager allows you to route all requests to `plex.tv` domain through a proxy. This is an additional security measure to ensure that your account is not accessed from Streams Manager's IP address. This is an optional step but recommended. You have two options for proxying: 1. (**Recommended**) If you have ssh access to the machine running the Plex Media Server, you can run a simple proxy program I created which is described below. Alternatively, you could also run well known open source proxy server [https://www.squid-cache.orgarrow-up-right](https://www.squid-cache.org/) . This will allow you to proxy your calls to `plex.tv` through the machine running the Plex Media Server and the calls will look exactly the same as the calls that Plex web app makes when accessing your server. This way Plex will not be able to detect that your Plex account is being used from multiple machines or IP addresses. Many think, this is the best option. 2. If you do not have ssh access to the machine running the Plex Media Server, you can purchase a separate HTTP proxy service (lots of them on the Internet like [https://www.anonymous-proxies.net/products/http-proxy/arrow-up-right](https://www.anonymous-proxies.net/products/http-proxy/) or [https://marsproxies.com/proxies/residential-proxiesarrow-up-right](https://marsproxies.com/proxies/residential-proxies/#pricing) ) and proxy your calls through that service. This will still ensure that Plex never sees Stream Manager's IP address. Proxying only affects traffic going to `plex.tv` domain and not your server. Your server will still be accessed directly as if proxy is not enabled. [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/setup-proxy#proxy-program) Proxy program ----------------------------------------------------------------------------------------------------------------------- I have created a simple proxy executable that you can run on a machine that runs your Plex Media Server. ### [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/setup-proxy#requirements) Requirements The program requires .NET 6.x to be installed. Please see this to install .NET 6 on your machine [https://dotnet.microsoft.com/en-us/download/dotnet/6.0arrow-up-right](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) . ### [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/setup-proxy#running) Running Download the executable from the [Github repositoryarrow-up-right](https://github.com/plexstreams/simple-proxy/tree/main) for your platform (windows or linux) and choose the correct architecture (x64 or arm64) create a Docker image from the included Docker file. Make the file executable if necessary (`chmod +x`). ### [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/setup-proxy#arguments) Arguments `PlexManager.Proxy run --port 5000 --username proxy_user --password proxy_pass` * `--port` Port on which the proxy will listen for connections * `--username` Username for proxy authentication. Omit for no authentication * `--password` Password for proxy authentication. Omit for no authentication [PreviousReset default passwordschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/first-time-login/reset-default-passwords) [NextAdd Plex accountschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/add-plex-accounts) Last updated 12 days ago * [Proxy program](https://streamsmanager.gitbook.io/streams-manager/configuration/setup-proxy#proxy-program) * [Requirements](https://streamsmanager.gitbook.io/streams-manager/configuration/setup-proxy#requirements) * [Running](https://streamsmanager.gitbook.io/streams-manager/configuration/setup-proxy#running) * [Arguments](https://streamsmanager.gitbook.io/streams-manager/configuration/setup-proxy#arguments) --- # Add Plex accounts | Streams Manager Docs circle-exclamation If you do not plan on managing Plex servers, you can skip this section. To enable Streams Manager to manage your Plex users and servers, it needs to have access to your Plex accounts. Also, before any of your Plex users can register, at least one Plex account needs to be configured to be able to validate that an email address a user is trying to register with is an email address that is already registered on [https://plex.tvarrow-up-right](https://plex.tv/) . To add a Plex account, follow these steps: * Click on `Servers & Libraries -> Plex Accounts` in the main menu * Plex Accounts panel will open showing already configured Plex accounts (if any) * Click the menu button in the table header to reveal the action menu and click on Add Plex Account * Modal dialog will show asking you for the following information: * **Email** - email for your Plex account * **Password** - (Optional) password for you Plex account. This field is not required to be saved in the system but it is highly recommended to do so. Otherwise, if your Plex token expires or gets invalidated, the system will have no way of generating a new token and all operations the system tries to perform on your Plex account or servers will fail * **Authentication token** - authentication token (Plex token) used to authorize calls to Plex. To generate the token, you can use the steps outlined in this [Plex support articlearrow-up-right](https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/) or get it from the URL as outlined below in Extra query parameters * **Proxy Url** - (Optional but recommended) Url of your proxy server. If provided, Streams Manager will proxy all requests to `plex.tv` domain through this proxy. This is an additional security measure to ensure that your account is not accessed from Streams Manager's IP address. You can use any HTTP proxy but it is highly recommended to run the proxy on the same machine where your Plex Media Server is running. This will ensure all traffic appears to be coming from the same machine where Plex Media Server is running. * **Proxy username** - Username for the proxy. Required if proxy url is specified. * **Proxy password** - Password for the proxy. Required if proxy url is specified. * **Extra query parameters** - (Optional but recommended) Extra query parameters to set on calls sent to `plex.tv` . The purpose is to make the calls that Streams Manager makes to `plex.tv` appear exactly like the calls coming from the Plex web app. To get the query string, follow these steps: * Navigate to [https://app.plex.tvarrow-up-right](https://app.plex.tv/) and login * Go to Settings (wrench icon) * Open Developer Tools in your browser and open `Network` tab * Click on `Manage Library Access.`You should see requests in the `Network` tab * Find the request that looks like the request in this image: * ![](https://streamsmanager.gitbook.io/streams-manager/~gitbook/image?url=https%3A%2F%2F1028607433-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F9BkTOk434ezw65fP9EYl%252Fuploads%252Fp7gLsciSeV7IcJLr3LFG%252Fimage.png%3Falt%3Dmedia%26token%3Db315010d-2a70-40dd-8294-575e88f388e2&width=768&dpr=4&quality=100&sign=b27d325b&sv=2) * Copy the request URL and paste in a text editor. Strip everything before and including `requests?` . What is left should start with `X-Plex-Product` * Find the section `&X-Plex-Token=xxxxxxx` where `xxxxxx` will be your personal token and remove it (do not remove `&` after the token) * Copy the remainder and put in the Extra query parameters box in Streams Manager * **Has Plex pass** - indicates whether this account has Plex pass which is needed to utilize advanced functionality such as streaming enforcement, enabling downloads, etc. * **Make sure to test the Proxy settings first before testing your token.** * Click Test Token button and ensure you get a success message * Save the Plex account details by clicking the Save button [PreviousSetup proxychevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/setup-proxy) [NextAdd your administrator loginchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/add-your-administrator-login) Last updated 2 months ago --- # Settings | Streams Manager Docs In this section, we will will walk through all available setting sin the system. [PreviousAdd your administrator loginchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/add-your-administrator-login) [NextGeneralchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/general) Last updated 1 year ago --- # General | Streams Manager Docs [Site settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/general/site-settings) [Administrator contact settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/general/administrator-contact-settings) [Page settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/general/page-settings) [PreviousSettingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings) [NextSite settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/general/site-settings) Last updated 2 years ago --- # Site settings | Streams Manager Docs Provides settings for the site. * Site name - name of your site that shows up on the home page in front of the wallpaper * Site URI - Streams Manager (or custom) domain URI of the site. This is important as it impacts where users are redirected to confirm their site login, reset passwords, etc. [PreviousGeneralchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/general) [NextAdministrator contact settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/general/administrator-contact-settings) Last updated 3 years ago --- # Administrator contact settings | Streams Manager Docs Provides settings for administrator contact. * Administrator email - email address that is used to send messages from the system to the site administrator, relay contact us messages from users, etc. * Administrator Discord ID - Discord ID that is used to send DMs from the system to the site administrator, relay contact us messages from users, etc. This is not the Username#1234 type of ID. It is all numeric Discord ID ([https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-IDarrow-up-right](https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID) ). [PreviousSite settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/general/site-settings) [NextPage settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/general/page-settings) Last updated 3 years ago --- # Page settings | Streams Manager Docs Provides settings for customizing certain page content. * **Contact us page enabled** - indicates whether Contact Us page will show up for users. * **Home page is public** - indicates whether the Home page should be publicly accessible or only after a login * **FAQ page is public** - indicates whether the FAQ page should be publicly accessible or only after a login [PreviousAdministrator contact settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/general/administrator-contact-settings) [NextEmail notificationschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications) Last updated 3 years ago --- # Library groups configuration | Streams Manager Docs Streams Manager offers the capability to group libraries which can then selectively be included in plans allowing you to setup Basic, Standard and Premium type of plan hierarchy. Before the system can be used, you will need to configure library groups you wish to include in your plans. To do so, access the Servers & Libraries dropdown from the main menu and click on Library Groups in the submenu. By default, you should see three library groups already defined: * Private – libraries in this group are NOT included or shared with any plan. This library groups cannot be edited or deleted. * Standard – libraries in this group can be included and shared with all plans. This library groups cannot be edited or deleted. * Premium 4K - meant to be used with 4K libraries allowing you the ability to include or exclude 4K from certains plans You can add other library groups for your 4K libraries, remux, audiobooks etc. or any other grouping you see fit if you plan to package them selectively in different plans. For example, you could create a basic plan that does not include 4K or remux and a premium plan that includes both standard and 4k and remux libraries. [PreviousSelf invite settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/miscellaneous-settings/self-invite-settings) [NextPlan configurationchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/plan-configuration) Last updated 3 years ago --- # Notification templates | Streams Manager Docs Streams Manager sends notifications to users or administrator when certain events occur in the system. Notification templates section allows you to customize the content of the messages that are sent. You can enable or disable message sending for each event and also customize the conte of each message. Different events allow for use of different variables depending on the context. [PreviousCreating a Discord botchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/discord-notifications/discord-settings/creating-a-discord-bot) [NextPayment gatewayschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/payment-gateways) Last updated 3 years ago --- # Libraries configuration | Streams Manager Docs Once your servers are imported and configured, ensure that serves you wish to be utilized by Streams Manager are enabled (edit server and ensure that Enabled switch is ON). Once that is done, it is time to import your libraries: * Go to the Servers panel * Open the table menu and click Sync so that servers are enabled can sync server libraries * Click on Servers & Libraries dropdown and then on Libraries and ensure you see the libraries that are on your servers * **IMPORTANT!** Edit each library and assign it a library group defined previously triangle-exclamation When you add new library to your media server they will be imported during the next synchronization cycle (daily) uness you initiate server sync manually. Note that by default new libraries will be put in the Private group which means no user will be able to access them. Once the library is synchronized, you must edit it to assign it a group or it won't be shared [PreviousMedia server configurationchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/media-server-configuration) [NextUsers and data importchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/users-and-data-import) Last updated 2 years ago --- # Discord settings | Streams Manager Docs Streams Manager provides integration with Discord bots and uses them to send notifications to users in your Discord server. Notifications can be of various types ranging from password resets, exceeding streaming limits or payment reminders. Note that users need to have their Discord ID field populated in their profile for this to work ([https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-IDarrow-up-right](https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID) ). Before you can enable this functionality, you need to create a Discord app and Bot for which you need to obtain a token. If you want a copy of the message sent to your users also be sent to another Discord user or users, populate Discord IDs field with a comma separated list of IDs of additional Discord users where notifications will be sent. triangle-exclamation Discord ID is **ALL NUMERIC ID** and not your username#discriminator nickname. See this [linkarrow-up-right](https://support.discord.com/hc/en-us/articles/206346498-Where-can-I-find-my-User-Server-Message-ID) on how to get your all numeric Discord ID. [PreviousDiscord notificationschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/discord-notifications) [NextCreating a Discord botchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/discord-notifications/discord-settings/creating-a-discord-bot) Last updated 3 years ago --- # Users and data import | Streams Manager Docs Streams Manager offers integration with your media server and in addition to importing servers and libraries, it can also import users, information about them and libraries they currently share. Before synchronizing users and shared libraries, ensure that you have synchronized your servers and libraries and described in previous sections. Also, keep in mind that Streams Manager will not imports or in any way interact with your managed/home users. You should not be adding your paying customers as managed/home users. Stream Manager will only import Emby users whose Emby username is a valid email address. [PreviousLibraries configurationchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/libraries-configuration) [NextUsers synchronization/importchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/users-and-data-import/users-synchronization-import) Last updated 3 months ago --- # Emby devices | Streams Manager Docs Emby has a licensing model that limits the number of devices a user can log in to, whether or not those devices are actively in use (25 for a free server and up to 75 with a Premiere subscription). To prevent users from logging into too many devices and consuming all available licenses on your Emby server, Streams Manager allows you to limit the number of devices each user can access. The Devices screen displays Emby devices, along with the media server each device is tied to, and the user who last used it. Streams Manager enables you to specify the maximum number of Emby devices a user can log in to per plan. Leaving the value empty will disable device limits. ![](https://streamsmanager.gitbook.io/streams-manager/~gitbook/image?url=https%3A%2F%2F1028607433-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F9BkTOk434ezw65fP9EYl%252Fuploads%252F6dsvp247YpRvbZZswsV7%252Fimage.png%3Falt%3Dmedia%26token%3D6ab6e288-d5a0-43d5-913e-092bbd31bb2f&width=768&dpr=4&quality=100&sign=49f7c90e&sv=2) By default, Streams Manager will enforce the number of devices users are allowed to use every 5 minutes. As long as a users has used/logged in on less devices than their plan allows, Streams Manager will enable `Allow All Devices` Emby setting for that user so they can login on additional devices. Once a user reaches the number of allowed devices specified on their plan, `Allow All Devices` setting will be disabled in Emby and user will be able to use only existing devices. **This will prevent users from logging in on any new device.** If a user exceeds the number of allowed devices, Streams Manager will delete their oldest devices to bring the number of devices in compliance and disable `Allow All Devices` Emby setting. Once a user again drops below the device limit, `Allow All Devices` setting will be enabled again. These checks and updates are made every 5 minutes. [PreviousLinked userschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/linked-users) [NextCustom roleschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/custom-roles) Last updated 1 year ago --- # Payment reminders settings | Streams Manager Docs Streams Manager by default sends payment reminders to your users when their subscription is close to expiring. Only non-permanent users on Pay as you Go subscriptions or on Recurring subscriptions that have been cancelled (in Paypal or Stripe) get payment reminders. Users on active Recurring subscriptions or permanent users do not get payment reminders. Settings in this sections allow you to customize whether and when payment reminders are sent. Payment reminder settings are as follows: * Send payment reminders - indicates whether the system will send payment reminders to users * Days prior - comma separated list of days prior to expiration payment reminder will be sent. For example: 1,3 will send payment reminders 3 days prior to expiration and then again 1 day prior to expiration if a user has not renewed their subscription in the meantime. Payment reminders are sent via email (if enabled) and via Discord (if enabled). To customize the payment reminder message that is sent to users, change the notification template associated with Subscription Expiring Soon event that is available in both Email notification settings and Discord notification settings. [PreviousRegistration settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/registration-settings) [NextSubscriptions & trials settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/subscriptions-and-trials-settings) Last updated 3 years ago --- # Discord notifications | Streams Manager Docs Allows you to enable and configure Discord notifications to users in your Discord server. This is an **optional** feature. [PreviousFree SMTP optionschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications/free-smtp-options) [NextDiscord settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/discord-notifications/discord-settings) Last updated 2 years ago --- # Server location configuration | Streams Manager Docs Streams Manager allows you to indicate geographic locations for your media servers so that users can choose the server closest to them when subscribing. To support this feature, you need to add geographic locations where your media servers reside to the list. At least one location is required and if there is only one location configured, users will not be prompted. To add your geographic locations, follow these steps: * Click on Servers and Libraries dropdown in the main menu and then click on Server Locations * Server Locations panel will open showing already configured server locations (if any) * Click the menu button in the table header to reveal the action menu and click on Add Server Location * Modal dialog will show asking you for the name of the geographic location. Enter the name. Keep in mind that names must be unique * Click Save Now this location will become available when configuring media servers. [PreviousSquare recurring plan setupchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/plan-configuration/recurring-plans-setup/square-recurring-plan-setup) [NextMedia server configurationchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/media-server-configuration) Last updated 2 years ago --- # Media server configuration | Streams Manager Docs Streams Manager allows you to manage all your media servers in a single place even if they are using different platform such as Plex or Emby or if they are tied to different Plex accounts. Please note that only certain information about your media servers can be edited. To add a media server, ensure that `Sync from remote server` under `Media server integration` is enabled. Then, follow these steps: * Click on Servers & Libraries dropdown in the main menu and then click on Servers menu item. You will be taken to the Servers panel * Click the menu button in the table header to reveal the actions menu and click on `Add New Plex Server` or `Add New Emby Server` * In case of Plex, select the Plex account from the list and the list of servers will be shown below. Select the server based on the web address that will be reachable from the Internet. In case of emby, enter the URL to the Emby server that will be reachable from the Internet as well as the API key * Click `Test Connection` button to make sure that the server is reachable. If error occurs, try the same server with a different web address or validate your URL * Once the connection test is successful, click Add. This will add the server and corresponding libraries that are on the server * You **MUST** edit each server to **enable it** and adjust the settings Each media server will have the following settings: * Server name - specifies server name. This setting is managed on the media server side and cannot be changed in Streams Manager. Should you change the name of the server using the server platform (Plex or Emby). Once the syntonization occurs (default is daily), it will be updated. You can also force the sync yourself * Server location - indicates the location of the server. If there are servers tied to multiple locations, users will have the ability to choose the server location when subscribing * Media server direct URL - specifies server direct URL. This URL **MUST** be accessible from the Internet and is required to interact with the server. To test the server connection, click the Test Connection button. **IMPORTANT!** If your server URL changes, you **MUST** manually change it in Streams Manager as well. Otherwise, Streams Manager will not be able to interact with your server, users won't be able to be added, etc. * Maximum number of users - specifies maximum number of users that are allowed on this server. Streams Manager will stop adding new subscribers to the server once this number has been reached. This setting is particularly useful if you have servers with different capabilities (i.e. hardware or GPU transcoding vs CPU transcoding, faster vs. slower processors, more or less bandwidth available, etc.) so you can allow less users on less powerful servers * Enabled - indicates whether to use or ignore this server when doing regular operations. When disabled, Streams Manager will not interact with this server to enforce streaming or download limits, log activity, etc. and no new users can be added to this server * Discord role - discord role name for this server. When specified and Discord sync is enabled, all users on this server will get this Discord role * Enforce download time restrictions - indicates whether to send user notifications that downloads are not allowed during specified period when users are detected downloading during that time period. Please see [How Streams Manager enforces download limits?](https://streamsmanager.gitbook.io/streams-manager/faq/how-streams-manager-enforces-download-limits) * Download time restrictions - specifies when downloads should be restricted on this server (time is in UTC). You can format: Day:Time-Day:Time. You can also specify multiple time period separated by comma. For example, if specifying: Monday:17:00-Monday:23:30,Friday:13:00-Friday:22:00 then downloads won't be allowed on Monday between 17:00 and 23:30 UTC and also from Friday 13:00 to 22:00 UTC time. Another option is to use the word Daily instead a specific day if you wish to enforce downloads during the same time period for every day. For example, if specifying Daily:17:00-Daily:23:30 then downloads won't be allowed on between 17:00 and 23:30 UTC every day of the week * Allow new subscriptions - indicates whether to allow new non-trial subscriptions to be added to this server. When turned OFF, users who wish to subscribe will not be put on this server * Log streaming activity - indicates whether to periodically collect and log user streaming activity on this server to the database. Logged activity for a specific can be seen on User Details panel and all activity regardless of user can be seen on Streaming Activity panel. Information that is collected includes the user streaming, date and time, server streaming from, title being streamed, IP address and physical location down to the city/town if available * Log download activity - indicates whether to periodically collect and log user download activity on this server to the database. Logged activity for a specific user can be seen on User Details panel and all activity regardless of user can be seen on Download Activity panel. Information that is collected includes the user downloading, date and time, server downloading from, title being downloaded and progress. If a title is not downloaded in 2 hours or restarts after 2 hours of initial download start, it will count as a new download * Allow 4K transcoding - indicates whether to allow transcoding of 4K content on this server. When disabled and a user is detected transcoding of 4K content, their stream will be stopped and notification will be sent (see notification templates to adjust the notification content being sent). For this feature to work, your Plex account must have Plex Pass * Allow trial subscriptions - indicates whether to allow trial users to be added to this server. If enabled, Allow new subscriptions must also be enabled [PreviousServer location configurationchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/server-location-configuration) [NextLibraries configurationchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/libraries-configuration) Last updated 2 years ago --- # Custom roles | Streams Manager Docs circle-exclamation This is a premium feature that needs to be purchased separately. Streams Manager allows you to create custom roles with very granular permissions that allow access to certain features of the system while forbidding access to other features. This is very helpful if you have users that are considered staff and help you manage your system. circle-info Built in roles of Administrator and User cannot be modified or removed. When you create a custom role, you can specify what permissions the role has. You can then assign that role to a certain Site Login to give it those permissions. triangle-exclamation Once permissions on a role have changed, user with the role must logout before changes will take effect. [PreviousEmby deviceschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/emby-devices) [NextCustom domainchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/custom-domain) Last updated 2 years ago --- # Server re-invite | Streams Manager Docs Streams Manager allows your users to re-invite themselves to a server if the somehow lost access. This functionality if available for your users on the My Account page **unless they are flagged to change their Plex account**. If a user has lost access to your media server but they are current on their payments, they will see a `Re-Invite Yourself` button on the My Account page they can click and get re-invited to one of your media servers. Whether this button is shown to users can be controlled from the `Settings` page under `Miscellaneous Settings` tab. [PreviousRequiring users to change their Plex accountchevron-left](https://streamsmanager.gitbook.io/streams-manager/plex-bans/requiring-users-to-change-their-plex-account) [NextPayPalchevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/paypal) Last updated 1 year ago --- # Requiring users to change their Plex account | Streams Manager Docs Streams Manager now allows admins to tag their users to force them to change their Plex account before they can subscribe or be re-invited to your Plex server. This can be very useful if your Plex server has been banned and you provisioned a new server and want to get your users on the new server. This feature is available on the Users page using the `Edit` individual user option or via `Bulk Edit` functionality. Once you tag a user as required to change their Plex account, users will get a banner on the My Account page instructing them to change their Plex account and be given a button `Change Your Plex Account` to do this. They would simply enter the new Plex email address and the system will verify it, make updates in the system to use the new Plex account and re-invite the user to one of your Plex servers. Also, ensure that Plex account change processing is enabled in `Settings->Miscellaneous.` [PreviousHow to deal with a banchevron-left](https://streamsmanager.gitbook.io/streams-manager/plex-bans/how-to-deal-with-a-ban) [NextServer re-invitechevron-right](https://streamsmanager.gitbook.io/streams-manager/plex-bans/server-re-invite) Last updated 1 year ago --- # Notification templates | Streams Manager Docs Streams Manager sends notifications to users or administrator when certain events occur in the system. Notification templates section allows you to customize the content of the messages that are sent. You can enable or disable message sending for each event and also customize the content of each message. Different events allow for use of different variables depending on the context. [PreviousSMTP settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications/smtp-settings) [NextFree SMTP optionschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications/free-smtp-options) Last updated 3 years ago --- # Email notifications | Streams Manager Docs Allows for setup of email servers and email notification templates. Please note that setting up email (SMTP) server is **REQUIRED** for the system to work properly. [PreviousPage settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/general/page-settings) [NextSMTP settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications/smtp-settings) Last updated 1 year ago --- # Registration settings | Streams Manager Docs Streams Manager allows your users to register on the site to subscribe and manage their account like changing their plan, extending their subscription, etc. The system allows for some control over how the registration process works. * Registrations enabled - indicates whether registrations are enabled. When turned OFF, nobody will be able to register. * Public registrations enabled - indicates whether public registrations are enabled. When turned OFF, people who are not already sharing one of your Streams server will NOT be able to register. Only people sharing a server will be able to do so. You can get around this using referral codes (see below) * Require Discord information during registration - when turned ON, during registration users will have to enter their Discord username and ID to be able to register [PreviousPlisio settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/payment-gateways/plisio-settings) [NextPayment reminders settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/payment-reminders-settings) Last updated 3 years ago --- # Discount codes | Streams Manager Docs circle-info Discount codes is a feature that is part of the premium pack that needs to be purchased separately. Streams Manager allows you to offer your customers a discount or promo code. You can create as many discount codes as you'd like and also have lots of flexibility to restrict how discount codes are used. circle-exclamation Discount codes are only applicable for Pay as You Go payments. Recurring subscriptions are not applicable to discounts. circle-exclamation User can only use a discount code once. Repeat uses of the same discount code by the same user are not allowed. Discount codes can be accessed from the Payments & Plans menu. Once opened, all your discount codes will be listed. When creating a new discount code, the following are the fields that can be configured: * Code - this is the actual code you will send your users. The code must be unique * User email - optional email address of the user to which this code applies. If left blank, any user will be able to use this code. Otherwise, only the user with the email specified will be able to use the code and **use it only once** * Used count - indicates the number of times this code has already been used. Once a code has been used, this counter will get incremented * Maximum number of uses - maximum number of times this code can be used before it becomes invalid. Leave blank for unlimited uses. Keep in mind that when a code is tied to a specific user email, it can only be used once regardless of what number of uses is set to * Expiration date/time - specifies the date/time when the discount code will expire. If left blank, discount code will never expire * Discount percent - amount of discount to apply as a percentage of total payment. Discount percent or amount need to be specified but not both * Discount amount - currency amount of discount to apply to total payment. Discount percent or amount need to be specified but not both. Discount amount must be less than the total payment amount * Allowed plans - indicates plans for which the discount code will be applicable. Leave blank to make the discount code applicable to all plans [PreviousUsers synchronization/importchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/users-and-data-import/users-synchronization-import) [NextLinked userschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/linked-users) Last updated 1 year ago --- # Linked users | Streams Manager Docs circle-info Linked users is a feature that is part of the premium pack that needs to be purchased separately. Streams Manager allows you to link users in a way that allows one user (master user/account) to manage or pay for multiple linked users (sub users/accounts) without logging in with each sub user and making payments. For this feature to work properly, the following needs to be completed: * Create a special plan that targets the master user by allowing only master users with the same number of sub accounts and plan type (number of devices, cost, etc.) to see it on the checkout page. This plan will be applied to the master user and all sub users. Set the plan so that number of concurrent streams, devices and plan duration are set as if they are intended for a single user but set the cost to match the number of sub accounts this master user intends to manage or pay for. Also, set the correct maximum number of sub accounts the plan will support. **This is required.** Naming the plan in a way that indicates the number of sub accounts may be beneficial (i.e. 1 device - 3 accounts) * Invite the master user and all sub users to your servers and place them on the same plan you configured in the previous step. Ensure that the last payment on all users has the same expiration date/time * Navigate to `Users -> Linked Users` page and add a link from master user to all sub users * Next time a master user makes a payment on a plan that is configured to support more than zero sub users, master user and all sub users will get a payment created on the same plan for the same duration and this will effectively extend the subscription for all users at the same time There are few important things to keep in mind: * This feature will not work on trial plans * If master user or sub users expire and get removed from your media server and master user then makes a payment, this will only invite or share a server with the master user but only create payments for sub users without inviting them or sharing a server with them. You will have to manually re-invite or reshare your server with sub users. [PreviousDiscount codeschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/discount-codes) [NextEmby deviceschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/emby-devices) Last updated 11 months ago --- # Test the flows | Streams Manager Docs One the configuration is complete, it is recommended to create a dummy user you can use to test that your system is configured properly. * Create a dummy account on [https://plex.tvarrow-up-right](https://plex.tv/) * Register with that user on your Streams Manager instance * Ensure you get the confirmation email and confirm it * Sign in with the user to your Streams Manager instance * Slick on Subscribe or Free trial and complete the subscription * Ensure you get the invite [PreviousCustom domainchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/custom-domain) [NextMigrating users between serverschevron-right](https://streamsmanager.gitbook.io/streams-manager/server-migration/migrating-users-between-servers) Last updated 2 years ago --- # SMTP settings | Streams Manager Docs You can use your own SMTP server by providing the SMTP settings in outlined fields. Click the Test button and enter a test email address where test email will be sent. **Don't forget to click the save button before navigating away**. If you do not have an SMTP server you are already using, you can use one of the free SMTP options. Please see [Free SMTP options](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications/free-smtp-options) . All these options have very low limit on how many emails can be sent per day. Alternatively, I can provide reliable SMTP server through Amazon AWS SES for $3 per month without limits. ### [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications/smtp-settings#amazon-smtp-settings) Amazon SMTP settings Amazon SMTP settings are as follows: Setting Value SMTP Host email-smtp.us-east-1.amazonaws.com SMTP Port 465 SMTP User Will be provided SMTP Password Will be provided Use SSL/TLS True From Email Must match email you verified with Amazon [PreviousEmail notificationschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications) [NextNotification templateschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications/notification-templates) Last updated 12 days ago --- # Custom domain | Streams Manager Docs triangle-exclamation Custom domain is **required** if you plan on **advertising your service in ANY public forum**. You **CANNOT** use streamsmanager.com domain in any public post, blog, message platform, etc. triangle-exclamation **DO NOT** buy your domain from CloudFlare or you will need to provide and manage your own SSL certificates. Using a custom domain with Streams Manager is possible but it incurs additional monthly cost. Custom domain is **required** if you plan on **advertising your service in ANY public forum**. You **CANNOT** use streamsmanager.com domain in any public post, blog, message platform, etc. To be able to use the custom domain, there are prerequisites that need to be met: * You have to own the domain. Domain can be purchased through a variety of domain registrars such as Namecheap, Porkbun, GoDaddy, Google, AWS, etc. **NOT from Cloudflare!** * Domain **nameservers (and nameservers only)** have to be managed by [Cloudflarearrow-up-right](https://cloudflare.com/) because it greatly simplifies TLS management and provides a free certificate so you can use HTTPS with your site. You can setup a free account on Cloudflare which is sufficient. Once you login to Cloudflare with an account, you will be prompted to import your site and use Cloudflare nameservers. Importing your site will take some time. If you don't want to use Cloudflare, you must provide a TLS certificate that lasts at least a year (no 3 month certificates you get from Let's Encrypt for example) * Wait for the nameservers to change. This will take several hours. * Click on `SSL/TLS -> Overview` in the left nav menu and ensure TLS/SSL has to be set to FULL (not strict) ![](https://streamsmanager.gitbook.io/streams-manager/~gitbook/image?url=https%3A%2F%2Fcdn.document360.io%2Ff93693fd-bbea-47dd-a113-16646e95160a%2FImages%2FDocumentation%2Fimage-1668045513432.png&width=768&dpr=4&quality=100&sign=30378650&sv=2) * Click on `DNS` menu on the left menu and create a `CNAME` record that points your domain to `customers.streamsmanager.com` * Once all these steps are complete, please contact us and provide your registered domain name. Then we will provide you with instructions on how to point your domain properly using a `CNAME` record. IP address to which you need to point your domain. * Update the `SiteURI` setting under `Settings->General` to use the new custom domain URL. [PreviousCustom roleschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/custom-roles) [NextTest the flowschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/test-the-flows) Last updated 8 months ago --- # How to deal with a ban | Streams Manager Docs Here are some helpful tips to prevent a ban. * Avoid adding same Plex users to your Plex servers that may have been on the server prior to the ban (they got an email saying they lost access due to TOS violation) * Access your Plex server UI using a custom URL if possible and don;t use https://app.plex.tv * Do not access multiple servers from the same browser. Firefox has a concept of containers that you can setup so you use a "virtual" browser for each server. Always use the same container for the same server. Do not mix and match Here are some steps you can take in Streams Manager to help you recover from a ban. 1. Navigate to `Users` page and export the list of users you have for backup purposes. This list will have information about the users and which server and plan they were on 2. Navigate to `Plex Account` page and delete all banned Plex accounts by clicking the bolt icon and selecting `Delete`. This will NOT delete your user data from Streams Manager except for the information about which server a user was on which you already got from step 1 3. Create new Plex accounts which will be used to claim your new Plex servers. It is best that these accounts be "aged" and not brand new 4. Use the Plex account from the previous step to claim your Plex server 5. Navigate to `Plex Account` page and add the new Plex account obtained in step 3 that now has a server attached to it 6. Navigate to `Servers` page and add the new server you claimed. Edit the server you just added and configure server settings. Ensure that `Allow new subscription` is enabled 7. Navigate to `Libraries` page and configure libraries by adding them to groups as described in [Libraries configuration](https://streamsmanager.gitbook.io/streams-manager/configuration/libraries-configuration) 8. Repeat above steps to add all your new Plex accounts and servers 9. Navigate to `Users` page and mark your users requiring to change their Plex accounts (see [Requiring users to change their Plex account](https://streamsmanager.gitbook.io/streams-manager/plex-bans/requiring-users-to-change-their-plex-account) ). You can increase the page size to 100 but still you may have to repeat the process for each page to mark all users. Bulk edit users and set the `Requires Plex account change` to `Yes` 10. Ensure that Plex account change processing is enabled in `Settings->Miscellaneous` 11. Inform your users to login to the site and provide a new Plex account. **It is important to stress that they CANNOT simply log into to https://plex.tv and click on change email button. This will cause an issue for you and likley cause a ban again.** They will be taken to the `My Account` page with a big bed banner that instructs them to sign up for a new Plex account with a new email and change their Plex account. Once they click on `Change Plex account` button and provide the new Plex email, the system will automatically invite them to your new servers using the plans they had previously and merge their user data from the old account. System also prevents users from using an account that was previously changed/banned [PreviousOverviewchevron-left](https://streamsmanager.gitbook.io/streams-manager/plex-bans/overview) [NextRequiring users to change their Plex accountchevron-right](https://streamsmanager.gitbook.io/streams-manager/plex-bans/requiring-users-to-change-their-plex-account) Last updated 1 year ago --- # Subscriptions & trials settings | Streams Manager Docs These settings allow you to enable or disable regular and trial subscriptions. [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/subscriptions-and-trials-settings#trial-settings) Trial settings -------------------------------------------------------------------------------------------------------------------------------------------------------- The settings are as follows: * **Trial enabled** - indicates whether free trial subscriptions through the website are enabled. When enabled, free trial link will be shown in the main menu for non-admin users. When enabled, at least one trial plan has to be configured. * **Force trial prior to subscription** - Indicates whether users have to sign up for a trial first before subscribing to a paid plan. * **Maximum number of trial users** - indicates the maximum number of trial users allowed in the system (set to 0 for unlimited). When the limit is reached, users will be prevented to start free trials. [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/subscriptions-and-trials-settings#subscription-settings) Subscription settings ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- The settings are as follows: * **Subscription enabled** - indicates whether subscriptions through the website are enabled. When enabled, subscribe link will be shown in the main menu and a subscribe button on the main page. When enabled, at least one plan has to be configured. [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/subscriptions-and-trials-settings#advanced-subscription-expiration-handling) Advanced subscription expiration handling -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- circle-exclamation This is a feature that is part of the premium pack that needs to be purchased separately. Advanced subscription expiration handling allows you to change how Streams Manager handles users whose subscription has expired. By default, when user's subscription expires, Streams Manager will remove that user within one hour of subscription expiration via a recurring background job. Instead of immediately deleting a user from the media server, you can limit user's access to only certain libraries up to a certain number of days after expiration (specified by `Delete from media server after days` setting). If a user does not renew their subscription after that many days after expiration, only then the user will be deleted them from the media server. This may give users a better opportunity to renew and yield better user retention. The settings as follows: * **Enabled** - whether this feature is enabled or not. * **Delete from media server after days** - If a user does not renew their subscription after that many days after expiration, only then the user will be deleted them from the media server. * **Allowed libraries** - comma separated list of library names expired user will have access to until they either renew their subscription or get deleted. **Every server must have these libraries.** [PreviousPayment reminders settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/payment-reminders-settings) [NextRequests integration settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/requests-integration-settings) Last updated 1 year ago * [Trial settings](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/subscriptions-and-trials-settings#trial-settings) * [Subscription settings](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/subscriptions-and-trials-settings#subscription-settings) * [Advanced subscription expiration handling](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/subscriptions-and-trials-settings#advanced-subscription-expiration-handling) --- # Users synchronization/import | Streams Manager Docs This step will synchronize/import any users currently sharing libraries on your media servers. As described in the [User classes](https://streamsmanager.gitbook.io/streams-manager/overview/system-overview/user-classes) , Streams Manager offers two classes of users: standard and permanent and media server integration settings will dictate whether your users will be imported as standard or permanent. What will happen when the synchronization occurs? Streams Manager will reach out to your media server. It will fetch a list of friends or users that share a server. If the friend/user already exists in Streams Manager, any changed information will be updated in Streams Manager. However, if the friend/user does not exist in Streams Manager, it will be created taking into account whether to create it as a standard user or permanent. In addition to creating a user, Streams Manager will create a default payment for the user and assign them to a plan that you marked as default. Each payment has start and end dates defined that indicate the time period for which the payment paid for user's subscription. **The payment end date is marks the date when users subscription expires.** The default payment will last the same amount of time as the default plan duration. To synchronize/import users, follow these steps: * Navigate to Users panel in the main menu * The panel will show any existing users that may have been imported or synchronized * Click on the menu button in the table header, and click on Sync menu item * This will initiate the synchronization/import process that may take a while especially during the initial import * Once complete, refresh the table to see all new users that have been imported * Next, navigate to Servers & Libraries dropdown in the main menu and click on Shared Servers menu item * This will open Shared Servers panel showing which users share which server and when they were invited and added to the server * Click on the menu button in the table header, and click on Sync menu item * This will synchronize this information so you should now see entries here for all your users that share a server Once the synchronization is complete, navigate to User Details panel by clicking the username link. You **MUST** edit each user to configure each user to match you existing records. Please pay attention to the following: * Edit user profile data to update this information: * PayPal email - if your user pays you via PayPal specifying their PayPal email address is critical since Streams Manager uses this email to match payments to users when importing transactions * Discord info - set the ID and username to ensure Streams Manager can add/remove the roles and send DMs to users * Edit default payment created by Streams Manager to set the user to correct plan and set the end date of the payment to when user's subscription expires. This will drive when payment reminders are send and when a user is eligible to be removed from your Plex servers should they not pay to extend their subscription. Also, if the user is on an existing recurring payment, set the Subscription ID of the recurring subscription so that Streams Manager can match future payments to this user. This is the ID in form of `I-JSE05VWSMN55` for PayPal and `sub_7867632387ddd` in case of Stripe. [PreviousUsers and data importchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/users-and-data-import) [NextDiscount codeschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/discount-codes) Last updated 2 years ago --- # Recurring plans setup | Streams Manager Docs Each active plan you create will be available in the plan selection dropdown on the pay as you go checkout page and pricing section of the home page. If you wish to offer the same plan as a recurring plan as well, you will need to populate the Stripe Price ID and/or PayPal Plan ID fields. [PreviousPlan configurationchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/plan-configuration) [NextStripe recurring plan setupchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/plan-configuration/recurring-plans-setup/stripe-recurring-plan-setup) Last updated 3 months ago --- # Free SMTP options | Streams Manager Docs Below are some options for free SMTP service. [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications/free-smtp-options#brevo) Brevo ------------------------------------------------------------------------------------------------------------------------------------------ Signup for account at Brevo here: [https://onboarding.brevo.com/account/registerarrow-up-right](https://onboarding.brevo.com/account/register) . Select the free plan that allows you to send 300 emails per day. Then login and click on Transactional menu option on the left. You will find your SMTP details there that you need to enter in Streams Manager. [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications/free-smtp-options#sendgrid) SendGrid ------------------------------------------------------------------------------------------------------------------------------------------------ You can use SendGrid service to send your emails. Free price tier limits you to sending 100 emails per day but should be enough for your needs. To setup SendGrid for SMTP, please follow these steps. 1. Signup for SendGrid on [https://signup.sendgrid.comarrow-up-right](https://signup.sendgrid.com/) . You will re required to setup two factor authentication. 2. Login with your newly created account. 3. Navigate to Settings -> API Keys on the left menu. 4. Click on Create API Key button in the top right. Give the key a name such as Streams Manager and give it Full Access. Note the API Key as it will be only shown to you once. 5. Next you need to verify a Sender Identity. Navigate to Settings -> Sender Authentication on the left menu. This is the identity that will be used to send emails and what your users will see once they receive an email. 6. Click on Get Started button under Verify Address section. 7. Enter the information requested. You must have access to the email address you enter here to confirm it. 8. Verify the identity by clicking the link in the email. Your SendGrid setup is now complete. You will use the SendGrid information to setup SMTP in Streams Manager. 1. Login to your Streams Manager instance and navigate to Settings -> Email Notifications. 2. Enter the following information in the SMTP Settings section: 1. SMTP host: smtp.sendgrid.net 2. SMTP port: 587 3. Username: apikey 4. Password: enter your API Key value you created in SendGrid in the previous section 5. From email: enter the email address you setup in your identity in SendGrid 6. From name: enter the name you setup in your identity in SendGrid 7. Use SSL/TLS: ensure this is enabled 8. Other fields are optional but recommended to set Click the Test button and enter an email address where a test email will be sent. If the email is received successfully you have correctly setup your SMTP server. **Don't forget to click Save button** at the bottom to save your settings. [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications/free-smtp-options#undefined) --------------------------------------------------------------------------------------------------------------------------------------- [PreviousNotification templateschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications/notification-templates) [NextDiscord notificationschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/discord-notifications) Last updated 1 year ago * [Brevo](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications/free-smtp-options#brevo) * [SendGrid](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications/free-smtp-options#sendgrid) * [](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications/free-smtp-options#undefined) --- # Stripe recurring plan setup | Streams Manager Docs Stripe uses slightly different terms to describe how their service works. In case of Stripe, a Stripe product is either a product or service you sell and a Stripe price is a concept that combines the Stripe product, cost for the product and amount of time the product/service is valid for. It is recommended to create Stripe products that are equivalent to plans in Streams Manager and create a Stripe price for a Stripe product that matches the plan cost and duration in Streams Manager. Then copy the Stripe price ID and paste into the plan details in Streams Manager. To see how to create Stripe product and price, please see [Stripe documentationarrow-up-right](https://stripe.com/docs/products-prices/manage-prices#create-product) . Once the plan has been updated with Stripe price ID, the plan will show in the plan selection dropdown on the Recurring checkout. [PreviousRecurring plans setupchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/plan-configuration/recurring-plans-setup) [NextPayPal recurring plan setupchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/plan-configuration/recurring-plans-setup/paypal-recurring-plan-setup) Last updated 3 months ago --- # Square recurring plan setup | Streams Manager Docs Square has concept of subscription plans and subscription plan variations. Eventually, subscription plan variation will match one-to-one to your plan in Streams Manager. To setup Square recurring plans, please follow these steps: * Navigate to `Settings -> Payment Gateways -> Square Settings` * Ensure your Square settings are correct and test passes * Click `Build Catalog` button. This will create necessary catalog items to support recurring subscriptions * The plan `Monthly Variable` will now show up in the plan edit page when clicking Square selection button. This plan allows for variable pricing that Streams Manager will set based on the plan user selects [PreviousPayPal recurring plan setupchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/plan-configuration/recurring-plans-setup/paypal-recurring-plan-setup) [NextServer location configurationchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/server-location-configuration) Last updated 10 days ago --- # Overseerr settings | Streams Manager Docs Streams Manager integration with Overseerr consist of Streams Manager creating local accounts for new subscribers in Overseerr and syncing their Discord information so they can be notified when their requests are approved and fulfilled. Overseerr account is created for new subscribers immediately upon subscription and fully synchronized once per day at 5 AM UTC. Note that Overseerr **must have an email agent configured** for the integration to work properly since once new account is created in Overseerr, login credentials need to be emailed to the user. The settings are as follows: * Overseerr user sync enabled - indicates whether sync with Overseer request system is enabled. When enabled, new local Overseerr accounts will be created for all Streams Manager users and Discord notification preferences will be synced. Full synchronization runs on a schedule once per day at 5 AM UTC * API key - API key as set in Overseerr under Settings->General * URL - base URL to the Overseerr system [PreviousOmbi settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/requests-integration-settings/ombi-settings) [NextPetio settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/requests-integration-settings/petio-settings) Last updated 3 years ago --- # PayPal recurring plan setup | Streams Manager Docs PayPal uses more standard terms to describe how their service works. Similarly to Stripe, PayPal uses products and plans. Just like with Stripe, it is recommended to create PayPal products that are equivalent to plans in Streams Manager and create a payPal subscription for that product that matches the plan cost and duration in Streams Manager. Then copy the payPal plan ID and paste into the plan details in Streams Manager. To create PayPal product and plan, please follow these steps: * Login to your PayPal account. You need to have a PayPal business account to take advantage of recurring plans * Click on Pay & Get Paid in the main menu and then Subscriptions on the right * Click on Subscription plans in the left navigation bar * Click Create Plan button * Scroll to the bottom and click Create a subscription product * Fill in product details including the description and ensure it closely matches the name of the plan in Streams Manager so you can correlate the two * For product type, select Digital goods * For industry category, select Software * Leave other fields blank * Click the Next button and your product will be created and you will redirected to the create plan page * Select the product you just created by clicking the circle next to it * Scroll down and click on the Next button * Select Fixed pricing and click the Next button * Enter plan name that closely correlates to your plan name in Streams Manager and click the Next button * Select the currency you wish to use (this should match the currency selected in Streams Manager on Payment Gateways settings page) * Leave "Charge a one-time setup fee" unchecked as it is not supported by Streams Manager. However, a **single** trial period is supported. You set the cost to a value or to zero and also set the duration. Once someone subscribes to this plan, Streams Manager will create a first payment entry for the user to cover the trial period first (payment will be the cost of the trial period) and once the subscription payment is made, Streams Manager will import that payment via transaction sync and extend the subscription as normal. There is no special setup needed in Streams Manager for it to detect that a plan has a trial period * Set the subscription period and price/cost to match the plan duration and cost in Streams Manager * Tax calculation should be set to "Don't calculate tax" * Click the Next button * Click the Turn Plan On button * You will get an option to create PayPal buttons. We can skip this so click "Do this later" in the bottom left * You will be redirected to Subscription plans where you can see your newly created subscription plan. Right above the plan is the plan ID is gray font that starts with P- (P dash). Copy this ID ensuring no leading or trailing spaces are copied and paste into PayPal plan ID field on Plan edit screen in Streams Manager * Repeat this process for other plans you wish to offer as recurring plans Once the plan has been updated with PayPal plan ID, the plan will show in the plan selection dropdown on the Recurring checkout. [PreviousStripe recurring plan setupchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/plan-configuration/recurring-plans-setup/stripe-recurring-plan-setup) [NextSquare recurring plan setupchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/plan-configuration/recurring-plans-setup/square-recurring-plan-setup) Last updated 3 years ago --- # Error: User tried to subscribe but servers are full | Streams Manager Docs When a user tries to subscribe and you get a message that the operation did not succeed because of all servers are full, please follow these troubleshooting steps in [Error: There are no servers with capacity that accomodate plan](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/error-there-are-no-servers-with-capacity-that-accomodate-plan) . [PreviousError: There are no servers with capacity that accomodate planchevron-left](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/error-there-are-no-servers-with-capacity-that-accomodate-plan) [NextNo plans show on the checkout pagechevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/no-plans-show-on-the-checkout-page) Last updated 1 year ago --- # Requests integration settings | Streams Manager Docs Streams Manager allows integration with request systems such as Ombi, Overseerr and Petio. [PreviousSubscriptions & trials settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/subscriptions-and-trials-settings) [NextOmbi settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/requests-integration-settings/ombi-settings) Last updated 3 years ago --- # Emby/Jellyfin | Streams Manager Docs [Emby/Jellyfin users cannot login and are getting incorrect password messagechevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/emby-jellyfin/emby-jellyfin-users-cannot-login-and-are-getting-incorrect-password-message) [PreviousError: Plex response status code does not indicate success: 404chevron-left](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex/error-plex-response-status-code-does-not-indicate-success-404) [NextEmby/Jellyfin users cannot login and are getting incorrect password messagechevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/emby-jellyfin/emby-jellyfin-users-cannot-login-and-are-getting-incorrect-password-message) --- # No plans show on the checkout page | Streams Manager Docs If you are not seeing plans on the recurring checkout page, ensure that you plans have a Stripe Price ID or PayPal Plan ID populated. Otherwise, please see [Error: There are no servers with capacity that accomodate plan](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/error-there-are-no-servers-with-capacity-that-accomodate-plan) . [PreviousError: User tried to subscribe but servers are fullchevron-left](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/error-user-tried-to-subscribe-but-servers-are-full) [NextSpecific plan is not showing up on the checkout pagechevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/specific-plan-is-not-showing-up-on-the-checkout-page) Last updated 1 year ago --- # Specific plan is not showing up on the checkout page | Streams Manager Docs If the plan you just created in not showing on the checkout page, some of the reasons for that are as follows: * Plan is not marked as active * Plan is maked as trial * Plan has a login Id set (only used with that login ID can see the plan) * Plan is not showing up on the recurring checkout page because it does not have Stripe Price ID or PayPal Plan ID set * Plan contains a library group that none of your server have [PreviousNo plans show on the checkout pagechevron-left](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/no-plans-show-on-the-checkout-page) [NextHow Streams Manager enforces streaming limits?chevron-right](https://streamsmanager.gitbook.io/streams-manager/faq/how-streams-manager-enforces-streaming-limits) Last updated 9 months ago --- # Plan configuration | Streams Manager Docs Streams Manager offers a lot of flexibility when it comes to defining your plans. In this context, plans are products you sell for a certain period of time. To define you plans, open `Payments & Plans` on the main menu and click on `Plans`. By default, the system adds a few default plans which you can edit to suit your needs or remove. There is no limit on the number of plans. Streams manager offers two types of checkout: pay as you go and recurring. by default all active plans will show up in the plan selection dropdown on the pay as you go checkout page and pricing section of the home page (if show pricing section is enabled). Ensure that there is exactly one plan marked as default. When Streams Manager detects that a user shares one of your media servers but that user is not yet tracked in Streams Manager, the system will import the user and assign it to the default plan. circle-exclamation By default all plans you create will become available in pay as you go mode. To enable a plan in recurring mode, it is required to configure Stripe price ID and/or PayPal plan ID. See [Recurring plans setup](https://streamsmanager.gitbook.io/streams-manager/configuration/plan-configuration/recurring-plans-setup) for information on how to configure recurring plans. Trial plans will only be available in pay as you go mode. circle-exclamation If you enable downloads on your plan, your Plex accounts **MAY HAVE TO HAVE PLEX PASS** (see [thisarrow-up-right](https://support.plex.tv/articles/downloads-sync-faq) ) and also Plex account must be marked as having Plex Pass on the Plex Accounts page. Same goes for Emby and Emby Premiere Plan settings are as follows: * **Plan name** \- specifies the name of the plan that users will see on the plan selection dropdown on the checkout page and pricing section of the home page (if show pricing section is enabled) * **Plan cost** - specifies the cost of the plan * **Library groups included in the plan** - indicates the libraries groups included in this plan. At least one library group is required. Streams Manager will share libraries in selected group with users who select this plan * **Target servers** - indicates servers your plan will target. The system will attempt to use one server from the specified servers selected in this field as the first option if possible. However, if none of the targeted servers accommodate the plan or are full, the system will fall back to try to place a user on this plan to any available server * **Maximum concurrent streams** - indicates the maximum number of concurrent streams/devices the plan allows. When Streams Manager detects that a user is using more concurrent devices than specified by their plan, their stream will be stopped, a message will be sent to the user and a warning will be logged against their account. Please see [How Streams Manager enforces streaming limits?](https://streamsmanager.gitbook.io/streams-manager/faq/how-streams-manager-enforces-streaming-limits) article that explains how the streaming enforcement works. To enforce this limit, your Plex account must have Plex Pass. * **Maximum number of Emby devices** - indicates the maximum number of Emby devices the plan allows. When Streams Manager detects that a user is using this number of devices or more, Streams Manager will disable `Allow All Devices` setting in Emby and delete the oldest devices to ensure user is in compliance. Once the user drops below maximum number of devices, Streams Manager will again enable `Allow All Devices` setting in Emby within 5 minutes. * **Maximum number of sub users** - indicated the maximum number of sub users this plan will allow. See [Linked users](https://streamsmanager.gitbook.io/streams-manager/configuration/linked-users) * **Plan duration in months** - indicates the duration of the plan in months. Full plan duration is a sum of months, days and hours * **Plan duration in days** - indicates the duration of the plan in months. Full plan duration is a sum of months, days and hours * **Plan duration in hours** - indicates the duration of the plan in months. Full plan duration is a sum of months, days and hours * **Stripe price ID** - indicates the Stripe price ID of the recurring plan setup in Stripe. When specified, this plan will become available in both pay as you go and recurring mode. This is required if you want to use Stripe to use this plan in recurring mode. See [Stripe recurring plan setup](https://streamsmanager.gitbook.io/streams-manager/configuration/plan-configuration/recurring-plans-setup/stripe-recurring-plan-setup) for information how to configure Stripe recurring plans. You can click the search button to select the plan * **PayPal plan ID** - indicates the PayPal plan ID of the recurring plan setup in PayPal. When specified, this plan will become available in both pay as you go and recurring mode. This is required if you want to use PayPal and allow this plan to be used in recurring mode. See [PayPal recurring plan setup](https://streamsmanager.gitbook.io/streams-manager/configuration/plan-configuration/recurring-plans-setup/paypal-recurring-plan-setup) for information how to configure PayPal recurring plans * **Square plan ID** - indicates the Square plan ID of the recurring plan setup in Square. When specified, this plan will become available in both pay as you go and recurring mode. This is required if you want to use Square to use this plan in recurring mode. See [Square recurring plan setup](https://streamsmanager.gitbook.io/streams-manager/configuration/plan-configuration/recurring-plans-setup/square-recurring-plan-setup) for information how to configure recurring Stripe plans. You can click the search button to select the plan * **Display order** - indicates the order in which plans are shown to the user. Plans with lower display order are shown earlier in the list * **Overseerr movie request limit** - indicates maximum number of Overseerr movies requests users on this plan can request. Leave empty for default limit set in Overseerr * **Overseerr TV request limit** - indicates maximum number of Overseerr TV requests users on this plan can request. Leave empty for default limit set in Overseerr * **Overseerr permissions** - indicates Overseerr permissions a user on this plan will get. Leave empty for default permissions set in Overseerr * **Login IDs** - comma separated list of Login IDs (not user IDs - get the ID from Logins page) of logins that will be able to see this plan on the checkout page. All other users will not see this plan * **Active** - indicates whether this plan is active and whether to show in the plan selection dropdown on the checkout page and pricing section of the home page. Inactive plans are still accessible to administrators when manually adding a user and users who have a recurring payment plan (i.e. they are grandfathered in) * **Default plan** - indicates whether this plan is a default plan. When Streams Manager detects that a user shares one of your Plex servers but that user is not yet tracked in Streams Manager, the system will import the user and assign it to the default plan * **Allow transcoding** - indicates whether this plan will allow **any video** transcoding. Transcoding audio is not monitored and 4K video transcoding is controlled at the server level - edit a server to reveal the setting. To enforce this limit, your Plex account must have Plex Pass. See [How Streams Manager enforces transcoding rules?](https://streamsmanager.gitbook.io/streams-manager/faq/how-streams-manager-enforces-transcoding-rules) * **Allow downloads** - indicates whether this plan will allow mobile device downloading. Please see [How Streams Manager enforces download limits?](https://streamsmanager.gitbook.io/streams-manager/faq/how-streams-manager-enforces-download-limits) article that explains how the download enforcement works * **Trial plan** - indicates whether this is a trial plan used for free trials [PreviousLibrary groups configurationchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/library-groups-configuration) [NextRecurring plans setupchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/plan-configuration/recurring-plans-setup) Last updated 12 days ago --- # Error: PayPal is missing subscription ID details | Streams Manager Docs Streams Manager synchronizes payments from all payment gateways on a [What runs and is synchronized on a recurring basis?](https://streamsmanager.gitbook.io/streams-manager/faq/what-runs-and-is-synchronized-on-a-recurring-basis) PayPal is **notoriously slow** to make payment data available through its API. Even though transaction details may appear on the PayPal's website, they may not be available through the API for an average of 6 hours (but can be up to 24 hours). This error will appears in such cases until PayPal's API catches up. Errors are usually resolved within a few hours. If the error persists for more than 24 hours, please contact us. [PreviousPayPalchevron-left](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/paypal) [NextError: PayPal subscription ID: xxx does not have any transactionschevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/paypal/error-paypal-subscription-id-xxx-does-not-have-any-transactions) Last updated 3 years ago --- # Error: PayPal subscription ID: xxx does not have any transactions | Streams Manager Docs You may get a message from Streams Manager indicating that a subscription failed to be created with above message. This issue comes down to PayPal timing and their general slowness of making data available in their API. Streams Manager will wait for up to 2 minutes to find a transaction that has paid for a subscription that was just created and if it doesn't find it, Streams Manager will fail with above message. For new users this will result in no Plex invite being sent and for existing users, it will fail to register the payment for that user. Both situations will need manual remediation. [PreviousError: PayPal is missing subscription ID detailschevron-left](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/paypal/error-paypal-is-missing-subscription-id-details) [NextError: Create Subscription Api response error RESOURCE\_NOT\_FOUNDchevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/paypal/error-create-subscription-api-response-error-resource_not_found) Last updated 3 years ago --- # How Streams Manager enforces transcoding rules? | Streams Manager Docs Streams Manager provides plan level and server level transcoding limits enforcement functionality. Please note that **only transcoding of video** is enforced (audio is allowed to be transcoded). Each plan can be configured to allow or disallow transcoding and each server can also be configured to allow or disallow 4K video transcoding. The process works as follows: * Every 5 minutes, Streams Manager collects streaming activity on all your Plex servers * Streaming activity data indicates which user is doing the streaming, from which device, which IP address, from which server, at what resolution and whether a user is transcoding * If a user is transcoding, Streams Manager then checks currently active plan for the user doing the transcoding and whether their plan allows it. If their plan does not allow transcoding, their session is stopped and message on user's device is displayed and a warning for that user is logged. A notification will be sent to the user also indicating that they are transcoding video when their plan does not allow it. To modify the content of this notification, see notification templates in settings * If a user is transcoding 4K video, Streams Manager then checks the server from which the user is streaming and whether that server allows 4K transcoding. If it does not, their session is stopped and message on user's device is displayed and a warning for that user is logged. A notification will be sent to the user also indicating that they are transcoding 4K video. To modify the content of this notification, see notification templates in settings This process requires your Plex account to have a Plex Pass as stopping of the stream feature requires it. If your Plex account does not have it, all the above actions will be performed except of stopping of the stream and showing the message on user's device. [PreviousHow Streams Manager enforces download limits?chevron-left](https://streamsmanager.gitbook.io/streams-manager/faq/how-streams-manager-enforces-download-limits) [NextHow to use a custom domain?chevron-right](https://streamsmanager.gitbook.io/streams-manager/faq/how-to-use-a-custom-domain) Last updated 3 years ago --- # Overview | Streams Manager Docs Plex has recently upped enforcement of their terms of service and issuing bans to many Plex accounts and servers. Usual way to resolve bans was to provision a new server and migrate your users to the new server using Streams Manager server migration tools. This is generally a bad idea and will likely just cause another ban in a short amount of time. This is likely because Plex keeps track of which users where on the banned server and if those same users just move to another server, Plex will also ban the new sever. To fight this, it is best to ask your users to register a new Plex account using a new email address and switch their account in Streams Manager to use that new email address. Streams Manager now allows admins to tag their users to force them to change their Plex account before they can subscribe or be re-invited to the new server. [PreviousMigrating users between serverschevron-left](https://streamsmanager.gitbook.io/streams-manager/server-migration/migrating-users-between-servers) [NextHow to deal with a banchevron-right](https://streamsmanager.gitbook.io/streams-manager/plex-bans/how-to-deal-with-a-ban) Last updated 1 year ago --- # Error: There are no servers with capacity that accomodate plan | Streams Manager Docs This error occurs when Streams manager cannot find a suitable server for a customer who picked a specific plan. This can occur because of these reasons: * If supporting Plex servers and plans, user that is logged in must be registered on https://plex.tv * If supporting Plex servers and plans, user that is logged in must not have `Requires Plex Account Change` set on the profile * Ensure that the user you are logged in with and trying to subscribe to a paid or a trial plan has their Plex/Emby/Jellyfin email set on **BOTH** Login and Profile sections on the My Account page. If a user is trying to subscribe to an Emby plan but has no Emby email set, this will cause issues * Check library groups included on your plans. **EVERY** library group included in a plan must have at least one Library in it. Check your library group assignments on Library Groups page * If a plan includes a specific library group (such as Standard), then server must have **ALL** libraries that are in that group or server will not be able to accommodate that plan * Ensure that your servers are enabled by going to Servers panel and ensuring that `Enabled` toggle is ON * Check the number of users on your Plex accounts in Plex Account panel. Plex has limitation of 100 users per Plex account regardless of how many Plex servers are on that account. * Check the maximum users per server by editing each server on the Servers panel and ensure that the limit was not reached * If your plans allow downloads, ensure that your Plex accounts have Plex Pass purchased and that `Has Plex Pass` is toggled ON in Plex Account panel. Same goes for Emby and `Has Emby Premiere` * Check your servers on Servers panel and ensure that `Allow new subscriptions` or `Allow trial subscriptions` toggle is ON * Ensure that servers have been synced and that libraries on those servers have been assigned to appropriate groups * If your plans target specific server types (i.e. separate plans for Plex and Emby), user will see Plex plans only if they have a Plex email populated in Site Login and Profile. The same is true for Emby and Jellyfin - users need an Emby/Jellyfin email populated to see Emby/Jellyfin plans * If your users are trying to use free trials, ensure that at least one server allows free trials by editing a server and have at least one trial plan [PreviousEmby/Jellyfin users cannot login and are getting incorrect password messagechevron-left](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/emby-jellyfin/emby-jellyfin-users-cannot-login-and-are-getting-incorrect-password-message) [NextError: User tried to subscribe but servers are fullchevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/error-user-tried-to-subscribe-but-servers-are-full) Last updated 1 year ago --- # Ombi settings | Streams Manager Docs Streams Manager integration with Ombi consist of Streams Manager syncing Discord information to Ombi users so they can be notified when their requests are approved and fulfilled. Streams Manager does NOT create user accounts in Ombi for uses in Streams Manager. This is not necessary because Ombi allows for integration with multiple Plex servers and syncing of Plex users into Ombi. Streams Manager will then also sync their Discord information. This synchronization happens once per day at 5 AM UTC. The settings are as follows: * Ombi notification preferences sync enabled - indicates whether sync with Ombi request system is enabled. When enabled, user Discord notification preferences will be synced on a schedule once per day at 5 AM UTC * API key - Ombi API key as set in Ombi under Settings -> Configuration -> General * URL - base URL to the Ombi system * Username - username of the Ombi administrator Once the settings are populated, you can test the setting by clicking on the Test button. [PreviousRequests integration settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/requests-integration-settings) [NextOverseerr settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/requests-integration-settings/overseerr-settings) Last updated 3 years ago --- # General settings | Streams Manager Docs Here you can specify the currency that will be used to charge your customers when using PayPal, Square and Stripe. Plisio uses crypto coins. [PreviousPayment gatewayschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/payment-gateways) [NextPayPal settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/payment-gateways/paypal-settings) Last updated 3 months ago --- # How to use a custom domain? | Streams Manager Docs Please see [Custom domain](https://streamsmanager.gitbook.io/streams-manager/configuration/custom-domain) in configuration. [PreviousHow Streams Manager enforces transcoding rules?chevron-left](https://streamsmanager.gitbook.io/streams-manager/faq/how-streams-manager-enforces-transcoding-rules) [NextHow does Streams Manager know that a user is active or expired?chevron-right](https://streamsmanager.gitbook.io/streams-manager/faq/how-does-streams-manager-know-that-a-user-is-active-or-expired) Last updated 1 year ago --- # How does Streams Manager know that a user is active or expired? | Streams Manager Docs Streams Manager determines whether a user is active or expired based on the user type and whether they have a payment that is still active. If a user is permanent, it is by default active and they never expire. If a user is non-permanent, then they must have a payment where the current date/time must be between the start and end dates (from or to) of the payment. If a user is expired, they will be removed from the Plex server during the next synchronization run (runs every hour). [PreviousHow to use a custom domain?chevron-left](https://streamsmanager.gitbook.io/streams-manager/faq/how-to-use-a-custom-domain) [NextHow to invite a user manually via Streams Manager?chevron-right](https://streamsmanager.gitbook.io/streams-manager/faq/how-to-invite-a-user-manually-via-streams-manager) Last updated 3 years ago --- # Emby/Jellyfin users cannot login and are getting incorrect password message | Streams Manager Docs If your Emby/Jellyfin users cannot login and are getting incorrect password message, please check the following: * Ensure users are logging in with they Emby Connect email and password created when registering their email address for Emby Connect for Emby or their Emby/Jellyfin email and password that was generated for them * Ensure users have not logged in already on maximum number of devices as defined on their plan in Streams Manager. Each plan in Streams Manager defines how many Emby/Jellyfin devices a user can login on and once the quota is used, logging in on additional devices will be disabled (they will get password incorrect message). Please see [Emby devices](https://streamsmanager.gitbook.io/streams-manager/configuration/emby-devices) for more details. ![](https://streamsmanager.gitbook.io/streams-manager/~gitbook/image?url=https%3A%2F%2F1028607433-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F9BkTOk434ezw65fP9EYl%252Fuploads%252FKTYNKuUXBA7zie3XWEPh%252Fimage.png%3Falt%3Dmedia%26token%3Dacc2a822-0f53-4d61-90c1-bfd29add99ae&width=768&dpr=4&quality=100&sign=822467ea&sv=2) Plan definition To allow users to login on new devices either delete some of the devices they have assigned to them on the Devices page or modify the plan in Streams Manager to allow more Emby/Jellyfin devices. Then run Device Enforcement on Devices page. [PreviousEmby/Jellyfinchevron-left](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/emby-jellyfin) [NextError: There are no servers with capacity that accomodate planchevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/error-there-are-no-servers-with-capacity-that-accomodate-plan) Last updated 1 year ago --- # Error: Error communicating with Plex 401 | Streams Manager Docs This error occurs because your Plex token tied to your Plex account may no longer be valid. Navigate to Plex Accounts panel and edit each Plex account and test your token. If test fails, generate a new token. Note that generating a token from the Edit Plex Account screen will only work if you have 2FA disabled for the Plex account. [PreviousError: PlexApiException was thrownchevron-left](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex/error-plexapiexception-was-thrown) [NextError: Plex response status code does not indicate success: 404chevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex/error-plex-response-status-code-does-not-indicate-success-404) Last updated 2 years ago --- # Error: PlexApiException was thrown | Streams Manager Docs This error usually occurs because your Plex token is no longer valid or because your Plex server is unreachable. To remedy the problem, follow these steps: * Navigate to Plex Accounts panel, edit each account and click Test Token button to ensure that your Plex token is valid. If the token is not valid, fetch a new token and save * Navigate to Server panel and edit each server. Then click on Test Connection button to test the connection. If the connection is not successful, you may need to adjust the Direct URL property of the server [PreviousError: HTTP 422 Unprocessable Entity when inviting a user or processing a subscriptionchevron-left](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex/error-http-422-unprocessable-entity-when-inviting-a-user-or-processing-a-subscription) [NextError: Error communicating with Plex 401chevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex/error-error-communicating-with-plex-401) Last updated 1 year ago --- # Migrating users between servers | Streams Manager Docs Streams Manager allows you to migrate your users between different media servers including heterogeneous migration (i.e. Plex to Emby and vice versa) with a single click of a button. This can be useful is you are migrating Plex servers or providers. This option is available on the Servers panel by clicking the action menu button next to the server from which you wish to migrate the users (source server). Then you will be prompted to select the target server where your users will be moved to. Once you click OK, Streams Manager will initiate the migration process in the background and send you an email notification (System Message notification template must be enabled) when it is finished with results. circle-exclamation Both old and new servers must be already added to Streams Manager prior to initiating the migration. If you plan does not allow adding more servers or servers of different platform type (Emby, Jellyfin) because of plan limits, you will need to upgrade your plan to allow more servers or add additional platform types. Streams Manager will keep all the user data intact such payments, login information, etc. User migration has a few things that you need to keep in mind: * New server must already be added to Streams Manager, `Enabled` must be turned ON as well as `Allow new subscriptions`. New server should have the same libraries and the old server and those libraries must be put into the same groups as the old server * Users that you are migrating must already share the source server. In other words, navigate to example user you want to migrate and check `Shared Servers` section. If it is empty, that user will not be migrated * Both source and target servers must support the same plans. This means that they must offer the same library groups that are already included on plans. For example, if one server has libraries assigned to "Premium 4K" group that are included on plans but the other does not, then the servers are not compatible * If your plans offer mobile downloads, Plex accounts tied to both servers must have Plex Pass and be configured like that in the Plex Accounts panel (Has Plex Pass switch must be set correctly). Similarly, Emby must have Premiere subscription and server marked as `Has Emby Premiere` * Each user on the source server must have an active subscription/payment where current date/time is between payment's start and end date/time * If both source and target server are on the same Plex account, invites will be accepted automatically and users can begin to use the new server immediately. Otherwise, users will get brand new invites they need to accept * If migrating between different server types (i.e. Plex to Emby), each user being migrated must have their Plex/Emby email populated * Process runs in the background slowly migrating one user every 30 seconds or so to avoid Plex API throttling and drawing attention from Plex. At the end of the process you will receive an email with the results Once you receive an email with the results and if all users were not migrated, you may need to wait an hour and run another migration. Keep repeating these steps until all users are migrated. [PreviousTest the flowschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/test-the-flows) [NextOverviewchevron-right](https://streamsmanager.gitbook.io/streams-manager/plex-bans/overview) Last updated 1 year ago --- # Payment gateways | Streams Manager Docs Streams Manager offers two payment options for your users: * Pay as you go - users pay when their subscription is close to expiring, they can pre-pay ahead of time, etc. * Recurring - recurring payments that are automatically charged by the payment gateway In addition, Streams Manger offers three payment gateways for payment collection: * [PayPalarrow-up-right](https://paypal.com/) – both PayPal personal account and PayPal business account are supported although PayPal business account is required for recurring payments on Streams Manager. PayPal changes 3.49% fee + 0.49 USD (in the US) on each transaction and you will get an income tax statement (1099-K) if you are in the United States if you make more than 600 USD per year. It is likely that there are similar tax implications in other countries * [Stripearrow-up-right](https://stripe.com/) – offers both pay as you go and recurring payments. They charge 2.9% fee plus 0.30 USD on each transaction. This has the same tax implications as PayPal * [Squarearrow-up-right](https://squareup.com/us/en) – offers both pay as you go and recurring payments. They charge 3.3% fee plus 0.30 USD on each transaction. This has the same tax implications as PayPal * [Sumuparrow-up-right](https://www.sumup.com/) – offers only pay as you go payments. They charge 3.5% fee plus 0.15 USD on each transaction. This has the same tax implications as PayPal * [Plisioarrow-up-right](https://plisio.net/) – crypto gateway that offers only pay as you go payments via crypto coins. They charge 0.5% which is the lowest of the bunch Lastly, Streams Manager also offers **manual payment management** where an administrator can manually enter information about payments they receive via other means such as different payment apps such as Venmo and CashApp. #### [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/payment-gateways#options-for-payment-management) Options for payment management Administrators have several options when it comes to managing payments through Streams Manager. * Your users use Streams Manager to make payments using one of the payment gateways. This method offers full integration and automation. You can enable any or all of the available payment options which will allow your users to register and pay on the website and payments will be automatically entered into the system for you and media server access provisioned to the user. From there, automatic reminders, removal or users if their payment lapses etc. is all done automatically. If users are using recurring payments, you can enable transaction sync and payments charged by the payment gateway will be automatically entered into the system which will extend user’s subscription. Completely hands off but incurs fees from PayPal, Stripe and Plisio. * Users send payments via PayPal to a personal PayPal account using fee free ways. This method also offers full integration and automation. If you want to avoid fees (and taxes) and if you have a PayPal personal account (business will not work), instruct your users to send you payments using fee free ways (i.e. send to friend or send gift), add the user to the system manually initially (invite via Users panel), enable transaction sync and payments will be automatically entered into the system for you once received and user’s subscriptions extended. From there, automatic reminders, removal or users if their payment lapses etc. is all done automatically. This obviously does not allow for recurring payments so users all have to manually send you money every pay period. The system will import the payments but this causes some people to forget, causes their subscription to lapse etc. Stripe also does not support this as they always take fees. Via PayPal personal account though, there are no fees. * Manual payment entry. You manually enter payments you receive via any other means (cash, another payment app such as CashApp, Venmo, Patreon, ApplePay, etc.). By entering the payment manually, you will extend the subscription for the user. The system takes care of the rest as mentioned in the previous options. [PreviousNotification templateschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/discord-notifications/notification-templates) [NextGeneral settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/payment-gateways/general-settings) Last updated 12 days ago --- # Plex | Streams Manager Docs [Error: HTTP 422 Unprocessable Entity when inviting a user or processing a subscriptionchevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex/error-http-422-unprocessable-entity-when-inviting-a-user-or-processing-a-subscription) [Error: PlexApiException was thrownchevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex/error-plexapiexception-was-thrown) [Error: Error communicating with Plex 401chevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex/error-error-communicating-with-plex-401) [Error: Plex response status code does not indicate success: 404chevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex/error-plex-response-status-code-does-not-indicate-success-404) [PreviousError: Create Subscription Api response error RESOURCE\_NOT\_FOUNDchevron-left](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/paypal/error-create-subscription-api-response-error-resource_not_found) [NextError: HTTP 422 Unprocessable Entity when inviting a user or processing a subscriptionchevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex/error-http-422-unprocessable-entity-when-inviting-a-user-or-processing-a-subscription) Last updated 2 years ago --- # Sumup settings | Streams Manager Docs Sumup integration allows you to accept pay as you go payments via Sumup. Sumup settings are as follows: * Enabled - indicates whether to enable Stripe for payments * Checkout enabled - indicates whether Sumup is enabled on the checkout page for pay as you subscriptions * Public API key - Sumup public API key. Generate one using [Sumup developer pagearrow-up-right](https://me.sumup.com/en-us/settings/developer) . * Secret API key - Sumup secret key. Generate one using [Sumup developer pagearrow-up-right](https://me.sumup.com/en-us/settings/developer) . * Merchant code - Sumup merchant code. Note it from the top right corner under your name on the dashboard page. Sumup integration is done using Sumup API keys. To generate your API keys, follow the steps below: * Login to your Sumup account on [https://sumup.comarrow-up-right](https://sumup.com/) . * Navigate to [https://me.sumup.com/settings/api-keysarrow-up-right](https://me.sumup.com/settings/api-keys) * Create a new key * Copy the Publishable key and Secret key and paste them into Streams Manager. Ensure that no leading and trailing spaces are introduced * Click the Test button in Streams Manager to test the keys. [PreviousSquare settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/payment-gateways/square-settings) [NextPlisio settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/payment-gateways/plisio-settings) Last updated 2 months ago --- # Square settings | Streams Manager Docs Square integration allows you to accept pay as you go and recurring payments via [Squarearrow-up-right](https://squareup.com/) . triangle-exclamation Square will likely eventually verify your account using the URL of your online business where you sell your products/services. You will have to provide a site where you appear to be selling legitimate products so keep that in mind when you supply URL of your site to Square. Square settings are as follows: * Enabled - indicates whether to enable Square for payments * Checkout enabled - indicates whether Square is enabled on the checkout page for pay as you subscriptions * Recurring checkout enabled - indicates whether Square is enabled on the checkout page for recurring subscriptions * Transaction sync enabled - indicates whether to enable periodic (hourly) Square transaction synchronization. This is required if recurring payments are enabled * Personal access token - Square Personal access (see below how to obtain one) * Application id - Square application id Square integration is done using Square personal access token. To retrieve your personal access token, follow the steps below: * Login to your Square account on [https://app.squareup.com/arrow-up-right](https://app.squareup.com/) * On the left navigation menu, navigate to `Settings` and the `App integrations` * Click the `Manage` button next to you application * Ensure that `Credentials` option is selected on the left navigation menu and then at the top of the page select `Production` for live payments or `Sandbox` for test payments * On the page you will find your application id and access token that will need to be copied and entered into Streams Manager * Click the Test button in Streams Manager to test the credentials * Click `Save` to save the settings [PreviousStripe settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/payment-gateways/stripe-settings) [NextSumup settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/payment-gateways/sumup-settings) Last updated 12 days ago --- # Error: HTTP 422 Unprocessable Entity when inviting a user or processing a subscription | Streams Manager Docs This error can during the manual invite process of a user or during the checkout process when a user selects a plan and goes through the checkout flow. The error happens because Plex could not add a user to your Plex server. Here are some of the reason why that may happen: * Your libraries are out of date. If you recently made changes to your Plex servers or libraries and they did not sync to Streams Manager, the error will occur because invitation will reference a library that does not exist or has changed. Run a server sync on Servers panel to resolve the issue. * Ensure that your server machine ID did not change. See [this article](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex/error-error-communicating-with-plex-401) . * Your server is full. If your server has 99 users (including fiends and managed/home users), no more users can be added. * You are trying to invite a user that is already in your Plex home. If the error occurred during the checkout process of a recurring PayPal subscription, you will have to resolve the issue manually as PayPal subscription will likely have succeeded but user was not given Plex access. [PreviousPlexchevron-left](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex) [NextError: PlexApiException was thrownchevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex/error-plexapiexception-was-thrown) Last updated 2 years ago --- # How Streams Manager enforces download limits? | Streams Manager Docs triangle-exclamation Streams Manager cannot stop a download once it is started media servers do not provide this functionality yet. Streams Manager provides soft mobile download limits enforcement functionality. Each plan can be configured to allow mobile downloads and each user can be given an allotment of how many downloads they can perform in a week (this can be specified on User edit page) Sunday-Saturday. Each downloaded movie or TV show episode counts as a single download and each download must be completed in 2 hours or less or it will count as a new download and count against the quota. Keep in mind that this is a soft enforcement meaning that Streams Manager cannot stop a download once it is started since media servers do not provide this functionality yet. Once they do provide it, Streams Manager will take advantage of it. Instead, Streams Manager just send notifications to users and logs warnings. The process works as follows: * Every 5 minutes, Streams Manager collects download activity on all your Plex servers * If server settings have logging of download activity enabled, the activity will be logged to the database so it can be reviewed later * Download activity data indicates which user is doing the downloading, which title and from which server * Streams Manager then checks download allocation for the user and their remaining quota for the week (Sunday-Saturday) * If the user is exceeding their download quota limits, a notification will be sent to the user indicating that they have exceeded their download quota. To modify the content of this notification, see [Notification templates](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications/notification-templates) for emails and [Notification templates](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/discord-notifications/notification-templates) for Discord messages. * If in [Media server integration settings](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/media-server-integration-settings) you have specified to disabled downloads once the quota has been exceeded, Streams Manager will temporarily disable downloads for the user until their quota is replenished starting the following week. Mobile download feature requires you and your user to both have Plex Pass enabled. [PreviousHow Streams Manager enforces streaming limits?chevron-left](https://streamsmanager.gitbook.io/streams-manager/faq/how-streams-manager-enforces-streaming-limits) [NextHow Streams Manager enforces transcoding rules?chevron-right](https://streamsmanager.gitbook.io/streams-manager/faq/how-streams-manager-enforces-transcoding-rules) Last updated 8 months ago --- # How to change user’s Plex/Emby/Jellyfin email or username? | Streams Manager Docs Sometimes, for a variety of reasons, your users will want to change their Plex email or switch which account they use with your Plex shares. To accomplish this, it is best to create a new account with the new email/username and merge the data. To accomplish this, follow these steps: * Create a new user login by going to the Site Logins panel and adding a new login using the new email address. You can send the password to the user or they can use the password reset feature * Invite a user manually using the new email address. See [How to invite a user manually via Streams Manager?](https://streamsmanager.gitbook.io/streams-manager/faq/how-to-invite-a-user-manually-via-streams-manager) * Navigate to Users panel and search for the new user using the new email address and open User Details for the user. Note the ID of the new user * Delete the default payment created by Plex Manager * Go back to Users panel, find the old user account and use the Merge action (in the action menu - bolt icon). You will be asked for the destination user's ID. Enter the ID you noted in the step above * This will copy all the data from the old user to the new user and delete the old user * You can also delete the site login for the old user although this is not necessary [PreviousHow to invite a user manually via Streams Manager?chevron-left](https://streamsmanager.gitbook.io/streams-manager/faq/how-to-invite-a-user-manually-via-streams-manager) [NextHow to enable two factor (2FA) authentication?chevron-right](https://streamsmanager.gitbook.io/streams-manager/faq/how-to-enable-two-factor-2fa-authentication) Last updated 1 year ago --- # How to enable two factor (2FA) authentication? | Streams Manager Docs For added security, Streams Manager offers the ability to enable two factor authentication for administrator accounts only. Two factor authentication works by adding an additional verification step after logging in using a code that is sent to the email address. Two factor authentication is only available for administrator accounts. triangle-exclamation Do not enable 2FA on an email address you do not own (such as admin@streamsmanager.com) as that will essentially lock you out of your account. * Open Site Logins panel and search for the administrator account on which you want to enable 2FA * Ensure that the site login email address is the email address you own and not an address that ends in streamsmanager.com. You can create a new Site Login by clicking the table header menu button and then clicking "Add" to add another site login. Once added, click on the action menu menu button (bolt icon) to set it as administrator. Refresh the data to get the latest changes * Now that the site login is an administrator, search for the administrator account on which you want to enable 2FA * Once the administrator site login is located, click on the action menu button (bolt icon) to open the menu and click on "Enable Two Factor Authentication" * Logout * Attempt to login with the administrator email again and you will be prompted to enter a code sent to the email address you are using to login * Enter the code to finish the login process [PreviousHow to change user’s Plex/Emby/Jellyfin email or username?chevron-left](https://streamsmanager.gitbook.io/streams-manager/faq/how-to-change-users-plex-emby-jellyfin-email-or-username) [NextHow does Streams Manager match payments during transaction sync?chevron-right](https://streamsmanager.gitbook.io/streams-manager/faq/how-does-streams-manager-match-payments-during-transaction-sync) Last updated 3 years ago --- # Stripe settings | Streams Manager Docs Stripe integration allows you to accept pay as you go and recurring payments via Stripe. triangle-exclamation If you just opened a Stripe account, you may not be able to process live charges immediately until Stripe approves your account. Stripe will eventually verify your account using the URL of your online business where you sell your products/services. You will have to provide a site where you appear to be selling legitimate products so keep that in mind when you supply URL of your site to Stripe. Stripe settings are as follows: * Enabled - indicates whether to enable Stripe for payments * Checkout enabled - indicates whether Stripe is enabled on the checkout page for pay as you subscriptions * Recurring checkout enabled - indicates whether Stripe is enabled on the checkout page for recurring subscriptions * Transaction sync enabled - indicates whether to enable periodic (hourly) Stripe transaction synchronization. This is required if recurring payments are enabled * Publishable key - Stripe publishable key * Secret key - Stripe secret key Stripe integration is done using Stripe API keys. To generate your API keys, follow the steps below: * Login to your Stripe account on [https://stripe.comarrow-up-right](https://stripe.com/) * Navigate to [https://dashboard.stripe.com/apikeysarrow-up-right](https://dashboard.stripe.com/apikeys) * Ensure that the view test data toggle is OFF * Copy the Publishable key and Secret key and paste them into Streams Manager. Ensure that no leading and trailing spaces are introduced * ![](https://streamsmanager.gitbook.io/streams-manager/~gitbook/image?url=https%3A%2F%2Fcdn.document360.io%2Ff93693fd-bbea-47dd-a113-16646e95160a%2FImages%2FDocumentation%2Fimage-1659709696789.png&width=768&dpr=4&quality=100&sign=93aac428&sv=2) * Click the Test button in Streams Manager to test the keys. [PreviousGenerating PayPal NVP Credentialschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/payment-gateways/paypal-settings/generating-paypal-nvp-credentials) [NextSquare settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/payment-gateways/square-settings) Last updated 2 years ago --- # How does Streams Manager match payments during transaction sync? | Streams Manager Docs Streams Manager offers full integration with PayPal and Stripe checkout when users use the system to buy a subscription and checkout on the site. In that case Streams Manager will fully automate the process by charging the user, provisioning media server access for them, sending emails and recording a payment in the system. Streams Manager also allow you to import/synchronize payments made to you via peer-to-peer method (i.e. someone sending you money through PayPal directly without checking out via Streams Manager), manual invoices, etc. or other ways outside of Streams Manager. The system will reach out to the payment gateway using the credentials provided in the settings and look for new payments every hour. It will then try to match the payment provided by the payment gateway to a user in the system. Matching is done using the following rules: * If a payment is recurring payment that is part of a recurring subscription, look for a user that has other payments using the same subscription ID since they are unique. If a **single** match is found, assign the payment to that user. Otherwise proceed to the next step * Look for a user in Streams Manager whose email set on their profile (or PayPal email in case of PayPal - every user has a PayPal email address field in their profile you can set ) matches their email on the payment in the payment gateway. If match is found, assign the payment to that user. Otherwise proceed to the next step * If none of the above find a match, create an entry for an unmatched payment that will show up on the Unmatched Payments panel and send a notification to the administrator. From here you have to manually create this payment on a user where it belongs. At that point, it is good to set the PayPal email or subscription ID correctly so the next payment can be matched automatically Last point worth mentioning is that when a payment is matched to a user whose subscription has expired and they have been removed from your Plex server, Streams Manager will automatically provision access to that user since they made a payment. [PreviousHow to enable two factor (2FA) authentication?chevron-left](https://streamsmanager.gitbook.io/streams-manager/faq/how-to-enable-two-factor-2fa-authentication) [NextHow to mass migrate users from one media server to another?chevron-right](https://streamsmanager.gitbook.io/streams-manager/faq/how-to-mass-migrate-users-from-one-media-server-to-another) Last updated 2 years ago --- # PayPal | Streams Manager Docs [Error: PayPal is missing subscription ID detailschevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/paypal/error-paypal-is-missing-subscription-id-details) [Error: PayPal subscription ID: xxx does not have any transactionschevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/paypal/error-paypal-subscription-id-xxx-does-not-have-any-transactions) [Error: Create Subscription Api response error RESOURCE\_NOT\_FOUNDchevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/paypal/error-create-subscription-api-response-error-resource_not_found) [PreviousServer re-invitechevron-left](https://streamsmanager.gitbook.io/streams-manager/plex-bans/server-re-invite) [NextError: PayPal is missing subscription ID detailschevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/paypal/error-paypal-is-missing-subscription-id-details) Last updated 2 years ago --- # How Streams Manager enforces streaming limits? | Streams Manager Docs Streams Manager provides plan streaming limits enforcement functionality. Each plan can be configured to allow only certain number of simultaneous devices/streams and Streams Manager will then enforce those limits. The process works as follows: * Every 5 minutes, Streams Manager collects streaming activity on all your media servers * If server settings have logging of streaming activity enabled, the activity will be logged to the database so it can be reviewed later * Streaming activity data indicates which user is doing the streaming, from which device, which IP address and from which server * Streams Manager then checks currently active plan for the user doing the streaming and how many simultaneous devices/streams their plan allows. Streams Manager does not check whether multiple devices are coming from different IP addresses (i.e. it does not enforce IP lock) * If the user is exceeding their plan limits, all their streams will be stopped and a message will be shown on user's screen indicating that they have too many devices in use * A notification will be sent to the user also indicating that they have too many devices in use. To modify the content of this notification, see notification templates in settings On Plex servers, this process requires your Plex account to have a Plex Pass as stopping of the stream feature requires it. If your Plex account does not have it, all the above actions will be performed except of stopping of the stream and showing the message on user's device. Emby and Jellyfin servers are supported as well. [PreviousSpecific plan is not showing up on the checkout pagechevron-left](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/specific-plan-is-not-showing-up-on-the-checkout-page) [NextHow Streams Manager enforces download limits?chevron-right](https://streamsmanager.gitbook.io/streams-manager/faq/how-streams-manager-enforces-download-limits) Last updated 1 year ago --- # PayPal settings | Streams Manager Docs triangle-exclamation If you use one PayPal account for selling multiple products/services including shares through Streams Manager, you will run into trouble as Streams Manager does not know what else you accept payments for. It is best to have a separate PayPal account for Streams Manager only. To utilize PayPal for payments on Streams Manager, you need to have a PayPal personal or business account (business is required for recurring payments). There are two types of integration: * REST – Used for checkout and creating recurring subscriptions * NVP – Used for transaction sync. REST API also has access to transactions but transactions take much longer to appear there Both integrations require you to generate credentials and enter them into Streams Manager. When generating your credentials please pay attention to the following: * Whether you selected Sandbox vs. Production (Live) since they use different credentials. Make sure to use the correct set based on the dropdown in Streams Manager. Credentials cannot be mismatched * Ensure that no leading and trailing spaces are introduced when copying values and pasting them into Streams Manager Streams Manager gives you an option to specify two PayPal accounts: * Primary account - this account will be used for payments users made when subscribing via Streams Manager and can be used for transaction sync. If you wish to use recurring payments, this must be a business account * Secondary account - this account can only be used for transaction sync Why two accounts? PayPal has [recently announcedarrow-up-right](https://newsroom.paypal-corp.com/2022-06-Upcoming-Changes-to-PayPals-Pricing-Structure) changes where business accounts can no longer receive peer-to-peer payments using "send to friend" or "send gift" options which previously had no fees. Using multiple accounts, you can setup a business account to be your primary for payments when users are subscribing via Streams Manager which will incur fees (as before). But if specifying a personal account for a secondary, it will allow you to get peer-to-peer payments from your subscribers without fees when they use "send to friend" method and Streams Manager will import those payments for you automatically and extend user's subscription all without incurring fees and be subject to taxation. PayPal settings are as follows: * Enabled - indicates whether to enable PayPal for payments * Checkout enabled - indicates whether PayPal is enabled on the checkout page for pay as you subscriptions * Recurring checkout enabled - indicates whether PayPal is enabled on the checkout page for recurring subscriptions * Transaction sync enabled - indicates whether to enable periodic (hourly) PayPal transaction synchronization. This is required if recurring payments are enabled * Environment - indicates whether to use real payments (Production) or test payments (Sandbox) * Client ID - specifies client ID of your PayPal REST app * Client secret - specifies client secret of your PayPal REST app * NVP URI - specifies NVP client URI ([https://developer.paypal.com/api/nvp-soap/apiCredentials/#:~:text=knowledge%20base%20article.-,API%20signatures,-To%20create%20anarrow-up-right](https://developer.paypal.com/api/nvp-soap/apiCredentials/#:~:text=knowledge%20base%20article.-,API%20signatures,-To%20create%20an) ). Default URL for production (i.e. live payments) is: [https://api-3t.paypal.com/nvparrow-up-right](https://api-3t.paypal.com/nvp) * NVP API username - specifies NVP API password * NVP API signature - specifies NVP API signature [PreviousGeneral settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/payment-gateways/general-settings) [NextGenerating PayPal REST credentialschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/payment-gateways/paypal-settings/generating-paypal-rest-credentials) Last updated 2 months ago --- # I am seeing notes mentioning credits on the payment edit screen. What is that? | Streams Manager Docs Streams Manager allows users to change plans midstream and handle everything automatically by applying credits for unused subscription time to the newly selected plan. Note that this accounting is only done in Streams Manager. Payment processors such as PayPal or Stripe are not affected by this. For example, if a user was on a $30 monthly plan and with 5 days left on it, they decide to change to a $15 plan and elect to start that new plan now. In this case Streams Manager will do the following: * End their current payment (and therefore plan) by setting the To Date to now * Calculate the remaining amount of money that is unused (in this case, it is basically $1 per day so amount is $5) * Deduct the amount ($5 in this case) from the previous payment that was end dated in step 1 and add notes around what credit was applied and how much * Credit the amount ($5) onto the payment that starts now (new payment will therefore show $20 instead of $15) and also adjust the duration on the newly selected plan and extend it to take into account the amount of the credit. In this case, $5 will extend the time by an additional 10 days * Update sharing for this user to match the new plan (add/remove libraries, add/remove ability to download, etc.) * Streams Manager will immediately start enforcing rules for this user according to the newly selected plan (number of concurrent devices, downloads, etc.) [PreviousWhat runs and is synchronized on a recurring basis?chevron-left](https://streamsmanager.gitbook.io/streams-manager/faq/what-runs-and-is-synchronized-on-a-recurring-basis) [NextHow does Streams Manager select a Plex server to add a user?chevron-right](https://streamsmanager.gitbook.io/streams-manager/faq/how-does-streams-manager-select-a-plex-server-to-add-a-user) Last updated 1 year ago --- # How to mass migrate users from one media server to another? | Streams Manager Docs Streams Manager offers the ability to migrate your users from one media server to another in a single click including heterogeneous migrations between Plex and Emby and vice versa. This can be useful is you are migrating providers. This option is available on the Servers panel by clicking the action menu button next to the server from which you wish to migrate the users (source server). Then you will be prompted to select the target server where your users will be moved to. Once you click OK, Streams Manager will initiate the migration process in the background and send you an email notification (System Message notification template must be enabled) when it is finished with results. circle-exclamation Both old and new servers must be already added to Streams Manager prior to initiating the migration. If you plan does not allow adding more servers because of plan limits, you can purchase a temporary upgrade to achieve this. **If you are moving from Plex to Emby or the other way around, you need to have support for both Plex and Emby for the migration which may require you to purchase additional platform support (Plex or Emby). This is required even if you do not plan on keeping support for multiple platforms after the migration.** User migration has a few things that you need to keep in mind: * Both source and target server need to be added to Streams Manager and have their libraries configured and added to library groups. * If doing a heterogeneous migration (Plex to Emby or vice versa), all users need to have their Emby and Plex emails populated in their profile * Both source and target servers must support the same plans. This means that they must offer the same library groups/types assigned to plans. For example, if one server has libraries assigned to "Premium 4K" type that are used on plans but the other does not, then the servers are not compatible * If your plans offer mobile downloads, Plex accounts tied to both servers must have Plex Pass and be configured like that in the "Plex Accounts" panel (Has Plex Pass switch must be set correctly) * Each user on the source server must have an active subscription/payment where current date/time is between payment's start and end date/time. * If both source and target server are on the same Plex account, invites will be accepted automatically and users can begin to use the new server immediately. Otherwise, users will get brand new invites they need to accept * It may take a couple of minutes for the job to actually start running. Please be patient. * Process runs in the background slowly migrating one user every 20 seconds or so to avoid Plex API throttling and drawing attention from Plex One you receive an email with the results and if all users were not migrated, you may need to wait an hour and run another migration. Keep repeating these steps until all users are migrated. [PreviousHow does Streams Manager match payments during transaction sync?chevron-left](https://streamsmanager.gitbook.io/streams-manager/faq/how-does-streams-manager-match-payments-during-transaction-sync) [NextWhat is the flow for a new customer in Streams Manager?chevron-right](https://streamsmanager.gitbook.io/streams-manager/faq/what-is-the-flow-for-a-new-customer-in-streams-manager) Last updated 2 years ago --- # Referrals settings | Streams Manager Docs circle-info This is a feature that is part of the premium pack that needs to be purchased separately. Streams Manager offers the ability for your users to refer other users to your service via word of mouth advertising. Referrals features offer the ability to keep your registrations closed to the public but still give ability for users to register via registration codes obtained from other users. Also, Streams Manager gives you the ability to offer your users referral bonuses that are automatically applied to the user making a referral once a new user who registered using a referral code/link, subscribes and pays. Users can see their referral code on the My Account page. Referral settings are as follows: * **Allow registrations using referral codes** - when turned ON, even if public registrations are disabled, a person can register on the site if they are given a referral code/link from another user who is already sharing one of your servers. Every user can see their referral code on the My Account panel. This will also allow you to track who referred someone. * **Referral bonus enabled** - indicates whether referral bonuses will be applied as new users subscribe using referral codes. * **Bonus percentage** - specifies the percentage of the payment to apply to the person making a referral. For example, if your bonus percentage is 20, a new user registers and subscribes using a referral code and pays $10 for a plan, then the person making the referral will get $2. * **Bonus minimum amount** - specifies the minimum amount a person making a referral will get. The system will apply the amount based on percentage or the bonus minimum amount whichever is greater. * **Bonus maximum amount** \- specifies the maximum amount a person making a referral will get. The system will apply the amount based on percentage or the bonus maximum amount whichever is smaller. ### [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/referrals-settings#how-referral-bonuses-work) How referral bonuses work Referral bonuses are applied when a new user registers using a referral code/link from another user and then subscribes. circle-exclamation User that is registering and subscribing using a referral link must be a completely new user with no payment history in order for the referrer to get a bonus. The bonus amount is calculated based on the first payment made by the new user who is subscribing and only applied on the very first payment made by the new user (i.e. when a new subscription is being established). Bonus amount is calculated using a bonus percentage setting taking into account minimum and maximum allowed amounts. Final bonus amount is then credited towards the plan as it appears on the latest payment for the user making the referral. For the bonus to be applied, new user must be subscribing to a paid plan for the amount greater than zero and user making the referral must have an active payment with a plan. For example, let's assume that you have set the bonus percentage to 50, minimum amount to $3 and maximum amount to $8. Let's also assume we have user A who is already a subscriber on a $10/mo plan which expires on Nov 15. User A shares their referral link with user B who is not a subscriber. User B registers using a referral link, logs in and select a $20 plan and pays for the subscription. As part of the subscription creation process, Streams Manager will calculate the bonus amount for user A as follows: $20 \* 50% = $10. Since $10 is already more than the minimum amount of $3, nothing is changed. However, since $10 is greater than the maximum amount of $8, bonus amount is capped at $8. User A will get a referral payment created for $8 that will extend their subscription by 24 days to Dec 8. Next time user B makes a payment to extend their subscription, referral bonus will not be applied since it is only applicable on the very first payment a new user makes. If a user making the referral is already on a recurring subscription through PayPal or Stripe, they will also get extra time added like in the example above. Once their next recurring payment gets synchronized, that payment will take effect after the referral bonus extension in essence giving them extra buffer should something happen to the recurring subscription and payment fails to process. Once that user cancel their recurring payment, the time extension will get utilized then. [PreviousMedia server integration settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/media-server-integration-settings) [NextCustom contentchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content) Last updated 2 months ago --- # How to invite a user manually via Streams Manager? | Streams Manager Docs It is recommended that manual user invites come through Streams Manager vs. through the Plex web app (app.plex.tv). The reason for this is that Streams Manager knows how your libraries are configured and which ones need to be shared based on the selected plan and will automatically create the payment for the user so they are immediately active. It will also create a Plex invite and send a notification to the user (see [Notification templates](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications/notification-templates) to modify the notification content). To invite a user, please follow these steps: * Navigate to Users panel in main menu * Click on the menu button in the table header to reveal the action menu and click on Invite menu item * Invite User dialog will pop up * Fill out the form fields keeping the following in mind * PayPal email - if the user is a PayPal user, this is how they will be matched for future payments through PayPal * Transaction ID - if this was a manual payment this can be anything as long as it is unique. I prefer a format of date-payment\_type-suffix. For example, for Venmo, I use 2022-08-10-Venmo-1 for the transaction ID which makes is easier to correlate payments later. For PayPal, enter the transaction ID and for Stripe, enter the payment intent ID (i.e. starts with "pi\_") * Sequence number - This can be set to 1 unless one payment was used to pay for multiple users in which case you can split the same payment to multiple users using multiple sequence numbers * Subscription ID - if the user is on an existing recurring subscription that was created prior to using Streams Manager, enter that ID here. For PayPal, that is usually an ID that starts with "I-" or for Stripe, it is an ID that starts with "sub\_" * Click Invite and Streams Manager will invite the user to the specified Plex server [PreviousHow does Streams Manager know that a user is active or expired?chevron-left](https://streamsmanager.gitbook.io/streams-manager/faq/how-does-streams-manager-know-that-a-user-is-active-or-expired) [NextHow to change user’s Plex/Emby/Jellyfin email or username?chevron-right](https://streamsmanager.gitbook.io/streams-manager/faq/how-to-change-users-plex-emby-jellyfin-email-or-username) Last updated 3 years ago --- # What runs and is synchronized on a recurring basis? | Streams Manager Docs Streams Manager has several background processes that run on a schedule that do maintenance tasks and data synchronization with external system such as Plex, PayPal, Stripe, Discord, etc. The processes that run are as follows: * Every 5 minutes * Streaming activity logging and enforcement * Download activity logging and enforcement * Emby device enforcement * Every hour * User synchronization with Plex (import of new users, updates to existing users) * Server synchronization with Plex (updates to servers, updates to libraries on servers, etc.) * Payments synchronization (import of new recurring or peer-to-peer payments you have received through PayPal or Stripe) * Removal of users whose subscriptions expires * Updates to sharing (if users changed plans, libraries included in plans changed, etc.) * Discord synchronization (adding/removing roles, kicking users, etc.) * Daily * Calculation of number of active users * Ombi synchronization (updating of Discord notification data to Ombi users) * Overseerr synchronization (adding/removal of Overseerr local users, updating of Discord notification data to Overseerr users) * Petio synchronization (adding/removal of Petio users) * Payment reminders sending * Plex token validation (ensures Plex tokens in the system are valid so the system can operate and use them) * Library statistics refresh [PreviousWhat is the flow for a new customer in Streams Manager?chevron-left](https://streamsmanager.gitbook.io/streams-manager/faq/what-is-the-flow-for-a-new-customer-in-streams-manager) [NextI am seeing notes mentioning credits on the payment edit screen. What is that?chevron-right](https://streamsmanager.gitbook.io/streams-manager/faq/i-am-seeing-notes-mentioning-credits-on-the-payment-edit-screen.-what-is-that) Last updated 1 year ago --- # How to dedicate a specific server to trials only? | Streams Manager Docs You can dedicate a server to trial plans only. Please follow these steps. * Ensure trials are enabled in Settings -> Subscribe and Trials * Ensure that the server you wish to use for trials is synced and shows up under Servers panel. Also, ensure that the server is enabled and that "Allow new subscriptions" and "Allow trial subscriptions" are also enabled * Create a new library type/group called "Trial" * Assign only libraries from the trial server to this group on the Libraries panel * Edit the trial plan and assign only "Trial" library type/group to the plan Once users request a free trial, they will be added to the server dedicated for trials. If they later decide to subscribe, they will be removed from the trial server and added to one of your non-trial servers. [PreviousHow does Streams Manager select a Plex server to add a user?chevron-left](https://streamsmanager.gitbook.io/streams-manager/faq/how-does-streams-manager-select-a-plex-server-to-add-a-user) [NextCan I switch platforms?chevron-right](https://streamsmanager.gitbook.io/streams-manager/faq/can-i-switch-platforms) Last updated 3 years ago --- # Error: Plex response status code does not indicate success: 404 | Streams Manager Docs If you getting this error when your users try to subscribe to one of your plans, you try to invite someone, or you try to update sharing for a user, there could be couple of different reason causing this problem. ### [hashtag](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex/error-plex-response-status-code-does-not-indicate-success-404#server-identifier-has-changed) Server identifier has changed Ensure that the Plex server to which your users are trying to subscribe or you are trying to make changes to has not changed. This can happen if you recently redeployed a server or have made other changes to the server. You can tell if this is the case by comparing the Machine ID of your server on the Servers panel in Streams Manager and the machine ID that shows in the URL when you navigate to any title (movie or TV show) via the Plex web app in the browser. The URL should like this: Copy https://app.plex.tv/desktop/#!/server/XXXXXXXXXXXXXXX/details?key=%2Flibrary%2Fmetadata%2F984816&context=home%3Ahub.continueWatching~0~0 The portion `XXXXXXXXXXXXXXX` after the `server` in the URL is your server machine ID. If they do not match, that means you have a new server. You will need to add this new server to Streams Manager and then migrate your users to the new server using Migrate option on the Servers page. Please note that your plan must allow adding an additional server for this to work which may require you to upgrade your plan. Please reach out to us for support if you have any questions. ### [hashtag](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex/error-plex-response-status-code-does-not-indicate-success-404#streams-managers-data-is-out-of-sync) Streams Manager's data is out of sync In this case, changes such as adding or removing users, changing library access, etc. were directly done on your Plex server and not through Streams Manager. This behavior should be avoided. To resolve the issue, sync data on `Users` page and `Servers` page and try your operation again. [PreviousError: Error communicating with Plex 401chevron-left](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex/error-error-communicating-with-plex-401) [NextEmby/Jellyfinchevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/emby-jellyfin) Last updated 5 months ago * [Server identifier has changed](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex/error-plex-response-status-code-does-not-indicate-success-404#server-identifier-has-changed) * [Streams Manager's data is out of sync](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex/error-plex-response-status-code-does-not-indicate-success-404#streams-managers-data-is-out-of-sync) --- # How does Streams Manager select a Plex server to add a user? | Streams Manager Docs Streams Manager uses the following rules to select a server for a subscriber: * If a user is a subscriber already and shares a Plex server, verify that the server they are sharing accommodates the plan they picked. If it does, nothing is done expect add a payment covering the new time period. If not, proceed to the next step * If a user has an invite to the Plex server that is not accepted, verify that the server they have an invite for accommodates the plan they picked. If it does, nothing is done expect add a payment covering the new time period. User needs to accept the invite they already have. If the server does not accommodate the plan, proceed to the next step * Find all Plex servers that are enabled and have capacity remaining * If a user shared a server in the past and that server has capacity and accommodates the plan user selected, add the user to that server * If plan is trial, use a server that is enabled, has capacity remaining, accepts trials and accommodates the trial plan and use that server giving preference to selected location. If multiple servers match the criteria, select the server with the lowest number of users * If plan is not trial, use a server that is enabled, has capacity remaining, accommodates the plan and use that server giving preference to selected location. If multiple servers match the criteria, select the server with the lowest number of users * If none, throw an error and notify admin [PreviousI am seeing notes mentioning credits on the payment edit screen. What is that?chevron-left](https://streamsmanager.gitbook.io/streams-manager/faq/i-am-seeing-notes-mentioning-credits-on-the-payment-edit-screen.-what-is-that) [NextHow to dedicate a specific server to trials only?chevron-right](https://streamsmanager.gitbook.io/streams-manager/faq/how-to-dedicate-a-specific-server-to-trials-only) Last updated 2 years ago --- # Can I switch platforms? | Streams Manager Docs Streams Manager plans include a single platform of your choice (Plex, Emby or Jellyfin). If you wish to change your platform (i.e. go from Plex to Emby), this is possible at no additional charge but it has some caveats. Please be aware of the following: * Before you initiate the switch, you have to delete all Plex accounts you have on Plex accounts page * Before you initiate the switch, you have to delete all servers from Servers page of the type you are switching from * Please open a ticket in Discord and request the change triangle-exclamation Deleting Plex account or servers as described above is a **DESTRUCTIVE** operation and will delete all share information in Streams Manager only (not on media server). For example, this will delete information about which user was on which server and that will make automatic migration between servers and platforms impossible. Your payment data and subscription expiration dates will stay in place. [PreviousHow to dedicate a specific server to trials only?chevron-left](https://streamsmanager.gitbook.io/streams-manager/faq/how-to-dedicate-a-specific-server-to-trials-only) [NextHow to bulk invite users?chevron-right](https://streamsmanager.gitbook.io/streams-manager/faq/how-to-bulk-invite-users) Last updated 1 year ago --- # Creating a Discord bot | Streams Manager Docs To create a Discord bot, please follow these steps. * First, you will need to create a Discord app, a bot and add it to your Discord server. Do NOT add the bot to more than one Discord server. Ensure that bot has Administrator rights when it is created and also that it has an Administrator role in your Discord server (i.e. can manage roles, etc.). See this video for instructions (from 1:57-4:30) [https://youtu.be/aO4XokwEx6Q?t=117arrow-up-right](https://youtu.be/aO4XokwEx6Q?t=117) . Adjust Bot setting to give it proper access by clicking on the Bot on the left and enabling PRESENCE INTENT and SERVER MEMBERS INTENT ![](https://streamsmanager.gitbook.io/streams-manager/~gitbook/image?url=https%3A%2F%2F1028607433-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F9BkTOk434ezw65fP9EYl%252Fuploads%252FbDsvZgAXmoMdYIwIRNs5%252Fimage.png%3Falt%3Dmedia%26token%3D326ad4eb-cbef-49e2-b5f3-a8ffa7bbef2c&width=768&dpr=4&quality=100&sign=a80bde6&sv=2) * Once the bot is in your server, the bot should be assigned an admin role in your Discord server with access to all permissions (such as Manage Roles, Kick Users, Send Messages, etc.) Once the bot is in your Discord server, copy the bot token and enter it in the Streams Manager. Please note that the bot does not need to show as online for it to work * Click the Test button to test the settings. Test will attempt to fetch members of your discord server and add a role to one of the users. Make sure the test is successful [PreviousDiscord integration settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/discord-integration-settings) [NextMedia server integration settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/media-server-integration-settings) Last updated 1 year ago --- # What is the flow for a new customer in Streams Manager? | Streams Manager Docs Streams Manager offers full end to end automation for users from registration, through paying and getting Plex share access. The process is as follows: * User registers * User registers on Streams Manager using their Plex email * Streams Manager sends user a confirmation email asking to confirm their account * User confirms account and can now log in * User logs in * User can look at available plans, pricing and other information * User subscribes * User clicks on the subscribe button. If both pay as you go (checkout) and recurring payments are enabled, user will be given an option to choose * User will be presented with a screen to select their plan, sever location (if more than one location has servers with capacity) and pay using one of the enabled payment methods * Depending on the payments method, user will be redirected to PayPal, Stripe or Plisio to authorize the payment * Payment processor redirects back to Streams Manager * Payment is confirmed * Streams Manager confirms the payment was successful * Streams Manager records the payment for the user * Plex share access is provisioned * Streams Manager finds a server that has space available (less than 100 or max number of users configured on the server) based on the plan user selected, geographic location selected etc. If multiple servers match the criteria, Streams Manager will select the server with lowest number of users so server load is balanced * Streams Manager communicates with your Plex server to provision Plex share access for the user based on the plan selected and libraries and options included in the plan * Email is sent to the user with information on how to accept the Plex share invitation (See [Notification templates](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/email-notifications/notification-templates) ) * If enabled, Streams Manager creates Overseer and Petio account for the user * If enabled, Streams Manager gives user appropriate Discord roles * Streams Manager creates a new user in the system and creates a payment for that user to track when their subscription expires [PreviousHow to mass migrate users from one media server to another?chevron-left](https://streamsmanager.gitbook.io/streams-manager/faq/how-to-mass-migrate-users-from-one-media-server-to-another) [NextWhat runs and is synchronized on a recurring basis?chevron-right](https://streamsmanager.gitbook.io/streams-manager/faq/what-runs-and-is-synchronized-on-a-recurring-basis) Last updated 3 years ago --- # Plisio settings | Streams Manager Docs Streams Manager allows integration with Plisio as a payment gateway for crypto payments for pay as you go payments **ONLY**. To learn more about Plisio, please visit: [https://plisio.netarrow-up-right](https://plisio.net/) . Plisio settings are as follows: * Enabled - indicates whether to enable Plisio for payments * Checkout enabled - indicates whether Plisio is enabled on the checkout page for pay as you subscriptions * Default crypto coin - default coin that users will be presented during checkout. They can still change the coin to one of the allowed coins you set in Plisio * API secret key - Integration key for Plisio To enable Plisio, please follow these steps: * Create a free Plisio account on [https://plisio.netarrow-up-right](https://plisio.net/) * Login to your new account * Select Connect my Business if asked what are you looking to use the Plisio platform for * Click on API menu option in the top bar * Click on the plus button to add a shop * Enter your shop name and URL. The URL should be your Streams Manager URL like `https://my-subdomain.streamsmanager.com` where you replace `my-subdomain` with your actual subdomain * Click Save * Click on Site Settings and enter the following information: * Integration Type: `Custom` * Secret key: copy the key and enter it in Streams Manager * Request IP: leave blank * Status URL: leave blank * Success URL: `https://my-subdomain.streamsmanager.com/subscribe/plisio-success`. Replace `my-subdomain` with your actual subdomain * Failed URL: `https://my-subdomain.streamsmanager.com/subscribe`. Replace `my-subdomain` with your actual subdomain * Who pays commission: select appropriate value for your setup * Supported currencies: Select which coins you plan on accepting. Leaving it as Any will allow all supported coins. Make sure that the default coin as set in Streams Manager settings under Payment Gateways -> Plisio is in the selected list * Expiration period: 30 * While label processing: ensure this in **NOT** checked * Test the setting by clicking on the Test button * Save the settings [PreviousSumup settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/payment-gateways/sumup-settings) [NextRegistration settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/registration-settings) Last updated 2 years ago --- # Petio settings | Streams Manager Docs Streams Manager integration with Petio consist of Streams Manager creating local accounts for new subscribers in Petio and sending users a notification (email or Discord) with login credentials. Petio account is created for new subscribers immediately upon subscription and fully synchronized once per day at 5 AM UTC. The settings are as follows: * Petio user sync enabled - indicates whether sync with Petio request system is enabled. When enabled, new local Petio accounts will be created for all Streams Manager users. Full synchronization runs on a schedule once per day at 5 AM UTC * Petio email - Petio administrator email address used to login to Petio * Petio password - Petio administrator's password address used to login to Petio * URL - base URL to the petio system * Profile name - name of the Petio profile to assign to new users. Leave blank to assign a Petio default profile [PreviousOverseerr settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/requests-integration-settings/overseerr-settings) [NextDiscord integration settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/discord-integration-settings) Last updated 3 years ago --- # Media server integration settings | Streams Manager Docs Streams Manager offers integration with your media servers. This section governs how that integration works. The settings are as follows: ### [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/media-server-integration-settings#media-server-sync-settings) Media server sync settings * **Import new users as permanent** - indicates whether new users should be marked as permanent when they are imported from your media server. This setting is especially important when doing a user sync for the first time. When turned OFF, any user that shares your media server that is not tracked in Streams Manager will be imported and assigned to a default plan and be active for the duration of the default plan ### [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/media-server-integration-settings#emby-jellyfin-settings) Emby/Jellyfin settings * **Default Emby/Jellyfin user - i**ndicates the user from which default settings will be taken when creating or inviting new Emby/Jellyfin users. In essence, configuration of this user will server as a template for new users. Streams Manager will made adjustments to to the settings to ensure that the user is given access to correct libraries based on the their plan, number of allowed devices, etc. Every Emby/Jellyfin server needs to have this user created for the feature to work. * **Require Emby Connect** - when enabled, users are required to register with and use Emby Connect enabled account. See [Emby Connectarrow-up-right](https://emby.media/support/articles/Emby-Connect.html) for details how Emby Connect works. **If enabled, please note that upon registration Streams Manager must validate that user's email is a valid Emby Connect email. This is done by creating a dummy user** `**EmbyConnectLinkTest**` **and then immediatelly removing it. However, this will generate an email sent to the user from Emby asking them to link their Emby account that they should ignore.** ### [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/media-server-integration-settings#advanced-maximum-devices-in-use-streaming-enforcement) Advanced maximum devices in use streaming enforcement circle-exclamation This is a feature that is part of the premium pack that needs to be purchased separately. Advanced maximum devices in use streaming enforcement allows you to configure additional enforcement for users that use more devices concurrently than their plan allows. When a user is using more devices than their plan allows, Streams Manager will stop their stream within 5 minutes via a background job and display a message on the screen that you can configure in [Streaming enforcement messages](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/media-server-integration-settings#streaming-enforcement-messages) section. If you so choose, in addition to stopping the stream, Streams Manager can limit user's library access to only certain libraries. Once a user exceeds number of warnings for using too many devices in the past week you set, Stream Manager will restrict user's library access to only libraries you specify within 5 minutes via a background job. Once a user's number of warning in the past week drops below the limit (as the time elapses), Stream Manager will again enable all libraries on user's plan within 5 minutes via a background job. Number of warnings is squashed hourly which means that multiple warnings in the same hour will count as a single warning. * **Enable advanced maximum devices in use streaming enforcement** - indicates whether advanced maximum devices in use streaming enforcement is enabled or not * **Weekly warnings limit** \- number of too many devices in use warnings a user must have in the last week in order for library access to be limited. Number of warnings is squashed hourly which means that multiple warnings in the same hour will count as a single warning * **Library names with access** - comma separated list of library names a user will be limited to when exceeding weekly warnings limit for too many devices in use warnings. **Every server must have these libraries** ### [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/media-server-integration-settings#advanced-transcoding-4k-streaming-enforcement) Advanced transcoding 4K streaming enforcement circle-exclamation This is a feature that is part of the premium pack that needs to be purchased separately. Advanced transcoding 4K streaming enforcement allows you to configure additional enforcement for users that transcode 4K content. When a user is transcoding 4K content, Streams Manager will stop their stream within 5 minutes via a background job and display a message on the screen that you can configure in [Streaming enforcement messages](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/media-server-integration-settings#streaming-enforcement-messages) section. If you so choose, in addition to stopping the stream, Streams Manager can remove certain (i.e. 4K) libraries for their access. Once a user exceeds number of warnings for transcoding 4K content in the past week you set, Stream Manager will remove access to libraries you specify within 5 minutes via a background job. Once a user's number of warning in the past week drops below the limit (as the time elapses), Stream Manager will again enable all libraries on user's plan within 5 minutes via a background job. Number of warnings is squashed hourly which means that multiple warnings in the same hour will count as a single warning. * **Enable advanced transcoding 4K streaming enforcement** - indicates whether advanced transcoding 4K streaming enforcement is enabled or not * **Weekly warnings limit** \- number of transcoding 4K warnings a user must have in the last week in order for library access to be limited. Number of warnings is squashed hourly which means that multiple warnings in the same hour will count as a single warning * **Library names to be removed from access** - comma separated list of library names a user will be lose access to when exceeding weekly warnings limit for transcoding 4K content warnings. If a server does not have some of these libraries, they will be ignored ### [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/media-server-integration-settings#streaming-enforcement-messages) Streaming enforcement messages Streaming enforcement messages allows you to customize messages that are shown to the user in the media streaming app once they are detected exceeding streaming limits or transcoding 4K content. Streaming enforcement on Plex requires a Plex Pass. For Emby and Jellyfin servers, streaming enforcement may not always work as Emby and Jellyfin often spawn ffmpeg processes on the server that cannot be stopped via an API. * **Device in use exceeded message** - Message shown on user's device after their stream is stopped because they have more devices in use concurrently than their plan allows. You can use the following placeholders that will be replaced at runtime: ##NumberOfDevicesInUse##, ##NumberOfDevicesAllowed##. This only works on Plex. * **Transcoding not allowed message** - message shown on user's device after their stream is stopped because they are transcoding content and their plan does not allow transcoding. This only works on Plex. * **Transcoding 4K not allowed message** - message shown on user's device after their stream is stopped because they are transcoding 4K content and the Plex server does not allow transcoding.. [PreviousCreating a Discord botchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/discord-integration-settings/creating-a-discord-bot) [NextReferrals settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/referrals-settings) Last updated 1 year ago * [Media server sync settings](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/media-server-integration-settings#media-server-sync-settings) * [Emby/Jellyfin settings](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/media-server-integration-settings#emby-jellyfin-settings) * [Advanced maximum devices in use streaming enforcement](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/media-server-integration-settings#advanced-maximum-devices-in-use-streaming-enforcement) * [Advanced transcoding 4K streaming enforcement](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/media-server-integration-settings#advanced-transcoding-4k-streaming-enforcement) * [Streaming enforcement messages](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/media-server-integration-settings#streaming-enforcement-messages) --- # Discord integration settings | Streams Manager Docs Streams Manager offers Discord integration in the following ways: * Discord member management - Streams Manager will kick users that have let their subscriptions expire after a set time period * Discord role management - Streams Manager will keep user roles in sync based on their plan and Plex server where they are currently sharing libraries circle-exclamation Permanent users in Streams Manager are excluded from Discord role sync. This integration works through the use of bots so you will have to create a bot and obtain a bot token. You can use the same bot you use for Discord notifications as described in [Creating a Discord bot](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/discord-notifications/discord-settings/creating-a-discord-bot) . The settings are as follows: * Discord sync enabled - indicates whether integration with Discord server is enabled. When enabled, new users will be assigned a role and expired users will have their role removed and optionally kicked out of the Discord server. * Bot token - Discord bot token * Subscriber role name - name of the role to assign to Discord users that are currently active and on a non-trial plan * Trial role name - name of the role to assign to Discord users that are currently active and on a trial plan * Kick users - indicates whether to kick users from the Discord server after their subscription has expired * Kick after days - specifies for how long (in days) user's subscription must be expired before they are kicked from the Discord server. Set to 0 for immediate removal [PreviousPetio settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/requests-integration-settings/petio-settings) [NextCreating a Discord botchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/discord-integration-settings/creating-a-discord-bot) Last updated 2 months ago --- # Error: Create Subscription Api response error RESOURCE_NOT_FOUND | Streams Manager Docs If you see the following error when trying to subscribe using a PayPal recurring subscription: Something went wrong. Error: Create Subscription Api response error: { "name": "RESOURCE\_NOT\_FOUND", "message": "The specified resource does not exist." }, the.follow these steps: * Ensure you are using a PayPal Business account * Ensure that the PayPal plan has been created in PayPal and specified on a plan in Streams Manager [PreviousError: PayPal subscription ID: xxx does not have any transactionschevron-left](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/paypal/error-paypal-subscription-id-xxx-does-not-have-any-transactions) [NextPlexchevron-right](https://streamsmanager.gitbook.io/streams-manager/troubleshooting/plex) Last updated 2 years ago --- # Miscellaneous settings | Streams Manager Docs Miscellaneous settings are located in this section. The settings are as follows: * Weekly download limit - specifies how many downloads users can perform per week by default and it applied to users who are on plans that allow mobile downloads. This can be overridden per user on user details screen. Keep in mind that Streams Manager cannot strictly enforce download limits as Plex currently does not offer the ability to stop one's download (there used to be the ability to stop the old sync operation). It will just send a warning message to the user and log a warning against their account [PreviousCustom themechevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/custom-theme) [NextSelf invite settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/miscellaneous-settings/self-invite-settings) Last updated 3 years ago --- # Self invite settings | Streams Manager Docs Self invite allows users who have accidentally removed themselves from a Plex server to invite themselves back without involving the server admin. Users can do this from the My Account page using the `Re-Invite Yourself` button next to the Server name in the Plan section. ![](https://streamsmanager.gitbook.io/streams-manager/~gitbook/image?url=https%3A%2F%2F1028607433-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F9BkTOk434ezw65fP9EYl%252Fuploads%252FS1CGgRj6Zqgw2Y6pXJkE%252Fimage.png%3Falt%3Dmedia%26token%3Dc8fe3d4c-4ef5-42a2-a8aa-e5cf0fa5bcc5&width=768&dpr=4&quality=100&sign=c55bc241&sv=2) In order for a user to see the button, all of the following must be true: * Self invites must be enabled in Settings * User must not be on any Plex server already * User must not have any invites to any Plex server * User must have an active payment with a plan Self invite mode allows you to specify how a server to which the user will be invited to is determined. Option `Latest option user was on previously` will add a user to the last server they were previously on while option `User will select server when self inviting` will let the user select a server that has capacity and accommodates the plan they are currently on. [PreviousMiscellaneous settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/miscellaneous-settings) [NextLibrary groups configurationchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/library-groups-configuration) Last updated 2 years ago --- # How to bulk invite users? | Streams Manager Docs You can use Streams Manager to invite users to your servers in bulk at once. triangle-exclamation Bulk inviting users to your Plex server is not recommended because it can cause a ban. To bulk invite, navigate to `Users` page and click on the table header action menu item and choose `Bulk Invite or Share`. A dialog will be presented asking you to upload a CSV file with user data to be invited to your servers. You can use the following CSV file to get you started. file-download 230B [bulk-invite.csv](https://1028607433-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9BkTOk434ezw65fP9EYl%2Fuploads%2Fnd3OyxRIJMAoRE3gkSLH%2Fbulk-invite.csv?alt=media&token=ac7e7f9d-1fe1-4a05-ab34-9a80050110dc) downloadDownload[arrow-up-right-from-squareOpen](https://1028607433-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9BkTOk434ezw65fP9EYl%2Fuploads%2Fnd3OyxRIJMAoRE3gkSLH%2Fbulk-invite.csv?alt=media&token=ac7e7f9d-1fe1-4a05-ab34-9a80050110dc) Mandatory fields are: * Email * Server Name * Plan Name All other fields are optional. Keep in mind that transaction ID must be unique. If omitted, system will generate a unique value for you. Quantity will be defaulted to 1 and equates to one duration of your plan. Once the file is submitted, Streams Manager will perform file validation and if successful, it will start a background job to invite all users in the file. Once the process is finished, an email will be sent to the administrator with the results. Note that your SMTP server needs to be setup properly and administrator notification email template enabled in `Settings`. [PreviousCan I switch platforms?chevron-left](https://streamsmanager.gitbook.io/streams-manager/faq/can-i-switch-platforms) Last updated 1 year ago --- # Logo | Streams Manager Docs This section allows you to upload your own logo. Custom logo which must be in PNG format with transparent background and be less than 1 MB in size. Dimensions of the logo should be between 64 and 250 pixels long and no more than 64 pixels tall. circle-exclamation Changes to media assets can take up to 12 hours to reflect due to CDN caching. [PreviousCustom contentchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content) [NextWallpaperchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/wallpaper) Last updated 2 years ago --- # Wallpaper | Streams Manager Docs You can upload your own custom wallpaper and control whether to show the site name and subscribe button in front of it. Custom wallpaper which must be in JPG format and be less than 5 MB in size. Wallpaper should be at least 450 px tall. circle-exclamation Changes to media assets can take up to 12 hours to reflect due to CDN caching. [PreviousLogochevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/logo) [NextHome page section 1 contentchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/home-page-section-1-content) Last updated 2 years ago --- # Custom content | Streams Manager Docs circle-exclamation This is a feature that is part of the premium pack that needs to be purchased separately. This sections allows you to configure and customize content on certain pages. [PreviousReferrals settingschevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/referrals-settings) [NextLogochevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/logo) Last updated 1 year ago --- # Home page section 1 content | Streams Manager Docs This section is displayed directly below the wallpaper on the home page. You can enable it and specify custom HTML content to display there or use default content that looks like this: ![](https://streamsmanager.gitbook.io/streams-manager/~gitbook/image?url=https%3A%2F%2F1028607433-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F9BkTOk434ezw65fP9EYl%252Fuploads%252FhJBUHrIZqZiafMSMb2z3%252Fimage.png%3Falt%3Dmedia%26token%3D63ef06e2-e845-4de3-82c5-8bfbebfc19f4&width=768&dpr=4&quality=100&sign=854d99a2&sv=2) [PreviousWallpaperchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/wallpaper) [NextHome page section 2 contentchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/home-page-section-2-content) Last updated 3 years ago --- # Subscription page content | Streams Manager Docs This section is displayed at the top of both Subscribe Recurring and Subscribe Pay as You Go pages. You can enable it and specify custom HTML content to display there. [PreviousPricing contentchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/pricing-content) [NextLibrary statistics section contentchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/library-statistics-section-content) Last updated 3 years ago --- # Home page section 2 content | Streams Manager Docs This section is displayed directly below the section 1 on the home page. You can enable it and specify custom HTML content to display there or use default content that looks like this: ![](https://streamsmanager.gitbook.io/streams-manager/~gitbook/image?url=https%3A%2F%2F1028607433-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F9BkTOk434ezw65fP9EYl%252Fuploads%252FhOFskwLiqpaaRRDwo8wn%252Fimage.png%3Falt%3Dmedia%26token%3Dcb3aa2be-a02e-4cf9-92cc-e398064919da&width=768&dpr=4&quality=100&sign=8599b806&sv=2) [PreviousHome page section 1 contentchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/home-page-section-1-content) [NextPricing contentchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/pricing-content) Last updated 3 years ago --- # Pricing content | Streams Manager Docs This section is displayed directly below the section 2 on the home page. You can enable it and specify custom HTML content to display there or use default content that looks like this: ![](https://streamsmanager.gitbook.io/streams-manager/~gitbook/image?url=https%3A%2F%2F1028607433-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F9BkTOk434ezw65fP9EYl%252Fuploads%252FOZGAaMQ1HuC0g6TOAv7q%252Fimage.png%3Falt%3Dmedia%26token%3D65e32679-036e-432a-9b50-1e0e1868990b&width=768&dpr=4&quality=100&sign=49734863&sv=2) When using default content option, this section will automatically update with plans as they are changed. **If custom content is used**, you must maintain the accuracy of this section and keep it up to date when you change plans. [PreviousHome page section 2 contentchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/home-page-section-2-content) [NextSubscription page contentchevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/subscription-page-content) Last updated 3 years ago --- # Library statistics section content | Streams Manager Docs This section is displayed directly below the pricing section on the home page. You can enable it and specify custom HTML content to display there or use default content that looks like this: ![](https://streamsmanager.gitbook.io/streams-manager/~gitbook/image?url=https%3A%2F%2Fcdn.document360.io%2Ff93693fd-bbea-47dd-a113-16646e95160a%2FImages%2FDocumentation%2Fimage-1663951983753.png&width=768&dpr=4&quality=100&sign=c840cfc2&sv=2) Streams Manager will refresh library statistic every day from a server that is specified in this section and display those library statistics here. If you choose to use custom content, the following variables/placeholders are available that will be replaced with actual values. Keep in mind that the ID in the variable/placeholder needs to be replaced with actual library section ID as shown on the Libraries panel. For example, correct variable/placeholder to use in the custom content would be: ##Library-345689-MovieCount##. * ##Library-ID-MovieCount## * ##Library-ID-ShowCount## * ##Library-ID-SeasonCount## * ##Library-ID-EpisodeCount## * ##Library-ID-ArtistCount## * ##Library-ID-AlbumCount## * ##Library-ID-TrackCount## * ##MovieTotalCount## * ##ShowTotalCount## * ##SeasonTotalCount## * ##EpisodeTotalCount## * ##ArtistTotalCount## * ##AlbumTotalCount## * ##TrackTotalCount## [PreviousSubscription page contentchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/subscription-page-content) [NextCustom themechevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/custom-theme) Last updated 3 years ago --- # Custom theme | Streams Manager Docs Streams Manager offers the ability to fully customize your theme as part of the premium feature pack. This allows you to create a fully custom theme with custom color and layout but you need to be familiar with CSS. [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/custom-theme#creating-your-custom-theme) Creating your custom theme -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- It may be easiest to start with an existing Bootstrap 4 theme (system is build on Bootstrap 4 so maximum version of Bootstrap that is supported is 4) and modify from there, but that is completely up to you. You can find Bootstrap 4 themes at: [https://bootswatch.com/4arrow-up-right](https://bootswatch.com/4) and many other places on the Internet. We also have a dark theme with blue nav bar that you can use as a starting point that is based on Darkly bootswatch theme: [https://bootswatch.com/4/darkly/arrow-up-right](https://bootswatch.com/4/darkly/) and you can get it [herearrow-up-right](https://api.streamsmanager.com/css/darkly.css) . Alternatively, you can try create a completely custom theme with the help of [https://www.bootstrap-live-customizer.comarrow-up-right](https://www.bootstrap-live-customizer.com/) . Modify the theme as you see fit and save the file somewhere on your computer [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/custom-theme#testing-your-custom-theme) Testing your custom theme ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Follow these steps to see how your custom CSS theme looks before uploading it. Steps below work for Chrome browsers but other browsers work similarly. * Store your custom CSS file in a folder that is accessible by your user * Open your Stream Manager site in a browser * Open developer tools * Right click anywhere on the page and select Inspect * Click on the Elements tab * Expand head element and find client theme link element * ![](https://streamsmanager.gitbook.io/streams-manager/~gitbook/image?url=https%3A%2F%2F1028607433-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F9BkTOk434ezw65fP9EYl%252Fuploads%252FgIxPEJv49loPLUzjL78t%252Fimage.png%3Falt%3Dmedia%26token%3D5946b6b1-ffa8-4fa2-8db6-ee9f16674823&width=768&dpr=4&quality=100&sign=56a929f0&sv=2) * Replace the `href=` portion with `file:///full-path-to-css-file` using the full path to your CSS file (i.e. `file:///C:/Users/Admin/Downloads/my.css`) * Press enter and your changes should be reflected [hashtag](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/custom-theme#upload-your-custom-theme) Upload your custom theme ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- circle-exclamation Please note that because CDN caches the file, it may take 6 hrs for changes to take effect. To see how the theme looks, upload the CSS file in `Settings -> Custom Content -> Custom CSS` section and fully reload the page. You can also reset the theme to default if something is not looking right. [PreviousLibrary statistics section contentchevron-left](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/library-statistics-section-content) [NextMiscellaneous settingschevron-right](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/miscellaneous-settings) Last updated 2 years ago * [Creating your custom theme](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/custom-theme#creating-your-custom-theme) * [Testing your custom theme](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/custom-theme#testing-your-custom-theme) * [Upload your custom theme](https://streamsmanager.gitbook.io/streams-manager/configuration/settings/custom-content/custom-theme#upload-your-custom-theme) ---