LiveSplit — это программа-таймер для спидраннеров, которая проста в использовании и полна функций.
Интеграция Speedrun.com: Speedrun.com полностью интегрирован в LiveSplit. Вы можете просматривать их таблицы лидеров, загружать сплиты и даже отправлять свои собственные результаты прямо из LiveSplit. Вы также можете показать мировые рекорды в играх, которые вы запускаете, с помощью компонента мировых рекордов.
Точное время: LiveSplit автоматически синхронизируется с атомными часами через Интернет, чтобы оценить неточности локального таймера на ПК. Таймер LiveSplit автоматически настраивает локальный таймер, чтобы исправить эти неточности.
Игровое время и автоматическое разделение: LiveSplit автоматически определит, доступно ли для игры игровое время и/или автоматическое разделение, и позволит вам активировать его в редакторе сплитов. Игровое время автоматически считывается непосредственно из эмулятора или компьютерной игры, и вы можете использовать его, переключившись на «Игровое время» в разделе «Сравнить».
Видеокомпонент: с помощью видеокомпонента вы можете воспроизводить видео из локального файла во время пробежки. Видео начнется, когда вы начнете пробежку, и остановится, когда вы выполните перезагрузку. Вы также можете указать, с какого момента должно начинаться видео.
Гонки: в LiveSplit вы можете начинать гонки и присоединяться к ним на SpeedRunsLive или Racetime.gg непосредственно в LiveSplit. Таймер автоматически запускается, когда начинается гонка, и автоматически записывает .done
, когда вы завершаете гонку. Кроме того, вы можете сравнить свой текущий результат с результатами других бегунов во время забега, если они также используют LiveSplit.
Сравнения. В LiveSplit вы можете динамически переключаться между несколькими сравнениями, даже в середине выполнения. Вы можете сравнить свой прогон со сравнениями, которые вы определяете сами, или сравнить его с несколькими автоматически созданными сравнениями, такими как сумма лучших сегментов или средний пробег. Во время гонок на SpeedRunsLive автоматически создаются сравнения с другими бегунами.
Система макетов: пользователи могут изменять каждую часть внешнего вида LiveSplit с помощью макетов. Каждый пользователь имеет возможность добавлять или удалять части, а также изменять порядок и настраивать каждую часть LiveSplit. Вы даже можете использовать свои собственные фоновые изображения.
Динамическое изменение размера: размер LiveSplit можно изменить до любого размера, чтобы он хорошо выглядел в потоковом режиме. При изменении размера LiveSplit все его части автоматически масштабируются, чтобы сохранить внешний вид.
Публикация забегов: любой забег можно опубликовать на Speedrun.com и X (Twitter). Разделения также можно распространять с помощью разделения ввода-вывода и импортировать из URL-адреса. Вы также можете поделиться снимком экрана вашего разделения в Imgur или сохранить его в виде файла. Ваш заголовок Twitch также может быть обновлен в зависимости от игры, в которую вы играете.
Разработка компонентов. Любой может разрабатывать свои собственные компоненты, которыми можно легко делиться и использовать их с помощью LiveSplit. Дополнительные загружаемые компоненты можно найти в разделе «Компоненты».
Нам нужна ваша помощь!
Вы можете просмотреть Проблемы, чтобы найти подходящие проблемы, с которых можно начать. Выберите тот, который еще не выполнен или находится в стадии выполнения, назначьте себя и перетащите его в раздел «В процессе».
Форкнуть проект
Клонируйте свой раздвоенный репозиторий: git clone --recursive https://github.com/YourUsername/LiveSplit.git
Создайте ветку своей функции/исправления ошибок: git checkout -b new-feature
Зафиксируйте изменения в новой ветке: git commit -am 'Add a new feature'
Нажмите на ветку: git push origin new-feature
Создайте новый запрос на включение!
LiveSplit использует .NET Framework 4.8.1. Для компиляции LiveSplit вам необходимо установить следующие компоненты:
.NET 8.0 SDK
Пакет разработчика .NET Framework 4.8.1
После клонирования просто запустите dotnet build LiveSplit.sln
из корня репозитория.
Чтобы использовать Visual Studio, необходимо установить версию, поддерживающую установленную версию .NET SDK. На момент написания последней версией является Visual Studio 2022.
При разветвлении/клонировании репо не добавляются подмодули, из-за чего проект не собирается. Есть два способа исправить это:
Клонирование в первый раз: git clone --recursive https://github.com/LiveSplit/LiveSplit.git
Если уже клонировано, выполните это в корневом каталоге: git submodule update --init --recursive
Документацию по разработке, тестированию и отправке Auto Splitter можно найти здесь:
Документация по автосплиттерам
Внутренний сервер LiveSplit позволяет другим программам и другим компьютерам управлять LiveSplit. Сервер может принимать соединения либо через именованный канал, расположенный по адресу <hostname>pipeLiveSplit
( .
— имя хоста, если клиент и сервер находятся на одном компьютере), по необработанному TCP/IP или через сервер WebSocket (WS), расположенный по адресу ws://<hostname>:port/livesplit
.
Именованный канал всегда открыт, пока работает LiveSplit, но серверы TCP и WS ДОЛЖНЫ быть запущены, прежде чем программы смогут с ними общаться (щелкните правой кнопкой мыши LiveSplit -> Управление -> Запустить сервер TCP/WS). Вы ДОЛЖНЫ вручную запускать тот, который хотите использовать, каждый раз при запуске LiveSplit. Серверы TCP и WS не могут работать одновременно, поскольку сервер WS работает поверх TCP/IP.
Порт сервера — это дверь (одна из тысяч) на вашем компьютере, через которую эта программа отправляет данные. По умолчанию — 16834. Этого вполне достаточно для большинства людей, но в зависимости от конфигурации сети некоторые порты могут быть заблокированы. См. также 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 : https://github.com/RavenX8/LiveSplit.Server.Client
Сделал что-то крутое? Подумайте о том, чтобы добавить его в этот список.
Команды чувствительны к регистру и заканчиваются новой строкой. Вы можете указать параметры, используя пробел после команды и отправляя параметры после нее ( <command><space><parameters><newline>
).
Некоторые команды отвечают данными, а некоторые нет. Каждый ответ заканчивается символом новой строки. Обратите внимание: поскольку у WS-сервера есть концепция сообщений, команды и ответы, отправляемые через него, не заканчиваются символами новой строки.
Все значения времени и разницы, возвращаемые сервером, форматируются в соответствии со спецификатором формата констант C#. Сервер будет принимать время в следующем формате: [-][[[d.]hh:]mm:]ss[.fffffff]
. Поле часов может быть больше 23, даже если присутствуют дни. Отдельные поля не нужно дополнять нулями. Любая команда, возвращающая время или строку, может возвращать один дефис -
обозначающий «нулевое» или недопустимое значение. Команды, принимающие СРАВНЕНИЕ или ИМЯ, принимают простые строки, которые могут содержать пробелы. Поскольку он используется в качестве разделителя для обозначения конца команды, символы новой строки не могут появляться нигде в команде.
Команды, которые не генерируют ответа:
Старторсплит
расколоть
неразделенный
пропуск
пауза
резюме
перезагрузить
таймер запуска
установить время игры ВРЕМЯ
установить время загрузки TIME
добавить время загрузки TIME
паузавремя игры
возобновить паузу
всегдапаузавремя игры
setcomparison СРАВНЕНИЕ
переключиться на реальное время
переключиться на игровое время
setsplitname ИМЯ ИНДЕКСА
setcurrentsplitname ИМЯ
Команды, возвращающие время:
получитьдельту
getdelta СРАВНЕНИЕ
getlastsplittime
GetComparisonSplitTime
получить текущий в реальном времени
получить текущее время игры
получить текущее время
получитьфиналтайм
getfinaltime СРАВНЕНИЕ
getpredictedtime СРАВНЕНИЕ
получить лучшее возможное время
Команды, возвращающие int:
getplitindex
(возвращает -1, если таймер не работает)
Команды, возвращающие строку:
getcurrentsplitname
getprevioussplitname
getcurrenttimerphase
пинг
(всегда возвращает pong
)
Команды определяются в ProcessMessage
в «CommandServer.cs».
импортировать сокеты = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect(("localhost", 16834))s.send(b"starttimern")
импорт java.io.IOException; импорт java.io.PrintWriter; импорт java.net.Socket; общедоступный класс MainTest {public static void main(String[] args) бросает IOException {Socket сокет = новый Socket("localhost", 16834) ;PrintWriter Writer = новый PrintWriter(socket.getOutputStream());writer.println("starttimer");writer.flush();socket.close(); } }
Программное обеспечение, реализующее Lua, можно использовать в качестве клиента. Однако для использования скриптом должна быть доступна библиотека lua io, полная документация доступна здесь.
require "io"self.LSEndpoint = "\.pipeLiveSplit" --Localhost LiveSplit Pipe.self.LSPipe = io.open(self.LSEndpoint, "w") --Открыть/запустить канал. Flush требуется после каждой команды.self.LSPipe:write "starttimern"self.LSPipe:flush()self.LSPipe:close() -- При необходимости его можно оставить открытым.
Реализация клиента Node.js доступна здесь: https://github.com/satanch/node-livesplit-client.
Обновите версии всех изменившихся компонентов (создайте тег Git и обновите заводской файл для каждого компонента), чтобы они соответствовали новой версии LiveSplit.
Создайте тег Git для новой версии.
Загрузите LiveSplit_Build
и UpdateManagerExe
из сборки GitHub Actions для нового тега Git.
Создайте выпуск GitHub для новой версии и загрузите ZIP-файл сборки LiveSplit с правильным именем (например, LiveSplit_1.8.21.zip
).
Измените файлы в папке обновления LiveSplit.github.io и зафиксируйте изменения:
Скопируйте измененные файлы из загруженного ZIP-файла сборки LiveSplit в папку обновления.
Скопируйте измененные файлы из загруженного ZIP-файла диспетчера обновлений, чтобы заменить UpdateManagerV2.exe
и UpdateManagerV2.exe.config
.
Добавьте новые версии в XML-файлы обновления для ( update.xml
, update.updater.xml
и XML-файлы обновления для всех измененных компонентов).
Измените DLL и обновите XML для LiveSplit.TheRun в его репозитории.
Обновите версию на странице загрузок.
Лицензия MIT (MIT)
Copyright (c) 2013 Кристофер Серр и Сергей Папушин
Настоящим разрешение бесплатно предоставляется любому лицу, получившему копию этого программного обеспечения и связанных с ним файлов документации («Программное обеспечение»), на использование Программного обеспечения без ограничений, включая, помимо прочего, права на использование, копирование, изменение, объединение. публиковать, распространять, сублицензировать и/или продавать копии Программного обеспечения, а также разрешать лицам, которым предоставлено Программное обеспечение, делать это при соблюдении следующих условий:
Вышеупомянутое уведомление об авторских правах и настоящее уведомление о разрешении должны быть включены во все копии или существенные части Программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОВАРНОЙ ЦЕННОСТИ, ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ОБЛАДАТЕЛИ АВТОРСКИХ ПРАВ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УБЫТКИ ИЛИ ДРУГУЮ ОТВЕТСТВЕННОСТЬ, БУДЬ В ДЕЙСТВИЯХ ПО КОНТРАКТУ, ПРАВОНАРУШЕНИЮ ИЛИ ДРУГИМ ОБРАЗОМ, ВОЗНИКАЮЩИЕ ОТ, ИЗ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ, ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.