LiveSplit é um programa de cronômetro para speedrunners fácil de usar e cheio de recursos.
Integração Speedrun.com: Speedrun.com está totalmente integrado ao LiveSplit. Você pode navegar pelas tabelas de classificação, baixar divisões e até mesmo enviar suas próprias corridas diretamente do LiveSplit. Você também pode mostrar os recordes mundiais dos jogos executados com o componente de recorde mundial.
Tempo preciso: o LiveSplit sincroniza automaticamente com um relógio atômico pela Internet para estimar imprecisões do cronômetro local no PC. O cronômetro do LiveSplit ajusta automaticamente o cronômetro local para corrigir essas imprecisões.
Tempo de jogo e divisão automática: o LiveSplit detectará automaticamente se o tempo de jogo e/ou divisão automática está disponível para um jogo e permitirá que você os ative no editor de divisões. O Game Time é lido automaticamente diretamente de um emulador ou jogo de PC, e você pode usá-lo alternando para Game Time em Compare Against.
Componente de vídeo: com o componente de vídeo, você pode reproduzir um vídeo de um arquivo local junto com sua execução. O vídeo começará quando você iniciar a corrida e parará sempre que você reiniciar. Você também pode especificar em que ponto o vídeo deve começar.
Corrida: No LiveSplit, você pode iniciar e participar de corridas no SpeedRunsLive ou racetime.gg dentro do próprio LiveSplit. O cronômetro inicia automaticamente quando a corrida começa e escreve automaticamente .done
sempre que você completa a corrida. Além disso, você pode comparar sua corrida atual com a de outros corredores durante a corrida, desde que eles também usem o LiveSplit.
Comparações: No LiveSplit, você pode alternar dinamicamente entre múltiplas comparações, mesmo no meio da execução. Você pode comparar sua execução com comparações que você mesmo define ou compará-la com várias comparações geradas automaticamente, como sua soma dos melhores segmentos ou sua execução média. Durante a corrida no SpeedRunsLive, as comparações para outros corredores também são geradas automaticamente.
Sistema de Layout: Os usuários podem modificar cada parte da aparência do LiveSplit usando Layouts. Cada usuário tem a capacidade de adicionar ou remover partes, além de reorganizar e personalizar cada parte do LiveSplit. Você pode até usar suas próprias imagens de fundo.
Redimensionamento dinâmico: o LiveSplit pode ser redimensionado para qualquer tamanho para que fique bem na transmissão. À medida que o tamanho do LiveSplit é alterado, todas as suas partes são automaticamente ampliadas para preservar sua aparência.
Compartilhando corridas: qualquer corrida pode ser compartilhada no Speedrun.com e X (Twitter). As divisões também podem ser distribuídas usando E/S de divisões e importadas de um URL. Você também pode compartilhar uma captura de tela de suas divisões com o Imgur ou salvá-la como um arquivo. Seu título do Twitch também pode ser atualizado com base no jogo que você está jogando.
Desenvolvimento de Componentes: Qualquer pessoa pode desenvolver seus próprios componentes que podem ser facilmente compartilhados e usados com LiveSplit. Componentes adicionais para download podem ser encontrados na Seção de Componentes.
Precisamos da sua ajuda!
Você pode navegar pelos problemas para encontrar bons problemas para começar. Selecione um que ainda não esteja concluído ou em andamento, atribua-o e arraste-o para "Em andamento".
Bifurque o projeto
Clone seu repositório bifurcado: git clone --recursive https://github.com/YourUsername/LiveSplit.git
Crie seu branch de recurso/correção de bug: git checkout -b new-feature
Confirme suas alterações em seu novo branch: git commit -am 'Add a new feature'
Empurre para o branch: git push origin new-feature
Crie uma nova solicitação pull!
LiveSplit usa .NET Framework 4.8.1. Para compilar o LiveSplit, você precisa dos seguintes componentes instalados:
SDK do .NET 8.0
Pacote de desenvolvedor do .NET Framework 4.8.1
Após a clonagem, basta executar dotnet build LiveSplit.sln
na raiz do repositório.
Para usar o Visual Studio, você deve instalar uma versão que dê suporte à versão do SDK do .NET que você instalou. No momento em que este artigo foi escrito, a versão mais recente era Visual Studio 2022.
Nenhum submódulo é extraído quando você bifurca/clona o repositório, o que faz com que o projeto não seja compilado. Existem duas maneiras de remediar isso:
Clonagem pela primeira vez: git clone --recursive https://github.com/LiveSplit/LiveSplit.git
Se já clonado, execute isto no diretório raiz: git submodule update --init --recursive
A documentação sobre como desenvolver, testar e enviar um Auto Splitter pode ser encontrada aqui:
Documentação de divisores automáticos
O LiveSplit Server interno permite que outros programas e outros computadores controlem o LiveSplit. O servidor pode aceitar conexões por meio de um pipe nomeado localizado em <hostname>pipeLiveSplit
( .
é o nome do host se o cliente e o servidor estiverem no mesmo computador), TCP/IP bruto ou um servidor WebSocket (WS), localizado em ws://<hostname>:port/livesplit
.
O pipe nomeado está sempre aberto enquanto o LiveSplit está em execução, mas os servidores TCP e WS DEVEM ser iniciados antes que os programas possam se comunicar com eles (clique com o botão direito em LiveSplit -> Control -> Start TCP/WS Server). Você DEVE iniciar manualmente aquele que deseja usar sempre que iniciar o LiveSplit. Os servidores TCP e WS não podem ser executados ao mesmo tempo porque o servidor WS é executado sobre TCP/IP.
Porta do Servidor é a porta (uma entre milhares) em seu computador pela qual este programa envia dados. O padrão é 16834. Isso deve servir para a maioria das pessoas, mas dependendo das configurações de rede, algumas portas podem estar bloqueadas. Consulte também https://en.wikipedia.org/wiki/Port_%28computer_networking%29.
Android LiveSplit remoto : https://github.com/Ekelbatzen/LiveSplit.Remote.Android
SplitNotes : https://github.com/joelnir/SplitNotes
Cliente remoto Autosplitter : https://github.com/RavenX8/LiveSplit.Server.Client
Fez algo legal? Considere adicioná-lo a esta lista.
Os comandos diferenciam maiúsculas de minúsculas e terminam com uma nova linha. Você pode fornecer parâmetros usando um espaço após o comando e enviando os parâmetros posteriormente ( <command><space><parameters><newline>
).
Alguns comandos responderão com dados e outros não. Cada resposta termina com um caractere de nova linha. Observe que como o servidor WS tem um conceito de mensagens, os comandos e respostas enviados por ele não terminam em caracteres de nova linha.
Todos os horários e deltas retornados pelo servidor são formatados de acordo com o Constant Format Specifier do C#. O servidor aceitará horários no seguinte formato: [-][[[d.]hh:]mm:]ss[.fffffff]
. O campo horas pode ser maior que 23, mesmo que haja dias. Os campos individuais não precisam ser preenchidos com zeros. Qualquer comando que retorne uma hora ou uma string pode retornar um único hífen -
para indicar um valor "nulo" ou inválido. Comandos que usam COMPARISON ou NAME usam strings simples que podem incluir espaços. Como é usado como delimitador para marcar o final de um comando, os caracteres de nova linha podem não aparecer em nenhum lugar de um comando.
Comandos que não geram resposta:
startorsplit
dividir
não dividido
salto dividido
pausa
retomar
reiniciar
temporizador de partida
setgametime TIME
definir tempos de carregamento TIME
adicionar tempos de carregamento TIME
pausegametime
retomar o tempo do jogo
sempre pausar o tempo do jogo
comparação de conjunto COMPARAÇÃO
mudar para tempo real
mudar para o tempo de jogo
setsplitname NOME DO ÍNDICE
setcurrentsplitname NOME
Comandos que retornam um horário:
getdelta
COMPARAÇÃO getdelta
obter último tempo dividido
obter comparações em tempo parcial
obter atual em tempo real
obter tempo de jogo atual
obter tempo atual
getfinaltime
COMPARAÇÃO getfinaltime
COMPARAÇÃO getpredictedtime
obtenha o melhor tempo possível
Comandos que retornam um int:
getplitindex
(retorna -1 se o cronômetro não estiver funcionando)
Comandos que retornam uma string:
getcurrentsplitname
obternome da divisão anterior
getcurrenttimerphase
pingar
(sempre retorna pong
)
Os comandos são definidos em ProcessMessage
em "CommandServer.cs".
importar soquetes = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect(("localhost", 16834))s.send(b"starttimern")
importar java.io.IOException;importar java.io.PrintWriter;importar java.net.Socket;classe pública MainTest {public static void main(String[] args) lança IOException {Socket socket = new Socket("localhost", 16834) ;PrintWriter escritor = new PrintWriter(socket.getOutputStream());writer.println("starttimer");writer.flush();socket.close(); } }
O software que implementa Lua pode ser usado como cliente. No entanto, a biblioteca lua io deve estar disponível para uso do script, documentação completa disponível aqui.
require "io"self.LSEndpoint = "\.pipeLiveSplit" --Localhost LiveSplit pipe.self.LSPipe = io.open(self.LSEndpoint, "w") --Abra/inicie o pipe. Flush é necessário após cada comando.self.LSPipe:write "starttimern"self.LSPipe:flush()self.LSPipe:close() --Isso pode ser deixado aberto conforme necessário.
Implementação do cliente Node.js disponível aqui: https://github.com/satanch/node-livesplit-client
Atualize as versões de quaisquer componentes que foram alterados (crie uma tag Git e atualize o arquivo de fábrica para cada componente) para corresponder à nova versão do LiveSplit.
Crie uma tag Git para a nova versão.
Baixe LiveSplit_Build
e UpdateManagerExe
do build GitHub Actions para a nova tag Git.
Crie uma versão GitHub para a nova versão e carregue o arquivo ZIP de compilação do LiveSplit com o nome de arquivo correto (por exemplo, LiveSplit_1.8.21.zip
).
Modifique os arquivos na pasta de atualização de LiveSplit.github.io e confirme as alterações:
Copie os arquivos alterados do arquivo ZIP de compilação do LiveSplit baixado para a pasta de atualização.
Copie os arquivos alterados do arquivo ZIP do Update Manager baixado para substituir UpdateManagerV2.exe
e UpdateManagerV2.exe.config
.
Adicione novas versões aos XMLs de atualização para ( update.xml
, update.updater.xml
e aos XMLs de atualização para quaisquer componentes que tenham sido alterados).
Modifique a DLL e atualize o XML para LiveSplit.TheRun em seu repositório.
Atualize a versão na página de downloads.
A Licença MIT (MIT)
Copyright (c) 2013 Christopher Serr e Sergey Papushin
É concedida permissão, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e dos arquivos de documentação associados (o "Software"), para negociar o Software sem restrições, incluindo, sem limitação, os direitos de usar, copiar, modificar, mesclar , publicar, distribuir, sublicenciar e/ou vender cópias do Software e permitir que as pessoas a quem o Software seja fornecido o façam, sujeito às seguintes condições:
O aviso de direitos autorais acima e este aviso de permissão serão incluídos em todas as cópias ou partes substanciais do Software.
O SOFTWARE É FORNECIDO "COMO ESTÁ", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM DETERMINADO FIM E NÃO VIOLAÇÃO. EM HIPÓTESE ALGUMA OS AUTORES OU DETENTORES DE DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER RECLAMAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM UMA AÇÃO DE CONTRATO, ATO ILÍCITO OU DE OUTRA FORMA, DECORRENTE DE, OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.