LiveSplit ist ein Timer-Programm für Speedrunner, das sowohl einfach zu bedienen als auch voller Funktionen ist.
Speedrun.com-Integration: Speedrun.com ist vollständig in LiveSplit integriert. Sie können ihre Bestenlisten durchsuchen, Splits herunterladen und sogar Ihre eigenen Läufe direkt von LiveSplit aus einreichen. Sie können auch die Weltrekorde für die Spiele anzeigen, die Sie mit der Weltrekordkomponente durchführen.
Genaues Timing: LiveSplit synchronisiert sich automatisch über das Internet mit einer Atomuhr, um Ungenauigkeiten des lokalen Timers im PC abzuschätzen. Der Timer von LiveSplit passt den lokalen Timer automatisch an, um diese Ungenauigkeiten zu beheben.
Spielzeit und automatische Aufteilung: LiveSplit erkennt automatisch, ob Spielzeit und/oder automatische Aufteilung für ein Spiel verfügbar sind, und ermöglicht Ihnen die Aktivierung im Splits-Editor. Die Spielzeit wird automatisch direkt aus einem Emulator oder PC-Spiel gelesen und Sie können sie verwenden, indem Sie unter „Vergleichen mit“ zur Spielzeit wechseln.
Videokomponente: Mit der Videokomponente können Sie neben Ihrem Lauf ein Video aus einer lokalen Datei abspielen. Das Video startet, wenn Sie Ihren Lauf starten, und stoppt, wenn Sie es zurücksetzen. Sie können auch festlegen, an welcher Stelle das Video beginnen soll.
Rennen: In LiveSplit können Sie Rennen auf SpeedRunsLive oder racetime.gg innerhalb von LiveSplit selbst starten und daran teilnehmen. Der Timer startet automatisch, wenn das Rennen beginnt, und schreibt automatisch .done
, wenn Sie das Rennen beenden. Außerdem haben Sie die Möglichkeit, Ihren aktuellen Lauf mit den anderen Läufern während des Rennens zu vergleichen, sofern diese ebenfalls LiveSplit verwenden.
Vergleiche: In LiveSplit können Sie dynamisch zwischen mehreren Vergleichen wechseln, sogar mitten im Lauf. Sie können Ihren Lauf entweder mit Vergleichen vergleichen, die Sie selbst definieren, oder ihn mit mehreren automatisch generierten Vergleichen vergleichen, wie z. B. Ihrer Summe der besten Segmente oder Ihrem durchschnittlichen Lauf. Während des Rennens auf SpeedRunsLive werden auch automatisch Vergleiche für die anderen Läufer erstellt.
Layoutsystem: Benutzer können mithilfe von Layouts jeden Teil des Erscheinungsbilds von LiveSplit ändern. Jeder Benutzer hat die Möglichkeit, Teile hinzuzufügen oder zu entfernen sowie jeden Teil von LiveSplit neu anzuordnen und anzupassen. Sie können sogar Ihre eigenen Hintergrundbilder verwenden.
Dynamische Größenänderung: Die Größe von LiveSplit kann auf jede beliebige Größe geändert werden, sodass es im Stream gut aussieht. Wenn sich die Größe von LiveSplit ändert, werden alle Teile automatisch vergrößert, um das Erscheinungsbild beizubehalten.
Läufe teilen: Jeder Lauf kann auf Speedrun.com und X (Twitter) geteilt werden. Splits können auch über Splits I/O verteilt und von einer URL importiert werden. Sie können auch einen Screenshot Ihrer Splits mit Imgur teilen oder ihn als Datei speichern. Ihr Twitch-Titel kann auch basierend auf dem Spiel, das Sie spielen, aktualisiert werden.
Komponentenentwicklung: Jeder kann seine eigenen Komponenten entwickeln, die problemlos mit LiveSplit geteilt und verwendet werden können. Weitere herunterladbare Komponenten finden Sie im Abschnitt „Komponenten“.
Wir brauchen Ihre Hilfe!
Sie können die Probleme durchsuchen, um gute Probleme zu finden, mit denen Sie beginnen können. Wählen Sie eine aus, die noch nicht erledigt ist oder in Bearbeitung ist, weisen Sie sich selbst zu und ziehen Sie sie auf „In Bearbeitung“.
Forken Sie das Projekt
Klonen Sie Ihr geforktes Repo: git clone --recursive https://github.com/YourUsername/LiveSplit.git
Erstellen Sie Ihren Feature-/Bugfix-Zweig: git checkout -b new-feature
Übernehmen Sie Ihre Änderungen in Ihren neuen Zweig: git commit -am 'Add a new feature'
Zum Zweig pushen: git push origin new-feature
Erstellen Sie eine neue Pull-Anfrage!
LiveSplit verwendet .NET Framework 4.8.1. Zum Kompilieren von LiveSplit müssen die folgenden Komponenten installiert sein:
.NET 8.0 SDK
.NET Framework 4.8.1 Entwicklerpaket
Führen Sie nach dem Klonen einfach dotnet build LiveSplit.sln
im Stammverzeichnis des Repositorys aus.
Um Visual Studio verwenden zu können, müssen Sie eine Version installieren, die die von Ihnen installierte .NET SDK-Version unterstützt. Zum Zeitpunkt des Schreibens ist die aktuellste Version Visual Studio 2022.
Beim Forken/Klonen des Repos wurden keine Submodule eingezogen, was dazu führt, dass das Projekt nicht erstellt wird. Es gibt zwei Möglichkeiten, hier Abhilfe zu schaffen:
Zum ersten Mal klonen: git clone --recursive https://github.com/LiveSplit/LiveSplit.git
Wenn bereits geklont, führen Sie dies im Stammverzeichnis aus: git submodule update --init --recursive
Die Dokumentation zum Entwickeln, Testen und Einreichen eines Auto-Splitters finden Sie hier:
Dokumentation zu Auto-Splittern
Der interne LiveSplit-Server ermöglicht es anderen Programmen und anderen Computern, LiveSplit zu steuern. Der Server kann Verbindungen entweder über eine benannte Pipe unter <hostname>pipeLiveSplit
( .
ist der Hostname, wenn sich Client und Server auf demselben Computer befinden), unformatiertes TCP/IP oder einen WebSocket (WS)-Server unter ws://<hostname>:port/livesplit
akzeptieren ws://<hostname>:port/livesplit
.
Die Named Pipe ist immer geöffnet, während LiveSplit ausgeführt wird, aber die TCP- und WS-Server MÜSSEN gestartet werden, bevor Programme mit ihnen kommunizieren können (Rechtsklick auf LiveSplit -> Steuerung -> TCP/WS-Server starten). Sie MÜSSEN jedes Mal, wenn Sie LiveSplit starten, die Version, die Sie verwenden möchten, manuell starten. Die TCP- und WS-Server können nicht gleichzeitig ausgeführt werden, da der WS-Server auf TCP/IP ausgeführt wird.
Der Server-Port ist die Tür (eine von Tausenden) auf Ihrem Computer, durch die dieses Programm Daten sendet. Der Standardwert ist 16834. Dies sollte für die meisten Benutzer in Ordnung sein, aber je nach Netzwerkkonfiguration können einige Ports blockiert sein. Siehe auch https://en.wikipedia.org/wiki/Port_%28computer_networking%29.
Android LiveSplit Remote : https://github.com/Ekelbatzen/LiveSplit.Remote.Android
SplitNotes : https://github.com/joelnir/SplitNotes
Autosplitter-Remote-Client : https://github.com/RavenX8/LiveSplit.Server.Client
Etwas Cooles gemacht? Erwägen Sie, es zu dieser Liste hinzuzufügen.
Befehle unterscheiden zwischen Groß- und Kleinschreibung und enden mit einer neuen Zeile. Sie können Parameter bereitstellen, indem Sie nach dem Befehl ein Leerzeichen verwenden und die Parameter anschließend senden ( <command><space><parameters><newline>
).
Einige Befehle antworten mit Daten, andere nicht. Jede Antwort endet mit einem Newline-Zeichen. Beachten Sie, dass der WS-Server über ein Nachrichtenkonzept verfügt und über ihn gesendete Befehle und Antworten nicht mit Zeilenumbruchzeichen enden.
Alle vom Server zurückgegebenen Zeiten und Deltas werden gemäß dem Constant Format Specifier von C# formatiert. Der Server akzeptiert Zeiten im folgenden Format: [-][[[d.]hh:]mm:]ss[.fffffff]
. Das Stundenfeld kann größer als 23 sein, auch wenn Tage vorhanden sind. Einzelne Felder müssen nicht mit Nullen aufgefüllt werden. Jeder Befehl, der eine Zeit oder eine Zeichenfolge zurückgibt, kann einen einzelnen Bindestrich zurückgeben -
um einen „Null“- oder ungültigen Wert anzuzeigen. Befehle, die einen COMPARISON oder einen NAME annehmen, benötigen einfache Zeichenfolgen, die Leerzeichen enthalten können. Da es als Trennzeichen zum Markieren des Endes eines Befehls verwendet wird, dürfen Zeilenumbruchzeichen an keiner Stelle innerhalb eines Befehls vorkommen.
Befehle, die keine Antwort erzeugen:
startorsplit
Teilt
ungeteilt
Skipsplit
Pause
wieder aufnehmen
zurücksetzen
Starttimer
setgametime TIME
setloadingtimes TIME
Ladezeiten hinzufügen ZEIT
Spielzeit pausieren
unpausegametime
Spielzeit immer pausieren
setcomparison VERGLEICH
auf Echtzeit umschalten
Zur Spielzeit wechseln
setsplitname INDEXNAME
setcurrentsplitname NAME
Befehle, die eine Zeit zurückgeben:
getdelta
getdelta-VERGLEICH
getlastsplittime
getcomparisonsplittime
getcurrentrealtime
Holen Sie sich die aktuelle Spielzeit
aktuelle Zeit abrufen
getfinaltime
getfinaltime VERGLEICH
getpredictedtime VERGLEICH
Holen Sie sich die bestmögliche Zeit
Befehle, die ein int zurückgeben:
getsplitindex
(gibt -1 zurück, wenn der Timer nicht läuft)
Befehle, die eine Zeichenfolge zurückgeben:
getcurrentsplitname
get previoussplitname
getcurrenttimerphase
Klingeln
(gibt immer pong
zurück)
Befehle werden bei ProcessMessage
in „CommandServer.cs“ definiert.
import sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect(("localhost", 16834))s.send(b"starttimern")
import java.io.IOException;import java.io.PrintWriter;import java.net.Socket;public class MainTest {public static void main(String[] args) throws IOException {Socket socket = new Socket("localhost", 16834) ;PrintWriter-Writer = neu PrintWriter(socket.getOutputStream());writer.println("starttimer");writer.flush();socket.close(); } }
Software, die Lua implementiert, kann als Client verwendet werden. Allerdings muss die Lua-IO-Bibliothek verfügbar sein, damit das Skript verwendet werden kann. Die vollständige Dokumentation finden Sie hier.
require "io"self.LSEndpoint = "\.pipeLiveSplit" --Localhost LiveSplit pipe.self.LSPipe = io.open(self.LSEndpoint, "w") --Öffnen/starten Sie die Pipe. Nach jedem Befehl ist eine Spülung erforderlich.self.LSPipe:write "starttimern"self.LSPipe:flush()self.LSPipe:close() – Dies kann bei Bedarf offen gelassen werden.
Die Node.js-Client-Implementierung ist hier verfügbar: https://github.com/satanch/node-livesplit-client
Aktualisieren Sie die Versionen aller geänderten Komponenten (erstellen Sie ein Git-Tag und aktualisieren Sie die Factory-Datei für jede Komponente), damit sie mit der neuen LiveSplit-Version übereinstimmen.
Erstellen Sie ein Git-Tag für die neue Version.
Laden Sie LiveSplit_Build
und UpdateManagerExe
vom GitHub Actions-Build für das neue Git-Tag herunter.
Erstellen Sie eine GitHub-Version für die neue Version und laden Sie die LiveSplit-Build-ZIP-Datei mit dem richtigen Dateinamen hoch (z. B. LiveSplit_1.8.21.zip
).
Ändern Sie die Dateien im Update-Ordner von LiveSplit.github.io und übernehmen Sie die Änderungen:
Kopieren Sie geänderte Dateien aus der heruntergeladenen LiveSplit-Build-ZIP-Datei in den Update-Ordner.
Kopieren Sie geänderte Dateien aus der heruntergeladenen Update Manager-ZIP-Datei, um UpdateManagerV2.exe
und UpdateManagerV2.exe.config
zu ersetzen.
Fügen Sie den Update-XMLs für ( update.xml
, update.updater.xml
und den Update-XMLs für alle geänderten Komponenten) neue Versionen hinzu.
Ändern Sie die DLL und aktualisieren Sie XML für LiveSplit.TheRun in seinem Repo.
Aktualisieren Sie die Version auf der Download-Seite.
Die MIT-Lizenz (MIT)
Copyright (c) 2013 Christopher Serr und Sergey Papushin
Hiermit wird jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die „Software“) erhält, kostenlos die Erlaubnis erteilt, mit der Software ohne Einschränkung zu handeln, einschließlich und ohne Einschränkung der Rechte zur Nutzung, zum Kopieren, Ändern und Zusammenführen , Kopien der Software zu veröffentlichen, zu verteilen, unterzulizenzieren und/oder zu verkaufen und Personen, denen die Software zur Verfügung gestellt wird, dies zu gestatten, vorbehaltlich der folgenden Bedingungen:
Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.
DIE SOFTWARE WIRD „WIE BESEHEN“ ZUR VERFÜGUNG GESTELLT, OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG. IN KEINEM FALL SIND DIE AUTOREN ODER COPYRIGHT-INHABER HAFTBAR FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE HAFTUNG, WEDER AUS EINER VERTRAGLICHEN HANDLUNG, AUS HANDLUNG ODER ANDERWEITIG, DIE SICH AUS, AUS ODER IN VERBINDUNG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN HANDELN IN DER SOFTWARE ERGEBEN SOFTWARE.