sc-offline: offline single-player mod menu for Star Citizen (based on ChrisWareOffline). Ships, NPCs, build mode, travel, Squadron 42 outfits. Needs EAC off. Fan project.
  • C++ 81.5%
  • Python 11%
  • CMake 3.5%
  • C 2%
  • Shell 1.3%
  • Other 0.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-02 14:20:57 -08:00
.claude/skills/sco-community-extractor Move links to the scuba-sc organization 2026-10-21 17:40:34 -07:00
.github Keep stable host qualification available and required 2026-11-01 20:48:59 +00:00
data Pin offline consumers to stable SDK 2.4.0 2026-11-01 20:14:33 +00:00
docs Keep stable host qualification available and required 2026-11-01 20:48:59 +00:00
examples/sdk-mcp Pin offline consumers to stable SDK 2.4.0 2026-11-01 20:14:33 +00:00
external Pin offline consumers to stable SDK 2.4.0 2026-11-01 20:14:33 +00:00
images Remove the game-screenshot banner, screenshot and social preview images (#129) 2026-10-13 21:47:29 -07:00
launcher Pin offline consumers to stable SDK 2.4.0 2026-11-01 20:14:33 +00:00
legacy/loadout R1 integration on the published SDK 2.2.0 (v0.7.8) (#126) 2026-10-14 13:16:55 -07:00
locales/launcher feat: make launcher localization available by default (#173) 2026-10-26 12:45:20 -07:00
plugins Keep stable consumer traces portable and truthful 2026-11-01 20:18:30 +00:00
src Merge latest main into owned registry consumer 2026-11-01 18:20:49 +00:00
tools test: correct offline workflow expectations (#194) 2026-11-02 14:20:57 -08:00
.gitattributes Build: CMake instead of MSBuild (#55) 2026-10-08 21:04:36 -07:00
.gitignore R1 integration on the published SDK 2.2.0 (v0.7.8) (#126) 2026-10-14 13:16:55 -07:00
.gitmodules Move links to the scuba-sc organization 2026-10-21 17:40:34 -07:00
AGENTS.md Pin SDK 2.4.0 release candidate 2 (#179) 2026-10-28 13:06:07 -07:00
CHANGELOG.md Pin offline consumers to stable SDK 2.4.0 2026-11-01 20:14:33 +00:00
CLAUDE.md docs: add LLM contributor guide and community extractor skill 2026-10-17 15:48:03 -07:00
CMakeLists.txt Pin offline consumers to stable SDK 2.4.0 2026-11-01 20:14:33 +00:00
CONTRIBUTING.md Reconcile contributor rules with the current SDK workflow (#157) 2026-10-25 18:22:39 -07:00
LICENSE Initial commit 2026-10-02 17:29:12 -04:00
README.md Keep stable consumer traces portable and truthful 2026-11-01 20:18:30 +00:00
SECURITY.md Move links to the scuba-sc organization 2026-10-21 17:40:34 -07:00
THIRD_PARTY_NOTICES.md Pin offline consumers to stable SDK 2.4.0 2026-11-01 20:14:33 +00:00

sc-offline

An offline Star Citizen mod, built on sco-core.

Latest release Build License: GPL-3.0-only Discord

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:

  1. Discover the contract. Read the API catalogue or query sco-core-mcp for service versions, capabilities, ownership and lifecycle requirements before writing a consumer.
  2. 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.
  3. Check the module. Use sco-plugin-check and focused module fixtures to exercise registration, missing services and cleanup. Synthetic checks are development evidence, not gameplay validation.
  4. Install as a folder. Package the module with its plugin.ini under data/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.

  1. Download sc-offline-<version>.zip from Releases, not GitHub's source-code zip.
  2. Extract it into its own folder and keep the files together. Do not copy the DLL into the game folder yourself.
  3. Close the game, open sc-offline.exe normally and click Play. Approve the setup helper's administrator prompt.
  4. 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-256 0df4995624e9b094d24e9c5534b1ea7357f517c83a0a8c8ed6ad7d4d475afcbc). 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.