- C++ 81.5%
- Python 11%
- CMake 3.5%
- C 2%
- Shell 1.3%
- Other 0.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .claude/skills/sco-community-extractor | ||
| .github | ||
| data | ||
| docs | ||
| examples/sdk-mcp | ||
| external | ||
| images | ||
| launcher | ||
| legacy/loadout | ||
| locales/launcher | ||
| plugins | ||
| src | ||
| tools | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| AGENTS.md | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| CMakeLists.txt | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
| SECURITY.md | ||
| THIRD_PARTY_NOTICES.md | ||
sc-offline
An offline Star Citizen mod, built on sco-core.
sc-offline brings the launcher, offline game session and mod interface together. It is also a reference consumer of the sco-core SDK: a real product built on the same public contracts available to other plugin authors.
Download · Discord · SDK documentation · Changelog · Issues
Warning
Using this mod may breach the Star Citizen EULA and Terms of Service, and it may get your account banned. Use it only offline, never on Cloud Imperium Games' servers. You are responsible for your own account. Before returning online, close the game and check cleanup.
Built with sco-core
The project separates the product, the framework and its extensions:
| Layer | Responsibility |
|---|---|
| sc-offline | The launcher, dinput8.dll bootstrap, configuration and menu shell. It connects the game session to the framework and packages the product. |
| sco-core | The shared runtime: plugin loading, commands, events, services, settings, storage and UI contracts. Its Star Citizen game pack owns the shared game-integration layer. |
| Feature plugins | Independently built modules that use public SDK services rather than depending on the product's private internals. |
This keeps reusable infrastructure in sco-core and product behavior in sc-offline. When a plugin needs a missing capability, the intended path is to add the SDK contract/provider in sco-core, then consume it here—not introduce another private implementation in the plugin.
The migration is ongoing. External plugins already follow this boundary; remaining host-side feature engines and exceptions are documented in the architecture and verification status. This is a reference consumer in development, not a claim that every legacy path has been externalized.
From SDK contract to installed plugin
The development loop follows the sco-core SDK build/check/install guide and its SDK → MCP → plugin tutorial:
- Discover the contract. Read the API catalogue or query sco-core-mcp for service versions, capabilities, ownership and lifecycle requirements before writing a consumer.
- Build against the SDK. Verify a published SDK archive and compile external plugins against its public headers in an isolated build, without product-private include paths.
- Check the module. Use
sco-plugin-checkand focused module fixtures to exercise registration, missing services and cleanup. Synthetic checks are development evidence, not gameplay validation. - Install as a folder. Package the module with its
plugin.iniunderdata/plugins/<id>/, then enable and validate it in the matching Windows host.
The host and plugin builds are separate: this repository builds the Windows host from the source revision pinned in external/sco-core; plugin SDK archives supply the external consumers. sco-core also publishes a separate host-source kit. Host, SDK package, plugin ABI and individual plugin versions are separate coordinates.
For the actual commands and worked examples, start with sc-offline's SDK workflows. For a source build, follow Build.
Quick start
You need your own installed copy of Star Citizen and 64-bit Windows. Linux through Wine is experimental.
- Download
sc-offline-<version>.zipfrom Releases, not GitHub's source-code zip. - Extract it into its own folder and keep the files together. Do not copy the DLL into the game folder yourself.
- Close the game, open
sc-offline.exenormally and click Play. Approve the setup helper's administrator prompt. - Let initialization finish. The launcher holds the game at its first instruction while the mod starts (up to 60 seconds by design), so a pause of roughly 15 seconds before the game window appears is expected. Then M is meant to open the menu in game; opening the menu has not been confirmed in game on a current release (Status).
Use the launcher's Plugins page to manage extensions. Feature availability depends on the release, game build and enabled services; see Features and Status, rather than assuming main and a downloaded release are identical.
What has actually been run
Development startup is unavailable. The native reader and worker exclusion and drain required for safe activation are not yet proven. This draft refuses native startup and installs no startup hook. It is not a playable build.
Read this before relying on any feature description. Only the owner runs the game; a green build, a synthetic check or a resolved signature is never a game result.
- Observed in game (once or twice, startup only): v0.7.8.1 offline startup on two Windows PCs: offline evidence line clear, every offline patch applied, signatures resolved, plugins loaded, the game loading into the universe. Play beyond loading in, the menu and every feature below are not verified in game.
- Checked on a development machine only: the external plugins build against published SDK archives and pass the SDK's plugin checker with no game services. That is a build and contract check, not gameplay.
- Historical Linux report: sc-offline 0.7.0 was reported played offline with game 4.10.193 on one Bazzite/LUG Helper Wine setup. The exact tuple and limits are recorded separately; the current stable SDK 2.4.0 host and plugins have no Wine game run.
- Current pins: the embedded host uses sco-core source
6106fa3639cbcc28f78a1ded8de2707de019f4d3; standalone plugins use the published SDK 2.4.0 stable archive (sdk-v2.4.0,sco-sdk-2.4.0.zip, SHA-2560df4995624e9b094d24e9c5534b1ea7357f517c83a0a8c8ed6ad7d4d475afcbc). The separate host-source kit's digest is recorded for explicit development overrides in SDK coordinates; the default host builds from the gitlink. Plugin ABI 1.1 and the Star Citizen game pack 0.8.0 remain unchanged. In-game acceptance is unverified; native startup remains refused.
Details and the list of owed in-game checks: Status.
Go back online
The launcher records its session changes and arranges cleanup when the game exits. After a crash or power loss, close the game, check Status, and use Uninstall if anything remains. Check again before returning online.
.\sc-offline.exe status
.\sc-offline.exe uninstall
.\sc-offline.exe status
Green means the mod is out of the game folder and the launcher's recorded PC changes are undone. It describes tracked local state, not account safety or unrelated manual changes. Keep the default protections enabled; the launcher guide explains firewall/EAC handling and restoration.
Troubleshooting
Start through sc-offline.exe, and turn NVIDIA Smooth Motion off for Star Citizen if you use an NVIDIA GPU. For a bug report, include the mod version, game build and matching data/launcher.log, data/mod.log and Game.log; review logs for personal information before posting. See launcher guidance or open an issue.
Build success and resolved signatures do not establish gameplay correctness. Outstanding Windows/in-game checks are recorded in Status.
Documentation
| Start here | Covers |
|---|---|
| SDK guide · SDK reference | Public contracts, tools, examples and plugin development |
| SDK workflows · Build | Build, check and install consumers; build the Windows host |
| Architecture · Status | Layer boundaries, migration progress and verification limits |
| Launcher · Linux | Setup, configuration, updates, recovery and experimental Wine support |
| Features · Data files | User-facing capabilities, catalogs and saves |
Offline play is the scope: no connection to CIG servers or online services, no anti-cheat bypass, no telemetry and no account or entitlement changes (see CONTRIBUTING and SECURITY). Optional co-presence lives separately in sc-mp; it and the optional cross-game bridges are excluded from the standard release.
Credits and license
Based on ChrisWareOffline 0.9.0-rc1 by Chris Ware and cloudyyrust. Maintained independently by scubamount, without endorsement from the original authors. Dated modifications: CHANGELOG.md.
sc-offline's own code is GPL-3.0-only (LICENSE); third-party code retains its own licenses (THIRD_PARTY_NOTICES.md). Contributions: CONTRIBUTING.md. Security reports: SECURITY.md.
AI was used in a limited way to make this project.
This project is not affiliated with, endorsed by, or sponsored by Cloud Imperium Games or Roberts Space Industries. Star Citizen is a trademark of Cloud Imperium Games.