Copper Steam Idle Master
A modern desktop utility (Windows) for managing Steam game idle sessions, built with Qt 6 and C++20.
Designed around a warm Copper visual theme, it provides a clean, focused interface for queuing games, tracking idle time, and reviewing statistics — all stored locally on your machine.
Notice: This tool helps you queue and manage your own Steam games for idle time. It can optionally sign you into Steam community mode (ArchiSteamFarm-style) so you can log in from the app. Credentials are stored locally only and are transmitted only to Steam's official
api.steampowered.comover HTTPS. Use it in accordance with the Steam Subscriber Agreement.
- Dashboard — current game, elapsed time, status, and quick controls (Start / Pause / Resume / Stop / Skip / Refresh).
- Games — searchable, sortable, filterable queue table with multi-select actions and per-game status.
- Add Game (by Steam App ID) to populate your queue from within the UI.
- Accounts — manage multiple Steam accounts and log in ASF-style (account name + password, with
Steam Guard / 2FA and optional mobile-auth
shared_secretfor automatic codes). Login state and errors are shown per account. - Statistics — idle time totals, session counts, games, cards, average session, and a custom-rendered chart (Qt Charts is optional).
- Activity — live log stream with level filtering, search, export, copy, and auto-scroll.
- Settings — General, Idling, Notifications, Appearance (Dark / Light / Copper themes + accent intensity), Logging, and Privacy.
- System tray — status tooltip, Resume / Pause / Stop, double-click to open Dashboard, close-to-tray behavior.
- Notifications — tray balloon notifications for session completion, queue completion, and connection loss (per-type toggles).
- Portable mode — run fully from a folder with no registry writes when a
portablemarker file is present. - Local-first & private — no telemetry, no tracking, no analytics. See PRIVACY.md.
- Windows 10 / 11 (64-bit).
- Qt 6.4+ (tested with 6.11.2, MinGW 64-bit).
- CMake >= 3.24, Ninja, and a C++20 compiler (MinGW g++ or MSVC).
- Optional: Qt Charts module (falls back to custom rendering).
The repository ships build.bat / build.ps1 which handle MinGW + Ninja discovery,
Qt detection, and (importantly) the space-free junction workaround for paths containing
spaces (like this project's own folder).
# Release build into ./build
.\build.ps1
# Clean build
.\build.ps1 -Clean
# Debug build
.\build.ps1 -Config Debug
# Build + run tests (CTest)
.\build.ps1 -Test
# Build + copy a deployable Qt runtime into ./dist (windeployqt)
.\build.ps1 -Deploy
# Or the thin .bat wrapper
build.bat release clean
build.bat debugcmake -S . -B build -G Ninja `
-D CMAKE_BUILD_TYPE=Release `
-D CMAKE_CXX_COMPILER="C:\Qt\Tools\mingw1310_64\bin\g++.exe" `
-D CMAKE_PREFIX_PATH="C:\Qt\6.11.2\mingw_64"
cmake --build build --config Release
ctest --test-dir build --output-on-failureNote: The project lives under a MEGA-synced folder whose name contains spaces. MinGW
windrescan split-Ddefinitions containing spaces.build.ps1configures and builds through a space-free junction under the system temp directory to avoid this, then copies the output to./dist. If building manually from a space-free path, no workaround is needed.
The install tree (see CMakeLists.txt) deploys the executable, the app icon,
and the required Qt DLLs (via windeployqt). A full release package contains:
CopperSteamIdleMaster/
├── CopperSteamIdleMaster.exe (icon = app.ico)
├── Qt6*.dll
├── platforms/
├── styles/
├── resources/
├── README.txt
├── LICENSE.txt
└── PRIVACY.txt
To produce a ready-to-distribute package, run the packaging script:
.\package.ps1 # build + windeployqt + portable ZIP into ./release
.\package.ps1 -MakeInstaller # also build the .exe installer (requires NSIS)package.ps1 builds, deploys the Qt runtime next to the executable, stages a
clean folder under release\CopperSteamIdleMaster-<version>-portable\ (including
README.txt, LICENSE.txt, PRIVACY.txt, app.ico, and a portable.ini
marker so the package runs standalone), and compresses it into
CopperSteamIdleMaster-<version>-portable.zip. When makensis is available on
PATH, it also compiles packaging/installer.nsi into a Windows installer.
Place a file named portable (or portable.ini) next to CopperSteamIdleMaster.exe
to enable portable mode. All data paths redirect to folders beside the executable:
CopperSteamIdleMaster\
├── CopperSteamIdleMaster.exe
├── portable <- marker
├── config\
├── logs\
├── statistics\
└── cache\
Without the marker, data lives under %APPDATA%\CopperSteamIdleMaster\.
All data is stored locally:
- Configuration:
config.json - Statistics:
statistics.json - Queue:
queue.json - Logs:
copper_YYYYMMDD.txt - Accounts:
accounts.json
The application never transmits or stores:
- Access tokens (kept in memory for the current session only)
- Browsing or usage analytics
Steam account credentials (password, optional mobile secret) are stored locally in
accounts.json (like ArchiSteamFarm) so the app can log in for you; they are only ever
sent to Steam's official api.steampowered.com login endpoints over TLS. The refresh
token and an ASF-style steamLoginSecure web session cookie are also persisted so a
future launch can restore your Steam session silently (one-time login, stay logged in).
Short-lived access tokens stay in memory and are never written to disk.
No telemetry, tracking, or advertising SDKs are included. See PRIVACY.md.
- Login uses Steam's community/Web API flow. Steam may occasionally require a CAPTCHA that cannot be solved automatically (you will be asked to retry later).
- Cards/drop information may not be detectable for all games.
- Steam sleeping card farming is subject to the Steam Subscriber Agreement; use at your own discretion.
- App won't start / DLL errors — ensure Qt runtime DLLs are deployed (
build.ps1 -Deploy) or that Qt'sbindirectory is onPATH. - Tests fail to launch — the test executables need Qt's
binonPATH. Run:$env:Path = "C:\Qt\6.11.2\mingw_64\bin;$env:Path" ctest --test-dir build --output-on-failure
- Windows Application Control blocks the test executables — this is an OS policy on the machine, not a test failure. The main executable is unaffected once deployed.
Licensed under the MIT License. See LICENSE.
Steam is a trademark of Valve Corporation. Copper Steam Idle Master is an independent project and is not affiliated with, endorsed by, or sponsored by Valve Corporation.

