Wiki
Fehlerbehebung
Lösungen für häufige Probleme, sowohl serverseitig als auch nutzerseitig: hängender Dienst, abgelehnter Aktivierungscode, PostgreSQL, TLS, Meldungen des Clients und des Unreal-Editors.
Der Dienst startet nicht
Linux: systemctl start schlägt fehl
sudo journalctl -u uversion-server -n 100 --no-pager
Häufige Ursachen:
- PostgreSQL läuft nicht:
sudo systemctl status postgresql - DB-Passwort verloren:
postinst generiert die Konfiguration mit
--reconfigureneu (sudo dpkg-reconfigure uversion-server) - Port 8443 belegt: siehe eigener Abschnitt weiter unten
Windows: Fehler 1053 oder 1067
Der Dienst startet und stoppt dann. Prüfen Sie den Event Viewer:
Get-EventLog -LogName Application -Source uVersionServer -Newest 50
Häufige Ursachen:
- Umgebungsvariable
CONFIG_PATHfehlt: normalerweise vom Installer inHKLM\SYSTEM\CurrentControlSet\Services\uVersionServer\Environmentgesetzt - PostgreSQL läuft nicht:
Get-Service postgresql*
Der Aktivierungscode wird abgelehnt
- Stellen Sie sicher, dass der Code nicht auf einem anderen Rechner verwendet wurde (jeder Code ist an die server-ID der ersten Installation gebunden). Fordern Sie einen neuen Code in Ihrem Kontobereich an.
- Prüfen Sie die Verbindung zu
licence.uversion.io:curl -I https://licence.uversion.io/api/v1/health - Wenn Sie einen Code nach der Deinstallation auf einem neuen Rechner wiederverwenden möchten, wenden Sie sich an den Support, um die vorherige server-ID freizugeben.
PostgreSQL nicht erreichbar
Der uVersion-Dienst kann keine Verbindung zur Datenbank herstellen. Testen Sie zuerst die Datenbank selbst, unabhängig von uVersion.
Unter Linux:
sudo -u postgres psql -c "SELECT 1;"
Unter Windows:
& "C:\Program Files\PostgreSQL\16\bin\psql.exe" -U postgres -h 127.0.0.1 -c "SELECT 1;"
Wenn PostgreSQL antwortet, aber das Superuser-Passwort verloren ging,
kann der uVersion-Installer (das postinst unter Linux wie auch install.ps1 unter
Windows) PostgreSQL automatisch wieder in den trust-Modus versetzen, das Passwort zurücksetzen und dann
die ursprüngliche Konfiguration wiederherstellen. Führen Sie ihn erneut aus.
Unter Linux:
sudo dpkg-reconfigure uversion-server
Unter Windows: der gewöhnliche Installationsbefehl genügt, das Zurücksetzen wird von selbst ausgelöst, sobald das gespeicherte Passwort fehlt oder abgelehnt wird.
iwr https://uversion.io/downloads/server/install.ps1 -UseBasicParsing | iex
Der Parameter -Reconfigure dient nur dazu, eine bereits vorhandene
config.toml zusätzlich neu zu schreiben, und er erfordert die Langform des Befehls: die
Kurzform oben übergibt dem Skript keinen Parameter. Siehe
Unter Windows installieren.
Port 8443 bereits belegt
uVersion lauscht standardmäßig per HTTPS auf 8443.
tls.https_port (standardmäßig 8443)
oder per einfachem HTTP auf server.port, niemals beides. Einfaches HTTP existiert nur, wenn
TLS ausdrücklich deaktiviert wurde ([tls] disabled = true), und in diesem Fall
lauscht 8443 überhaupt nicht mehr. Folglich bedeutet „nichts lauscht auf 8443" nicht „es ist auf 8080
zurückgefallen", sondern „TLS ist deaktiviert" oder „der Server ist nicht gestartet". Und ein belegter Port 8080 auf einer
normalen Installation hat nichts mit uVersion zu tun.
Um herauszufinden, welcher Prozess den Port belegt, unter Linux:
sudo ss -tlnp | grep 8443
Unter Windows, in zwei Schritten: der besitzende Prozess, dann sein Name.
Get-NetTCPConnection -LocalPort 8443 | Select-Object OwningProcess, State
Get-Process -Id <PID>
Um den TLS-Port zu ändern, bearbeiten Sie config.toml:
[tls]
https_port = 9443
Starten Sie dann den Dienst neu.
Client verweigert die TLS-Verbindung
uVersion verwendet ein selbstsigniertes Zertifikat, das clientseitig per TOFU gesperrt ist (siehe TLS-Fingerabdruck). Die häufigsten Ursachen:
- Erste Verbindung nicht bestätigt: Der Desktop-Client zeigt
das Fenster Verify server identity mit dem SHA-256-Fingerabdruck an. Vergleichen Sie ihn mit
dem, den Ihnen der Administrator mitgeteilt hat, und klicken Sie dann auf
Trust this server. Auf der CLI lautet der entsprechende Befehl
uversion trust <url>: er ist interaktiv, er zeigt den Fingerabdruck an, den der Server ankündigt, und wartet auf Ihre Bestätigung über die Tastatur. Fügen Sie--yeshinzu, um diese Bestätigung zu überspringen, etwa in einem Skript. - Fingerabdruck geändert (rote Warnung): Der Server wurde neu installiert
und hat sein Zertifikat neu generiert. Bestätigen Sie über einen anderen Kanal mit dem Administrator, dann:
- Desktop: Klicken Sie im roten Dialog auf Trust new fingerprint
- CLI:
uversion mistrust <url>dannuversion login <url>
- Der Server stellt kein HTTPS bereit: Prüfen Sie, ob er tatsächlich
auf 8443 lauscht.
Unter Linux:
Unter Windows:ss -tlnp | grep 8443
Wenn nichts lauscht, prüfen Sie, obGet-NetTCPConnection -LocalPort 8443 -State Listen[tls] disabled = falseinconfig.tomlsteht (das ist die Standardeinstellung). Hinweis: Wenn TLS deaktiviert ist, wechselt der Server zu einfachem HTTP und 8443 lauscht überhaupt nicht mehr, es gibt kein doppeltes Lauschen. - Fingerabdruck serverseitig erneut anzeigen, unter Linux:
Unter Windows:sudo cat /var/lib/uversion/data/tls/fingerprintGet-Content "C:\ProgramData\uVersion\data\tls\fingerprint"
Nutzerseite: Meldungen des Clients und des Editors
Die obigen Abschnitte betreffen den Server. Hier sind die Blockaden, auf die Nutzer stoßen, mit der genauen Meldung, wie sie erscheint, und was zu tun ist.
Ich kann kein Repository erstellen
Admin role required
Das Erstellen eines Repositorys ist dem Super-Administrator des Servers vorbehalten. Die Rolle
project_admin reicht nicht aus: Sie verwaltet die ihr anvertrauten Projekte, sie erstellt sie nicht.
Bitten Sie Ihren Super-Administrator, das Repository zu erstellen und Sie dann zu seinem Administrator zu ernennen.
Das Öffnen eines lokalen Ordners schlägt fehl
Not a uVersion repository
Der gewählte Ordner enthält keine .uversion/config.toml. Sie haben wahrscheinlich auf den übergeordneten
Ordner oder einen Unterordner gezeigt. Zielen Sie auf die Workspace-Wurzel, jene, die den Ordner .uversion/ enthält.
Das Erstellen eines Repositorys aus einem vorhandenen Ordner schlägt fehl
This folder is already a uVersion repository - use "Open Local Repository" instead.
Der Ordner ist bereits ein Workspace. Sie wollen keinen neuen erstellen, sondern jenen wieder öffnen: Verwenden Sie Open Local Repository.
Der Client verweigert das Öffnen eines Workspace
This workspace belongs to '<owner>'. Clone your own copy instead.
Dieser Ordner wurde von einem anderen Konto geklont, dessen Name in .uversion/config.toml eingetragen ist. Das
passiert, wenn man einen Workspace von einem Rechner auf einen anderen kopiert oder im Client das Konto wechselt. Die Verweigerung ist
beabsichtigt: unter einer anderen Identität zu arbeiten würde Sperren und Commits erzeugen, die der falschen Person zugeordnet werden.
Klonen Sie Ihre eigene Kopie. Wenn es tatsächlich Ihr Ordner ist, das andere Konto aber ebenfalls Ihnen gehört, wechseln Sie im
Kontoauswähler dorthin.
Der Unreal-Engine-Pfad wird abgelehnt
Invalid Unreal Engine path: '...' is not a recognizable engine install
Der Client erwartet die Wurzel einer Unreal-Installation, jene, die sowohl
Engine/Build/BatchFiles als auch Engine/Binaries enthält. Zum Beispiel
C:\Program Files\Epic Games\UE_5.6, und nicht den Unterordner Engine, nicht Ihren
Projektordner und keine Verknüpfung.
Eine Unreal-Aktion startet nicht
Unreal Engine path not configured. Please set it first.
Die automatische Erkennung hat nichts gefunden. Legen Sie den Pfad über das Menü " … " der
Unreal-Leiste fest, Eintrag Set Engine Path.... Es gibt keinen anderen Einstiegspunkt: kein
Eingabefeld, keinen Browse-Button in der Leiste selbst.
Wenn die Unreal-Leiste vollständig fehlt, liegt es nicht am Engine-Pfad: der Client hat die
.uproject nicht gefunden. Er sucht sie nur bis drei Ebenen tief unter der Workspace-Wurzel,
und darüber hinaus verschwindet sie ohne Meldung. Rücken Sie das Projekt näher an die Wurzel.
Unreal verweigert meine Code-Übermittlung
Code files must be submitted from the uVersion desktop client
Das Plugin verweigert den Checkin von .cpp-, .h-, .hpp-, .c-
und .cs-Dateien: der Desktop-Client kompiliert vor dem Übermitteln und veröffentlicht die Editor-Binärdateien. Übermitteln Sie Ihren Code
über den Client.
You have code files checked out (...): submit your code from the uVersion desktop client first
Eine weitaus verwirrendere Variante, die selbst Personen trifft, die keinen Code schreiben: eine einzige von Ihnen reservierte Code-Datei blockiert auch Ihre Inhalts-Übermittlungen, selbst wenn diese Datei nicht Teil der Übermittlung ist. Öffnen Sie den Tab Pending des Desktop-Clients, Abschnitt Your locks, und führen Sie einen Checkin oder ein Revert für die Code-Dateien aus, die dort herumliegen. Siehe Unreal-Engine-Plugin.
Unreal sieht den Server nicht
Der Editor zeigt eine Benachrichtigung an, die auffordert, den Desktop-Client zu starten. Das ist erwartet: ein uVersion-Server ist standardmäßig selbstsigniert, und Unreal kann ein selbstsigniertes Zertifikat nicht validieren. Das Anmeldeformular des Fensters Revision Control Login überwindet dieses Hindernis nicht, es auszufüllen bringt nichts. Starten Sie den Desktop-Client, melden Sie sich mit dem Konto an, dem der Workspace gehört, und das Plugin läuft über ihn.
Das Reservieren von Dateien schlägt fehl
Failed to acquire locks for {n} file(s). Another user may have them checked out.
Jemand anderes hält diese Sperren. Der Tab Pending, Abschnitt Other Users' Locks, sagt, wer, und bietet pro Zeile eine Schaltfläche Request Release. Nützlicher Hinweis: eine Sperre läuft nie ab, niemand gibt sie durch bloßen Zeitablauf frei. Ein Administrator kann die Entsperrung erzwingen, und der Vorgang wird im Audit protokolliert.
Der Klon über die Befehlszeile verweigert den Ordner
Directory '...' already exists and is not empty
uversion clone erfordert einen leeren oder nicht vorhandenen Zielordner. Leeren Sie ihn, löschen Sie ihn oder zielen Sie auf
einen anderen Pfad. Nicht zu verwechseln mit dem Desktop-Client, bei dem der von Ihnen gewählte Ordner der
übergeordnete ist: er erstellt darin einen Unterordner mit dem Namen des Workspace.
Sitzung abgelaufen
Der Client versucht zunächst, das Token still zu erneuern. Gelingt das nicht, kehrt er mit einem Banner zur Anmeldeseite zurück. Geben Sie einfach Ihr Passwort erneut ein. Wenn dies ständig wieder passiert, liegt es in der Regel daran, dass das Konto serverseitig deaktiviert wurde oder eine ausdrückliche Abmeldung die Token aller Ihrer Clients widerrufen hat.
Vollständiger Reset
Siehe die Seiten Ubuntu/Debian deinstallieren oder Windows deinstallieren, um mit einer sauberen Installation neu zu beginnen.