uVersion
Italiano
Scarica →

Wiki

Risoluzione dei problemi

Soluzioni ai problemi comuni, sia lato server sia lato utente: servizio bloccato, codice di attivazione rifiutato, PostgreSQL, TLS, messaggi del client e dell'editor di Unreal.

Il servizio non si avvia

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

Cause frequenti:

  • PostgreSQL inattivo: sudo systemctl status postgresql
  • Password del DB persa: il postinst rigenera la configurazione con --reconfigure (sudo dpkg-reconfigure uversion-server)
  • Porta 8443 occupata: vedere la sezione dedicata più sotto
Windows: errore 1053 o 1067

Il servizio si avvia e poi si arresta. Controllare il Visualizzatore eventi:

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

Cause frequenti:

  • Variabile d'ambiente CONFIG_PATH mancante: normalmente impostata dal programma di installazione in HKLM\SYSTEM\CurrentControlSet\Services\uVersionServer\Environment
  • PostgreSQL inattivo: Get-Service postgresql*

Il codice di attivazione viene rifiutato

  • Verificare che il codice non sia stato usato su un'altra macchina (ogni codice è legato al server-ID della prima installazione). Richiedere un nuovo codice dalla propria area account.
  • Verificare la connettività verso licence.uversion.io: curl -I https://licence.uversion.io/api/v1/health
  • Se si desidera riutilizzare un codice su una nuova macchina dopo la disinstallazione, contattare il supporto per liberare il server-ID precedente.

PostgreSQL non raggiungibile

Il servizio uVersion non riesce a connettersi al database. Testare prima il database stesso, indipendentemente da uVersion.

Su Linux:

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

Su Windows:

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

Se PostgreSQL risponde ma la password del superutente è andata persa, il programma di installazione di uVersion (il postinst su Linux come install.ps1 su Windows) può rimettere automaticamente PostgreSQL in modalità trust, reimpostare la password e poi ripristinare la configurazione originale. Rieseguirlo.

Su Linux:

sudo dpkg-reconfigure uversion-server

Su Windows: il normale comando di installazione è sufficiente, il ripristino si attiva da solo non appena la password salvata è assente o viene rifiutata.

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

Il parametro -Reconfigure serve solo a riscrivere in più un config.toml già presente, e richiede la forma lunga del comando: la forma breve qui sopra non passa alcun parametro allo script. Vedere Installare su Windows.

Porta 8443 già in uso

uVersion resta in ascolto per impostazione predefinita in HTTPS sulla 8443.

Non esiste un ripiego HTTP sulla 8080: le due modalità sono mutuamente esclusive Il server resta in ascolto o in HTTPS sulla tls.https_port (8443 per impostazione predefinita), oppure in HTTP semplice sulla server.port, mai entrambe. L'HTTP semplice esiste solo se il TLS è stato esplicitamente disabilitato ([tls] disabled = true), e in tal caso la 8443 non resta più in ascolto affatto. Di conseguenza: «nulla è in ascolto sulla 8443» non significa «è ripiegato sulla 8080», ma «il TLS è disabilitato» o «il server non è partito». E una porta 8080 occupata su un'installazione normale non ha nulla a che fare con uVersion.

Per sapere quale processo occupa la porta, su Linux:

sudo ss -tlnp | grep 8443

Su Windows, in due passaggi: il processo proprietario, poi il suo nome.

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

Per cambiare la porta TLS, modificare config.toml:

[tls]
https_port = 9443

Poi riavviare il servizio.

Il client rifiuta la connessione TLS

uVersion usa un certificato autofirmato bloccato tramite TOFU lato client (vedere Impronta TLS). Le cause più frequenti:

  • Prima connessione non confermata: il client desktop mostra la finestra Verify server identity con l'impronta SHA-256. Confrontarla con quella comunicata dall'amministratore, poi fare clic su Trust this server. Nella CLI, il comando equivalente è uversion trust <url>: è interattivo, mostra l'impronta che il server annuncia e attende la conferma da tastiera. Aggiungere --yes per saltare questa conferma, ad esempio in uno script.
  • Impronta cambiata (avviso rosso): il server è stato reinstallato e ha rigenerato il proprio certificato. Confermare con l'amministratore tramite un altro canale, poi:
    • Desktop: fare clic su Trust new fingerprint nella finestra di dialogo rossa
    • CLI: uversion mistrust <url> poi uversion login <url>
  • Il server non fornisce HTTPS: verificare che sia effettivamente in ascolto sulla 8443. Su Linux:
    ss -tlnp | grep 8443
    Su Windows:
    Get-NetTCPConnection -LocalPort 8443 -State Listen
    Se non è in ascolto nulla, verificare che [tls] disabled = false in config.toml (è il valore predefinito). Promemoria: quando il TLS è disabilitato, il server passa a HTTP semplice e la 8443 non resta più in ascolto affatto, non c'è doppio ascolto.
  • Rivisualizzare l'impronta lato server, su Linux:
    sudo cat /var/lib/uversion/data/tls/fingerprint
    Su Windows:
    Get-Content "C:\ProgramData\uVersion\data\tls\fingerprint"

