linsplit

Crates.iolinsplit
lib.rslinsplit
version1.1.1
created_at2026-01-10 23:08:05.213484+00
updated_at2026-01-11 21:50:05.443716+00
descriptionAn autosplitter for the game Celeste, working on Linux!
homepagehttps://github.com/Paloys/linsplit
repositoryhttps://github.com/Paloys/linsplit
max_upload_size
id2034883
size94,560
Paloys (Paloys)

documentation

README

LinSplit

A Rust reimplementation of the Celeste AutoSplitter, for Linux.

Installation

You can just install it using cargo, if you've got it installed :

cargo install linsplit

If you don't have cargo installed, you can download binaries from the Releases tab. If/when the projet gets big enough, I might try to upload it to various package managers.

Usage

To use it, just run it using linsplit if it's in your path, or with ./linsplit wherever you put the executable if not. LinSplit will then start listening on a port for a LiveSplit One connection. Once it has connected to LiveSplit One, it'll start searching for either Celeste or Everest (the modded version of Celeste) in the memory.
The way LinSplit detects Vanilla Celeste in by finding a specific object in the memory of the program by parsing your save files for your file timers (if you're not using the game from Steam, you might want to change the location with the -f argument).

Arguments

You can pass arguments to LinSplit to change its behaviour. All arguments can be detailed by running linsplit --help. The only required argument is your splits file (with the -s argument), which is the same file you're using on LiveSplit One, or on LiveSplit if you came from Windows.

Bug reporting / Suggestions

Open an issue ! I'll try to read it as soon as possible. If you're reporting an issue, please provide instructions to recreate it.

Contributing

My Rust isn't very good, I'm almost no longer a beginner but I don't feel really confident. If you have Rust experience and want to help with the structure or anything else, feel free to open an issue or a pull request ! I just have one go-to rule : no AI-generated code.

Credits

Credits are due to the developers of LiveSplit.Celeste from which I took most of the logic used in this program. I also want to thank the developers of LiveSplit (and livesplit-core), as I took a bit of code (the API part) from livesplit-core and because LiveSplit is an amazing software.

Commit count: 30

cargo fmt