Repository navigation
Releases: pr1tzy/ghostline
Release list
Ghostline 2.3.0
A full dash inside the game, so Ghostline is the only app you need.
- One horizontal dash (Ghostline Dash) with six sections you can switch off one by one: Standings (relative
with live gaps, or the full order), Timing (lap, sectors, last / best / ghost, position, fuel and laps left), Gear- delta (rev bar, gear, speed, ABS / TC / bias / DRS, gap to the best lap or session best, predicted lap), Pedals
(with the best lap's brake and throttle at the same spot, a 4 second trace and steering), Tyres (temperatures
against the tyre's optimum, pressure, wear, brakes) and Map (every car and the ghost).
- delta (rev bar, gear, speed, ABS / TC / bias / DRS, gap to the best lap or session best, predicted lap), Pedals
- In Ghostline's own style and fonts: a solid slab with cut corners and hairlines, violet for you, cyan for the ghost.
- Brake boards stay put: one sign per corner, on the outside, where the best lap braked. The countdown still
comes from your speed. - Racing line like the F1 games': chevrons along the best lap's line, green / yellow / red, full or corners
only. It was invisible before: the 3D world is HDR, and the colours now go through CSP's white point. - The racing line follows your speed like the F1 line: red starts where you'd have to brake at your speed, so
it moves earlier when you're faster. The board stays where the best lap braked. - 3D ghost is your car's shape in see-through cyan (CSP's car mesh), fading out when it's on top of you. New:
a ghost of your own session best, it shows up to 1 km away, and the window says where it is. - Ghost laps with online lag are thrown out. A remote car that lags gets teleported ahead; one such lap was
the Monza "best" (1:16.8, 861 m of jumps) and made the ghost rocket after the chicane and the gap jump by a second.
Such laps aren't kept any more, and ones already stored are removed once at startup. - Other drivers' laps had twice their real lap time since 2.0 (CSP calls the in-game app twice a frame, and its
clock counted both). The app now runs once a frame on the game's own clock; the Standings gaps and the pedal trace
were doubled by the same thing. - Laps take 2.6x less space: stored at the precision they're measured with (existing laps are converted once,
with every comparison unchanged). - Your laps no longer miss their first second. Saving the previous lap held up recording, so 44 of 257 laps
were missing 0.6-1.9 s after the line. Laps are now saved alongside. - Every lap is checked for a bad recording: time, distance from speed, holes, line to line; other drivers' laps
also against the game's own lap time. Other drivers' laps that fail aren't kept; yours are kept as Bad data
and never count as a best. Stored laps are checked again whenever the checks change. - Housekeeping at every start: orphaned lap files, week-old share images and the 1.x app's lap logs (76 MB on
one install) go, the log stays under 1 MB, and a file that can't be read is moved aside instead of being retried
every 2 seconds. - Lap ids are never reused, so a share link can't end up showing a different lap after pruning.
- The site tells the story: a new Story page (how Ghostline started, what it has become and what's next), the
home page shows the coaching in the game, and fresh screenshots in the README. On phones the footer links no
longer run off the screen, long driver names shorten instead of pushing the times out, and a stray corner of the
hidden notice at the bottom left is gone. - Easier to find the ghost: a cyan marker above it, drawn from both sides, and where it is on the dash map.
- More on the dash: race flags (bar along the top), pit limiter, tyre compound, damage, and fuel left at the
flag in races. - Compare no longer fails on laps where a chicane's two halves were merged into one corner, and the ideal-lap
compare says "no laps of yours yet" instead of failing for cars you haven't driven.
Install: download GhostlineSetup.exe below and run it; your laps and settings stay. The story behind Ghostline: https://github.com/pr1tzy/ghostline#the-story
🛡 VirusTotal GitHub Action analysis:
Ghostline 2.2.0
Changelog
2.2.0
Coaching on the track, inside the game (needs Custom Shaders Patch), from the best lap for your car.
- Brake boards where that lap braked, moved for the speed you're carrying, with the gear and the corner's
slowest speed above them. - Tick-tick-brake countdown, timed to within half a frame, so you brake on the beat instead of reacting late.
- Racing line ahead of you that turns yellow and red where you need to slow down, also following your speed.
- 3D ghost of that lap: the car's own model, see-through, with your gap above it.
- All of it is drawn only on your screen (online too), costs about 0.03 ms per frame, and can be switched off in the
Ghostline Logger window. Details in docs/advanced.md, "In-game coaching".
2.1.0
Ghostline now installs like a normal Windows app.
- GhostlineSetup.exe: about 25 MB, installs for your user only (no admin prompt), Start Menu entry, uninstall
from Windows Settings (removes the in-game apps too, and asks whether to keep your laps). Laps and settings live
in%LOCALAPPDATA%\Ghostline, so updates never touch them. A portable zip is there too. - Starts with the game, not with Windows. If you choose it in the installer, the in-game app starts Ghostline when
you start a session, and Ghostline closes a few minutes after the game. Nothing is added to Windows startup. - Tray icon while it runs: open the site, turn start-with-the-game on or off, quit.
- Update notice, if you tick it in the installer: once a day Ghostline asks GitHub whether a newer version exists (change it on the References
page). - Lighter: scipy replaced by a few lines of numpy (identical results), and the real-world F1 import now uses the
free OpenF1 API (seasons from 2023) instead of FastF1. The install went from about 390 MB of packages to about 80 MB. - Release builds are made by GitHub from the tagged source, checked by actually starting the built app, with
checksums and a build-provenance record. Code signing switches on once the free open-source signing is approved.
2.0.0
The in-game side was rebuilt to cost almost nothing inside Assetto Corsa.
- Shared memory instead of files. The in-game app now only copies every car's position, speed and lap times
into shared memory. Ghostline does lap detection, ghost laps, standings and gaps outside the game. No disk access,
no text and no lap logic inside the game's frame loop. - CSP version. With Custom Shaders Patch, a Lua version of the app (Ghostline Logger) runs instead of the Python
one. It's even lighter, and passes on the game's own verdict on every lap (valid, number of cuts), which Ghostline
now uses for other drivers' laps. The Python app stands down by itself while it runs. - Idle when not needed. The apps do nothing while Ghostline isn't running, and send full detail only for cars
that can be your ghost (your car or class by default). - Settings. Sample rate, lap-time rate, Live page rate, which cars get full detail, and on/off, in
config/logger.jsonor in the CSP app's window. - Smoother Live page. Faster updates (30 car samples and 20 page updates a second by default), and the map moves
every frame instead of jumping between updates. - Per-frame cost shown in the in-game app's window.
- Why a lap doesn't count. Your invalid laps show the reason ("cut at Rettifilo"), and Compare says when a faster
lap of yours was cut. "Places it still beats you" when you're quicker than the reference. - Get it page on the site with a direct download and three install steps.
- Requires Python 3.12 or newer (set up automatically by
start.bat).
1.0.1
- Python 3.12 or newer; updated packages.
start.batreinstalls packages after an update.
1.0.0
- First public release: auto-recorded laps, ghosts of the fastest drivers on your server, corner-by-corner debrief,
live second-monitor dash, stats, sample laps, official cars and tracks only.
🛡 VirusTotal GitHub Action analysis:
Ghostline 2.1
Install: download GhostlineSetup.exe below and run it. Installs for your user only (no admin), about 25 MB. Windows 10/11, Assetto Corsa on Steam.
Windows protected your PC? Ghostline is not code-signed yet: click More info > Run anyway. Check the download against SHA256SUMS.txt, and see the build provenance under Actions.
Ghostline now installs like a normal Windows app.
- GhostlineSetup.exe: about 25 MB, installs for your user only (no admin prompt), Start Menu entry, uninstall
from Windows Settings (removes the in-game apps too, and asks whether to keep your laps). Laps and settings live
in%LOCALAPPDATA%\Ghostline, so updates never touch them. A portable zip is there too. - Starts with the game, not with Windows. If you choose it in the installer, the in-game app starts Ghostline when
you start a session, and Ghostline closes a few minutes after the game. Nothing is added to Windows startup. - Tray icon while it runs: open the site, turn start-with-the-game on or off, quit.
- Update notice, if you tick it in the installer: once a day Ghostline asks GitHub whether a newer version exists (change it on the References
page). - Lighter: scipy replaced by a few lines of numpy (identical results), and the real-world F1 import now uses the
free OpenF1 API (seasons from 2023) instead of FastF1. The install went from about 390 MB of packages to about 80 MB. - Release builds are made by GitHub from the tagged source, checked by actually starting the built app, with
checksums and a build-provenance record. Code signing switches on once the free open-source signing is approved.
Updating from 2.0 or a source install: your laps stay where they were (the repo data folder); copy that folder to %LOCALAPPDATA%\Ghostline\data to use them in the installed app.
Code signing policy · Privacy · Free code signing provided by SignPath.io, certificate by SignPath Foundation (pending approval)
VirusTotal scan of GhostlineSetup.exe: https://www.virustotal.com/gui/file-analysis/NWJhZTQ3Yjk4YzAzYWRmZjdmMDBjNmM3ODUwODA5NGY6MTc5MTQyNjg0MA==/detection
Ghostline 2.0
Install: download Ghostline.zip below, unzip it anywhere, and double-click start.bat. Windows 10/11, Assetto Corsa on Steam. Updating from 1.x: copy your data folder into the new version.
The in-game side was rebuilt to cost almost nothing inside Assetto Corsa.
- Shared memory instead of files. The in-game app now only copies every car's position, speed and lap times
into shared memory. Ghostline does lap detection, ghost laps, standings and gaps outside the game. No disk access,
no text and no lap logic inside the game's frame loop. - CSP version. With Custom Shaders Patch, a Lua version of the app (Ghostline Logger) runs instead of the Python
one. It's even lighter, and passes on the game's own verdict on every lap (valid, number of cuts), which Ghostline
now uses for other drivers' laps. The Python app stands down by itself while it runs. - Idle when not needed. The apps do nothing while Ghostline isn't running, and send full detail only for cars
that can be your ghost (your car or class by default). - Settings. Sample rate, lap-time rate, Live page rate, which cars get full detail, and on/off, in
config/logger.jsonor in the CSP app's window. - Smoother Live page. Faster updates (30 car samples and 20 page updates a second by default), and the map moves
every frame instead of jumping between updates. - Per-frame cost shown in the in-game app's window.
- Why a lap doesn't count. Your invalid laps show the reason ("cut at Rettifilo"), and Compare says when a faster
lap of yours was cut. "Places it still beats you" when you're quicker than the reference. - Get it page on the site with a direct download and three install steps.
- Requires Python 3.12 or newer (set up automatically by
start.bat).
Ghostline 1.0.1
Install: download Ghostline.zip below, unzip it anywhere, and double-click start.bat. The first start sets everything up, and offers to install Python if you don't have it. Needs Windows 10/11 and Assetto Corsa from Steam.
Changes since 1.0.0
- Needs Python 3.12 or newer. If yours is older or missing,
start.batoffers to install 3.12 for you. - Updated packages (numpy, scipy, pydantic, msgpack).
- Updating is easier: drop a new version in, copy your
datafolder over, andstart.batinstalls whatever changed by itself.
Questions or problems: open an issue with the end of data/ghostline.log.
Ghostline 1.0
First public release.
Install: download Source code (zip) below, unzip it anywhere, and double-click start.bat. The first start sets everything up (and offers to install Python if you don't have it). Windows 10/11 and Assetto Corsa from Steam.
What's in it
- Your laps recorded automatically from the game at 60 Hz
- Ghosts of the three fastest drivers on your server, with cut laps thrown out
- Corner-by-corner debrief with plain advice, charts and a gain/loss track map
- Live dash for a second monitor: deltas, sectors, corner feedback, standings, tyres, fuel
- Stats: ghost leaderboard, ideal lap, progress
- Every official car and track, with corner names read from the game
- Sample laps for Monza and Spa, so there's something to look at before your first drive
Questions or problems: open an issue with the end of data/ghostline.log.