An open API service indexing awesome lists of open source software.

https://github.com/ckuma/scplay

Star Citizen Playtime calculator (C# on branch csharp / Python on main)
https://github.com/ckuma/scplay

playtime-tracking sc starcitizen vngd

Last synced: 3 months ago
JSON representation

Star Citizen Playtime calculator (C# on branch csharp / Python on main)

Awesome Lists containing this project

README

          


Star Citizen Playtime Calculator



Calculate your total Star Citizen playtime by analyzing game log files


Download Latest Release




Report Bug
·
Request Feature



Build Status


Latest Release


License

---

## About

Since Star Citizen doesn't expose playtime statistics in-game, SCPlay parses your game log files to compute cumulative play sessions. It automatically detects your Star Citizen installation and calculates total time played across all sessions.

### Key Features

- **Auto-detection** - Finds SC installations on multiple drives (C:, D:, E:, F:)
- **Multi-environment** - Supports LIVE, PTU, EPTU, and TECH-PREVIEW
- **Cross-platform** - Python version runs on Windows, Linux, and macOS
- **Multiple formats** - View playtime as days, hours, minutes, or seconds
- **Session details** - See individual session durations

---

## Quick Start

### Download Pre-built Executable

1. Go to [Releases](https://github.com/ckuma/scplay/releases)
2. Download the appropriate `.zip` for your platform
3. Extract and run

### Available Downloads

| Release | Platform | Description |
|---------|----------|-------------|
| `SCPlaytime-Python-Windows` | Windows | Python executable (.exe) |
| `SCPlaytime-Python-Linux` | Linux | Python executable (binary) |
| `SCPlaytime-CSharp-Windows` | Windows | C# WinForms executable (.exe) |

**Note:** macOS users should run the Python version from source (see Installation below).

### v2.0 Design

Both versions feature a modernized dark UI with Star Citizen-inspired aesthetics:
- Dark navy theme with cyan/green accents
- Grouped panels (Configuration, Processing Log, Results)
- Color-coded log output
- Progress indicators during calculation
- Status bar with colored feedback

---

## Installation

### Python Version

**Requirements:** Python 3.8+

```bash
# Clone the repository
git clone https://github.com/ckuma/scplay.git
cd scplay/python

# Install dependencies
pip install -r requirements.txt

# Run the application
python sc_main.py
```

**Linux/macOS:**
```bash
chmod +x linux_start.sh
./linux_start.sh
```

### C# Version

**Requirements:** .NET Framework 4.8.1, Visual Studio 2022

1. Open `csharp/StarCitizenPlaytimeCalculator.sln`
2. Build the solution (`Ctrl+Shift+B`)
3. Run from `bin/Release/`

---

## Usage

1. **Launch** the application
2. **Select** your Star Citizen environment from the dropdown (auto-detected)
3. **Click** "Calculate" to process log files
4. **View** your total playtime and per-session breakdown
5. **Copy** the result to clipboard if needed

---

## Supported Installation Paths

SCPlay automatically searches for Star Citizen in these locations:

### Windows

```
{DRIVE}:\Program Files\Roberts Space Industries\StarCitizen\{ENV}\logbackups
{DRIVE}:\Roberts Space Industries\StarCitizen\{ENV}\logbackups
```

- **Drives:** C:, D:, E:, F:
- **Environments:** LIVE, PTU, EPTU, TECH-PREVIEW

### Linux

```bash
# Wine
~/.wine/drive_c/Program Files/Roberts Space Industries/StarCitizen/{ENV}/logbackups

# Lutris
~/.local/share/lutris/runners/wine/*/drive_c/Program Files/Roberts Space Industries/StarCitizen/{ENV}/logbackups

# Steam/Proton
~/.steam/steam/steamapps/compatdata/*/pfx/drive_c/Program Files/Roberts Space Industries/StarCitizen/{ENV}/logbackups
```

### macOS

```bash
# CrossOver
~/Library/Application Support/CrossOver/Bottles/{BOTTLE}/drive_c/Program Files/Roberts Space Industries/StarCitizen/{ENV}/logbackups
```

---

## How It Works

SCPlay analyzes Star Citizen log files to calculate playtime:

1. Scans all `*.log` files in the `logbackups` folder
2. Includes the current session's `Game.log`
3. Extracts timestamps using pattern: ``
4. Calculates each session: `last_timestamp - first_timestamp`
5. Sums all sessions for total playtime

### Example

```
<2024-11-19T14:30:00.123Z> [INFO] Client started...
...
<2024-11-19T16:45:30.456Z> [INFO] Client closing...
```

**Session duration:** 2 hours, 15 minutes, 30 seconds

---

## Building from Source

### Python Executable (Windows)

```bash
cd python
pip install pyinstaller
pyinstaller --onefile --windowed --name "SCPlaytime" --add-data "resources;resources" sc_main.py
```

Output: `dist/SCPlaytime.exe`

### C# Release Build

```bash
cd csharp
msbuild StarCitizenPlaytimeCalculator.sln /p:Configuration=Release
```

Output: `bin/Release/StarCitizenPlaytimeCalculator.exe`

---

## CI/CD

This repository uses GitHub Actions to automatically build releases:

- **On tag push** (`v*`) - Creates a GitHub Release with 3 executables (Python Windows, Python Linux, C# Windows)
- **On PR** - Validates builds

To create a new release:

```bash
git tag v4.0
git push origin v4.0
```

---

## Screenshots


SCPlay Screenshot

---

## Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

---

## License

Distributed under the MIT License. See `LICENSE.txt` for more information.

---

## Acknowledgments

- Star Citizen community
- All contributors
- [VNGD](https://vngd.net/)

---


See you in the 'verse! o7