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_PATHausente: normalmente definida pelo instalador emHKLM\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.
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--yespara 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>depoisuversion login <url>
- O servidor não fornece HTTPS: verifique se ele está realmente
escutando na 8443.
No Linux:
No Windows:ss -tlnp | grep 8443
Se nada estiver escutando, verifique seGet-NetTCPConnection -LocalPort 8443 -State Listen[tls] disabled = falseemconfig.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:
No Windows:sudo cat /var/lib/uversion/data/tls/fingerprintGet-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.