[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93485":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":16,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":16,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":22,"readmeContent":23,"aiSummary":9,"trendingCount":15,"starSnapshotCount":15,"syncStatus":24,"lastSyncTime":25,"discoverSource":26},93485,"Steam-Games-Cartridges","LewdM3at\u002FSteam-Games-Cartridges","LewdM3at","Physical game cartridges with 2.5\" SSDs for your Steam library ",null,"PowerShell",147,7,107,4,0,40,66.71,"MIT License",false,"main",[],"2026-07-22 04:02:09","# Disclaimer\n\nThis project is a hobby experiment and is not an official Steam product.\n\nAutomatic launching depends on your operating system settings and security policies. Some systems may require additional configuration for automounting drives or allowing scripts to run automatically.\n\n\n\n\n# Steam Games Cartridges\n\n\u003Cimg width=\"970\" height=\"546\" alt=\"JTDUMcuDBav3BEspNBMw6A-970-80 jpg\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F8c0a8d2b-ce5a-4aa5-9bac-5805016db31f\" \u002F>\n\n\u003Cbr\u002F>\u003Cbr\u002F>\nPhysical game cartridges for your Steam library using 2.5\" SATA SSDs.\n\nTurn your digital Steam games into something that feels physical: insert a cartridge, and your PC automatically detects it and launches the configured game or action.\n\nEach cartridge is a simple storage device containing a small launcher script. When inserted, the system detects the cartridge and executes the script file on the drive if it has been classified \"trusted\". \nLaunching a Steam game, opening a game's details page, or running a custom command.\n\n## 3D-Print Files\nSTEP-Files are available over at MakerWorld: [MakerWorld](https:\u002F\u002Fmakerworld.com\u002Fen\u002Fmodels\u002F3057977-2-5-ssd-dock-cartridge-system#profileId-3440827)\n\n## Quickstart\n### Linux\n\nClone the repository:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FLewdM3at\u002FSteam-Games-Cartridges.git\n```\nEnter the project directory:\n```bash\ncd Steam-Games-Cartridges\n```\nRun the installer:\n```bash\n.\u002Fcartridge-linux.sh\n```\n\u003Cimg width=\"796\" height=\"410\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F3b6da377-049a-453b-8dfd-9cd2de70f00a\" \u002F>\n\n**Installation**\u003Cbr>\nSelect menu point 1) Install\u003Cbr>\nThe installer will install the required udev rule, systemd service, and launcher helper.\n\n**Trust Scripts**\u003Cbr>\nAfter you have created a Cartridge with the launch.sh script, add the script to trusted-scripts with menu point 2) Trust Scripts.\nIt will scan for any connected storage media for the launch.sh script and ask if you want to trust said script:\n\u003Cimg width=\"574\" height=\"216\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F77c0e7cf-ba76-430a-99b0-4d97def11cdf\" \u002F>\n\nAny script that hasn't been trusted through this process **will NOT be automatically executed**\n! If you modify the script later on, you have to re-add it to trusted scripts again.\u003Cbr>\n\n**Auto-Launch Scripts**\u003Cbr>\n\u003Cimg width=\"428\" height=\"191\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fb233100c-f527-442b-87d6-c8746865450f\" \u002F>\u003Cbr>\nYou can toggle the automatic execution of scripts by choosing this menu point.\u003Cbr>\nFor when you want to change something inside the script and don't want it to auto-launch when you insert the cartridge.\u003Cbr>\n\n\n**Uninstallation:**\u003Cbr>\nSelect menu point 4) Uninstall \u003Cbr>\nThis will remove everything including the config files and trust scripts list.\n\n### Windows\n\nDownload the repo:\n1. Click Code → Download ZIP OR download it from [Releases](https:\u002F\u002Fgithub.com\u002FLewdM3at\u002FSteam-Games-Cartridges\u002Freleases)\n2. Extract it\n3. Right click on cartridge-windows.ps1 -> Run with Powershell\n\n**Installation**\u003Cbr>\nSelect menu point 1) Install\u003Cbr>\nThe installer will install the required udev rule, systemd service, and launcher helper.\n\n**Trust Scripts**\u003Cbr>\nAfter you have created a Cartridge with the launch.sh script, add the script to trusted-scripts with menu point 2) Trust Scripts.\nIt will scan for any connected storage media for the launch.sh script and ask if you want to trust said script.\n\nAny script that hasn't been trusted through this process **will NOT be automatically executed**\n! If you modify the script later on, you have to re-add it to trusted scripts again.\u003Cbr>\n\n**Auto-Launch Scripts**\u003Cbr>\nYou can toggle the automatic execution of scripts by choosing this menu point.\u003Cbr>\nFor when you want to change something inside the script and don't want it to auto-launch when you insert the cartridge.\u003Cbr>\n\n**Uninstallation:**\u003Cbr>\nSelect menu point 4) Uninstall \u003Cbr>\nThis will remove everything including the config files and trust scripts list.\n\n\n## Supported Storage\n\nThe project is designed around **2.5\" SATA SSDs**.\n\nHowever, the same concept may work with other storage devices such as:\n\n- SD cards\n- USB flash drives\n- External HDDs\n- Other removable storage\n\nCompatibility with other storage types is **not guaranteed** and depends on your operating system, filesystem, automount configuration, and hardware.\n\n## How It Works\n\nEach cartridge contains a launcher script (launch.sh\u002Flaunch.ps1) that will be executed by the helpers (depending on OS).\nConfigure these scripts to whatever you need with Steam URL Protocol.\n\n### Linux\n\nThe Linux version uses three components:\n\n- **udev rule**\u003Cbr>\nThe udev rule detects when a new storage partition is connected.\u003Cbr>\nIts only job is to notify systemd that a game cartridge may have been inserted.\u003Cbr>\nIt does not execute the cartridge directly.\u003Cbr>\n\n- **systemd service**\u003Cbr>\nA systemd template service is used to handle cartridge launches.\u003Cbr>\nThe template allows the same service to work with any inserted device.\u003Cbr>\nThe service starts the launcher helper and passes the detected device name.\u003Cbr>\n\n- **cartridge-launcher-helper**\u003Cbr>\nThe helper script waits for the desktop environment to mount the drive, then searches the cartridge at rool level for: `launch.sh` \u003Cbr>\nIf found, it checks the SHA256 sums of said script against the stored trusted-scripts file. \u003Cbr>\nIf the SHA256 matches, it executes the script.\u003Cbr>\nExample cartridge:\u003Cbr>\nSSD\u003Cbr>\n└── launch.sh\u003Cbr>\n└── SteamLibrary\u003Cbr>\nThe contents of `launch.sh` decide what happens next.\n\n---\n\n#### Windows\n\nThe Windows version uses two components:\n\n\n- **Task Scheduler**\u003Cbr>\nThe installer creates a scheduled task that starts the cartridge monitor when the user logs in.\u003Cbr>\nThe task keeps the monitor running silently in the background.\u003Cbr>\n- **cartridge-monitor.ps1**\u003Cbr>\nThe PowerShell monitor watches for newly inserted storage devices.\u003Cbr>\nWhen a new drive is detected, it checks the root of the cartridge for: `launch.ps1` \u003Cbr>\nIf found, it checks the SHA256 sums of said script against the stored trusted-scripts file. \u003Cbr>\nIf the SHA256 matches, it executes the script.\u003Cbr>\nExample cartridge:\u003Cbr>\nSSD\u003Cbr>\n└── launch.ps1\u003Cbr>\n└── SteamLibrary\u003Cbr>\nThe contents of `launch.ps1` decide what happens next.\n",2,"2026-07-19 02:30:06","CREATED_QUERY"]