uVersion
Português
Baixar →

Wiki

Solução de problemas

Soluções para problemas comuns, tanto do lado do servidor quanto do lado do usuário: serviço travado, código de ativação rejeitado, PostgreSQL, TLS, mensagens do cliente e do editor do Unreal.

O serviço não inicia

Linux: systemctl start falha
sudo journalctl -u uversion-server -n 100 --no-pager

Causas comuns:

  • PostgreSQL inativo: sudo systemctl status postgresql
  • Senha do banco de dados perdida: o postinst regenera a configuração com --reconfigure (sudo dpkg-reconfigure uversion-server)
  • Porta 8443 ocupada: consulte a seção dedicada mais abaixo
Windows: erro 1053 ou 1067

O serviço inicia e depois para. Verifique o Visualizador de Eventos:

Get-EventLog -LogName Application -Source uVersionServer -Newest 50

Causas comuns:

  • Variável de ambiente CONFIG_PATH ausente: normalmente definida pelo instalador em HKLM\SYSTEM\CurrentControlSet\Services\uVersionServer\Environment
  • PostgreSQL inativo: Get-Service postgresql*

O código de ativação é rejeitado

  • Verifique se o código não foi usado em outra máquina (cada código está vinculado ao server-ID da primeira instalação). Solicite um novo código na sua área da conta.
  • Verifique a conectividade com licence.uversion.io: curl -I https://licence.uversion.io/api/v1/health
  • Se você quiser reutilizar um código em uma nova máquina após desinstalar, entre em contato com o suporte para liberar o server-ID anterior.

PostgreSQL inacessível

O serviço uVersion não consegue se conectar ao banco de dados. Primeiro teste o próprio banco de dados, independentemente do uVersion.

No Linux:

sudo -u postgres psql -c "SELECT 1;"

No Windows:

& "C:\Program Files\PostgreSQL\16\bin\psql.exe" -U postgres -h 127.0.0.1 -c "SELECT 1;"

Se o PostgreSQL responde mas a senha do superusuário foi perdida, o instalador do uVersion (o postinst no Linux assim como o install.ps1 no Windows) pode colocar o PostgreSQL de volta no modo trust automaticamente, redefinir a senha e depois restaurar a configuração original. Execute-o novamente.

No Linux:

sudo dpkg-reconfigure uversion-server

No Windows: o comando de instalação comum basta, a redefinição é acionada por conta própria assim que a senha salva estiver ausente ou for recusada.

iwr https://uversion.io/downloads/server/install.ps1 -UseBasicParsing | iex

O parâmetro -Reconfigure serve apenas para reescrever adicionalmente um config.toml já presente, e exige a forma longa do comando: a forma curta acima não passa nenhum parâmetro ao script. Consulte Instalar no Windows.

A porta 8443 já está em uso

O uVersion escuta por padrão em HTTPS na 8443.

Não há fallback HTTP na 8080: os dois modos são mutuamente exclusivos O servidor escuta ou em HTTPS na tls.https_port (8443 por padrão), ou em HTTP simples na server.port, nunca ambos. O HTTP simples só existe se o TLS tiver sido explicitamente desabilitado ([tls] disabled = true), e nesse caso a 8443 não escuta mais nada. Consequentemente: “nada está escutando na 8443” não significa “ele voltou para a 8080”, mas “o TLS está desabilitado” ou “o servidor não iniciou”. E uma porta 8080 ocupada em uma instalação normal não tem nada a ver com o uVersion.

Para descobrir o que está ocupando a porta, no Linux:

sudo ss -tlnp | grep 8443

No Windows, em duas etapas: o processo proprietário, depois o seu nome.

Get-NetTCPConnection -LocalPort 8443 | Select-Object OwningProcess, State
Get-Process -Id <PID>

Para alterar a porta TLS, edite config.toml:

[tls]
https_port = 9443

Depois reinicie o serviço.

O cliente recusa a conexão TLS

O uVersion usa um certificado autoassinado bloqueado via TOFU no lado do cliente (consulte Impressão digital TLS). As causas mais frequentes:

  • Primeira conexão não confirmada: o cliente desktop exibe a janela Verify server identity com a impressão digital SHA-256. Compare-a com a que o administrador lhe informou e depois clique em Trust this server. Na CLI, o comando equivalente é uversion trust <url>: ele é interativo, exibe a impressão digital que o servidor anuncia e aguarda a sua confirmação no teclado. Adicione --yes para pular essa confirmação, por exemplo em um script.
  • Impressão digital alterada (aviso vermelho): o servidor foi reinstalado e regenerou seu certificado. Confirme com o administrador por outro canal e depois:
    • Desktop: clique em Trust new fingerprint na caixa de diálogo vermelha
    • CLI: uversion mistrust <url> depois uversion login <url>
  • O servidor não fornece HTTPS: verifique se ele está realmente escutando na 8443. No Linux:
    ss -tlnp | grep 8443
    No Windows:
    Get-NetTCPConnection -LocalPort 8443 -State Listen
    Se nada estiver escutando, verifique se [tls] disabled = false em config.toml (esse é o padrão). Lembrete: quando o TLS está desabilitado, o servidor passa para HTTP simples e a 8443 não escuta mais nada, não há escuta dupla.
  • Reexibir a impressão digital no lado do servidor, no Linux:
    sudo cat /var/lib/uversion/data/tls/fingerprint
    No Windows:
    Get-Content "C:\ProgramData\uVersion\data\tls\fingerprint"