Lato utente: messaggi del client e dell'editor

Le sezioni precedenti riguardano il server. Ecco i blocchi che gli utenti incontrano, con il messaggio esatto così come appare e cosa fare.

Non riesco a creare un repository

Admin role required

La creazione di un repository è riservata al super amministratore del server. Il ruolo project_admin non basta: amministra i progetti che gli sono affidati, non li crea. Chiedere al proprio super amministratore di creare il repository e poi di nominarvi amministratore dello stesso.

Aprire una cartella locale non riesce

Not a uVersion repository

La cartella scelta non contiene un .uversion/config.toml. Probabilmente avete indicato la cartella padre, o una sottocartella. Puntare alla radice del workspace, quella che contiene la cartella .uversion/.

Creare un repository da una cartella esistente non riesce

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

La cartella è già un workspace. Non state cercando di crearne uno nuovo, ma di riaprire quello: usare Open Local Repository.

Il client rifiuta di aprire un workspace

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

Questa cartella è stata clonata da un altro account, il cui nome è registrato in .uversion/config.toml. Questo succede copiando un workspace da una macchina all'altra, o cambiando account nel client. Il rifiuto è voluto: operare sotto un'altra identità produrrebbe blocchi e commit attribuiti alla persona sbagliata. Clonare la propria copia. Se è davvero la vostra cartella ma l'altro account è anch'esso vostro, passare a esso nel selettore di account.

Il percorso del motore Unreal viene rifiutato

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

Il client si aspetta la radice di un'installazione di Unreal, quella che contiene sia Engine/Build/BatchFiles sia Engine/Binaries. Ad esempio C:\Program Files\Epic Games\UE_5.6, e non la sottocartella Engine, né la cartella del vostro progetto, né un collegamento.

Un'azione Unreal si rifiuta di avviarsi

Unreal Engine path not configured. Please set it first.

Il rilevamento automatico non ha trovato nulla. Impostare il percorso dal menu " … " della barra Unreal, voce Set Engine Path.... Non c'è altro punto di ingresso: né campo di immissione, né pulsante Browse nella barra stessa.

Se la barra Unreal è completamente assente, non è il percorso del motore: il client non ha trovato il .uproject. Lo cerca solo fino a tre livelli di profondità sotto la radice del workspace, e oltre scompare senza messaggio. Avvicinare il progetto alla radice.

Unreal rifiuta il mio invio di codice

Code files must be submitted from the uVersion desktop client

Il plugin rifiuta il checkin dei file .cpp, .h, .hpp, .c e .cs: il client desktop compila prima di inviare e pubblica i binari dell'editor. Inviate il vostro codice dal client.

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

Una variante molto più sconcertante, che colpisce anche chi non scrive codice: un solo file di codice riservato da voi blocca anche i vostri invii di contenuto, anche se quel file non fa parte dell'invio. Aprire la scheda Pending del client desktop, sezione Your locks, ed eseguire un Checkin o un Revert sui file di codice rimasti lì. Vedere Plugin di Unreal Engine.

Unreal non vede il server

L'editor mostra una notifica che chiede di avviare il client desktop. È previsto: un server uVersion è autofirmato per impostazione predefinita, e Unreal non sa validare un certificato autofirmato. Il modulo di accesso della finestra Revision Control Login non supera questo ostacolo, compilarlo non serve a nulla. Avviate il client desktop, accedete con l'account proprietario del workspace, e il plugin passerà attraverso di esso.

La riserva dei file non riesce

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

Qualcun altro detiene quei blocchi. La scheda Pending, sezione Other Users' Locks, dice chi, e offre un pulsante Request Release per riga. Promemoria utile: un blocco non scade mai, nessuno lo rilascerà per il semplice trascorrere del tempo. Un amministratore può forzare lo sblocco, e l'operazione è tracciata nell'audit.

Il clone da riga di comando rifiuta la cartella

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

uversion clone richiede una cartella di destinazione vuota o inesistente. Svuotatela, eliminatela, o puntate a un altro percorso. Da non confondere con il client desktop, dove la cartella che scegliete è quella padre: crea al suo interno una sottocartella con il nome del workspace.

Sessione scaduta

Il client tenta prima di rinnovare il token in silenzio. Se non ci riesce, torna alla pagina di accesso con un banner. Basta reinserire la password. Se ciò si ripete di continuo, di solito è perché l'account è stato disattivato lato server, o una disconnessione esplicita ha revocato i token di tutti i vostri client.

Reset completo

Vedere le pagine Disinstallare su Ubuntu/Debian o Disinstallare su Windows per ripartire da un'installazione pulita.