{"id":15115057,"url":"https://github.com/LizardByte/GSMS","last_synced_at":"2025-09-27T19:31:33.175Z","repository":{"id":103952716,"uuid":"581905017","full_name":"LizardByte/GSMS","owner":"LizardByte","description":"Gamestream migration service for Sunshine","archived":false,"fork":false,"pushed_at":"2024-11-16T15:11:10.000Z","size":197,"stargazers_count":57,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-16T16:19:53.446Z","etag":null,"topics":["game-stream","geforce-experience","moonlight","python","replicator-release-notifications","sunshine"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LizardByte.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["LizardByte"],"patreon":"LizardByte","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://mee6.xyz/m/804382334370578482","https://paypal.me/ReenigneArcher"]}},"created_at":"2022-12-24T20:05:13.000Z","updated_at":"2024-11-16T15:08:25.000Z","dependencies_parsed_at":"2023-09-28T04:06:48.775Z","dependency_job_id":"eef1eabf-d16c-405b-b442-ee1c9ffbc6fe","html_url":"https://github.com/LizardByte/GSMS","commit_stats":null,"previous_names":[],"tags_count":50,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LizardByte%2FGSMS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LizardByte%2FGSMS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LizardByte%2FGSMS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LizardByte%2FGSMS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LizardByte","download_url":"https://codeload.github.com/LizardByte/GSMS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234453729,"owners_count":18835114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game-stream","geforce-experience","moonlight","python","replicator-release-notifications","sunshine"],"created_at":"2024-09-26T01:43:40.014Z","updated_at":"2025-09-27T19:31:27.822Z","avatar_url":"https://github.com/LizardByte.png","language":"Python","readme":"Overview\n========\n\nAbout\n-----\n\n.. attention:: This project is archived since NVIDIA GeForce Experience is now end-of-life. GSMS is not planning to\n   support the new NVIDIA app.\n\nGSMS is a migration tool that allows users to import their custom apps and games from Nvidia GameStream to\n`Sunshine \u003chttps://github.com/LizardByte/Sunshine\u003e`_. Note that Nvidia GameStream support has ended in February 2023,\nso users who relied on GameStream may want to consider migrating their library to Sunshine. This program updates the\n`apps.json` file for Sunshine and copies the corresponding box art images to a specified directory. It reads shortcut\nfiles (.lnk) from the default GameStream installation location. Additionally it can add games that were automatically\ndetected by Nvidia GameStream. The found games and applications are added to Sunshine as new apps. If an app with\nthe same name already exists in Sunshine, it will be skipped.\n\nThis program is intended for users who want to migrate their GameStream library to Sunshine and have their custom apps\nand games available in Sunshine. It can save users the time and effort of manually adding each app to Sunshine and\nfinding and copying the corresponding box art images. The GameStream library and box-art images will not be modified.\n\nTo use this script, users will need to have both GameStream and Sunshine installed on their system and have a basic\nunderstanding of using the command line. The script can be run with a variety of options to customize its behavior,\nsuch as specifying the `apps.json` file to update, the directory where to copy box art images, and whether to preview\nthe changes without actually updating the `apps.json` file.\n\nAs an alternative option to migrating custom GameStream apps, you may also migrate any directory containing\n``.lnk`` (shortcut) files. Below is the preferred directory structure of a custom directory. Cover images\n(``box-art.png``) is optional.\n\n.. code-block::\n\n   .\n   ├── A Game.lnk\n   ├── Another Game.lnk\n   └── StreamingAssets\n       ├── A Game\n       │   └── box-art.png\n       └── Another Game\n           └── box-art.png\n\nUsage\n-----\n#. Download the latest version from our `latest release \u003chttps://github.com/LizardByte/GSMS/releases/latest\u003e`_.\n#. Double click the program to run with default arguments OR...\n#. Open command prompt/terminal and execute the following command to see available options.\n\n   .. Tip:: This code requires no modification if you download the program to your Downloads directory, otherwise\n      be sure to change the directory accordingly.\n\n   .. code-block:: batch\n\n      cd /d \"%userprofile%/Downloads\"\n      gsms.exe --help\n\nCommand Line\n^^^^^^^^^^^^\n\nTo run the script, use the following command:\n\n.. code-block:: batch\n\n   gsms.exe [OPTIONS]\n\nOPTIONS\n\n``--apps, -a``\n    Specify the sunshine ``apps.json`` file to update, otherwise we will attempt to use the ``apps.json`` file from the\n    default Sunshine installation location.\n\n``--image_path, -i``\n    Specify the full directory where to copy box art to. If not specified, box art will be copied to\n    ``%USERPROFILE%/Pictures/Sunshine``\n\n``--shortcut_dir, -s``\n    Specify a custom shortcut directory. If not specified, ``%localappdata%/NVIDIA Corporation/Shield Apps``\n    will be used.\n\n``--dry_run, -d``\n    If set, the `apps.json` file will not be overwritten and box-art images won't be copied. Use this flag to preview\n    the changes that would be made without committing them.\n\n``--no_sleep``\n    If set, the script will not pause for 10 seconds at the end of the import.\n\n``--nv_add_autodetect, -n``\n    If set, the script will add all streamable apps from Nvidia GameStream's automatically detected applications.\n\nExamples\n^^^^^^^^\n\nTo migrate all GameStream apps to Sunshine and copy box art images to the default directory:\n\n.. code-block:: batch\n\n   gsms.exe\n\nTo migrate all GameStream apps to Sunshine and copy box art images to a custom directory:\n\n.. code-block:: batch\n\n   gsms.exe --image_path C:\\\\Users\\MyUser\\\\Photos\\\\Sunshine\n\nTo preview the changes that would be made without actually updating the `apps.json` file:\n\n.. code-block:: batch\n\n   gsms.exe --dry_run\n\nIntegrations\n------------\n\n.. image:: https://img.shields.io/github/actions/workflow/status/lizardbyte/gsms/CI.yml?branch=master\u0026label=CI%20build\u0026logo=github\u0026style=for-the-badge\n   :alt: GitHub Workflow Status (CI)\n   :target: https://github.com/LizardByte/GSMS/actions/workflows/CI.yml?query=branch%3Amaster\n\nSupport\n-------\n\nOur support methods are listed in our\n`LizardByte Docs \u003chttps://lizardbyte.readthedocs.io/en/latest/about/support.html\u003e`_.\n\nDownloads\n---------\n\n.. image:: https://img.shields.io/github/downloads/lizardbyte/gsms/total?style=for-the-badge\u0026logo=github\n   :alt: GitHub Releases\n   :target: https://github.com/LizardByte/GSMS/releases/latest\n\nStats\n-----\n.. image:: https://img.shields.io/github/stars/lizardbyte/gsms?logo=github\u0026style=for-the-badge\n   :alt: GitHub stars\n   :target: https://github.com/LizardByte/GSMS\n\n.. image:: https://img.shields.io/codecov/c/gh/LizardByte/GSMS?token=IC678AQFBI\u0026style=for-the-badge\u0026logo=codecov\u0026label=codecov\n   :alt: Codecov\n   :target: https://codecov.io/gh/LizardByte/GSMS\n","funding_links":["https://github.com/sponsors/LizardByte","https://patreon.com/LizardByte","https://mee6.xyz/m/804382334370578482","https://paypal.me/ReenigneArcher"],"categories":["🛠️ Tools"],"sub_categories":["✴️ Third-Party Moonlight Clients"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLizardByte%2FGSMS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLizardByte%2FGSMS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLizardByte%2FGSMS/lists"}