Lado do usuário: mensagens do cliente e do editor

As seções acima dizem respeito ao servidor. Aqui estão os bloqueios que os usuários encontram, com a mensagem exata como ela aparece e o que fazer.

Não consigo criar um repositório

Admin role required

A criação de um repositório é reservada ao superadministrador do servidor. O papel project_admin não basta: ele administra os projetos que lhe são confiados, não os cria. Peça ao seu superadministrador para criar o repositório e depois nomeá-lo administrador dele.

Abrir uma pasta local falha

Not a uVersion repository

A pasta escolhida não contém um .uversion/config.toml. Você provavelmente apontou para a pasta pai, ou uma subpasta. Mire na raiz do workspace, aquela que contém a pasta .uversion/.

Criar um repositório a partir de uma pasta existente falha

This folder is already a uVersion repository - use "Open Local Repository" instead.

A pasta já é um workspace. Você não está tentando criar um novo, mas reabrir aquele: use Open Local Repository.

O cliente se recusa a abrir um workspace

This workspace belongs to '<owner>'. Clone your own copy instead.

Esta pasta foi clonada por outra conta, cujo nome está registrado em .uversion/config.toml. Isso acontece ao copiar um workspace de uma máquina para outra, ou ao trocar de conta no cliente. A recusa é proposital: operar sob outra identidade produziria bloqueios e commits atribuídos à pessoa errada. Clone a sua própria cópia. Se realmente for a sua pasta, mas a outra conta também for sua, alterne para ela no seletor de contas.

O caminho do motor Unreal é recusado

Invalid Unreal Engine path: '...' is not a recognizable engine install

O cliente espera a raiz de uma instalação do Unreal, aquela que contém tanto Engine/Build/BatchFiles quanto Engine/Binaries. Por exemplo C:\Program Files\Epic Games\UE_5.6, e não a subpasta Engine, nem a pasta do seu projeto, nem um atalho.

Uma ação do Unreal se recusa a iniciar

Unreal Engine path not configured. Please set it first.

A detecção automática não encontrou nada. Defina o caminho pelo menu " … " da barra Unreal, entrada Set Engine Path.... Não há outro ponto de entrada: nem campo de entrada, nem botão Browse na própria barra.

Se a barra Unreal estiver totalmente ausente, não é o caminho do motor: o cliente não encontrou o .uproject. Ele só o procura até três níveis de profundidade abaixo da raiz do workspace, e além disso ele desaparece sem mensagem. Aproxime o projeto da raiz.

O Unreal recusa meu envio de código

Code files must be submitted from the uVersion desktop client

O plugin recusa o checkin dos arquivos .cpp, .h, .hpp, .c e .cs: o cliente desktop compila antes de enviar e publica os binários do editor. Envie seu código pelo cliente.

You have code files checked out (...): submit your code from the uVersion desktop client first

Uma variante muito mais desconcertante, que atinge até quem não escreve código: um único arquivo de código reservado por você também bloqueia seus envios de conteúdo, mesmo que esse arquivo não faça parte do envio. Abra a aba Pending do cliente desktop, seção Your locks, e faça um Checkin ou um Revert nos arquivos de código que restaram ali. Consulte Plugin do Unreal Engine.

O Unreal não vê o servidor

O editor exibe uma notificação pedindo para iniciar o cliente desktop. Isso é esperado: um servidor uVersion é autoassinado por padrão, e o Unreal não sabe validar um certificado autoassinado. O formulário de conexão da janela Revision Control Login não supera esse obstáculo, preenchê-lo não adianta. Inicie o cliente desktop, conecte-se com a conta proprietária do workspace, e o plugin passará por ele.

A reserva de arquivos falha

Failed to acquire locks for {n} file(s). Another user may have them checked out.

Outra pessoa detém esses bloqueios. A aba Pending, seção Other Users' Locks, diz quem, e oferece um botão Request Release por linha. Lembrete útil: um bloqueio nunca expira, ninguém o liberará pela simples passagem do tempo. Um administrador pode forçar o desbloqueio, e a operação fica registrada na auditoria.

O clone por linha de comando recusa a pasta

Directory '...' already exists and is not empty

uversion clone exige uma pasta de destino vazia ou inexistente. Esvazie-a, exclua-a, ou mire em outro caminho. Não confunda com o cliente desktop, onde a pasta que você escolhe é a pai: ele cria dentro dela uma subpasta com o nome do workspace.

Sessão expirada

O cliente primeiro tenta renovar o token silenciosamente. Se não conseguir, ele volta para a página de conexão com um banner. Basta digitar sua senha novamente. Se isso se repetir sem parar, geralmente é porque a conta foi desativada no lado do servidor, ou uma desconexão explícita revogou os tokens de todos os seus clientes.

Reset completo

Consulte as páginas Desinstalar no Ubuntu/Debian ou Desinstalar no Windows para começar com uma instalação limpa.