uVersion
Deutsch
Herunterladen →

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 --reconfigure neu (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_PATH fehlt: normalerweise vom Installer in HKLM\SYSTEM\CurrentControlSet\Services\uVersionServer\Environment gesetzt
  • 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.

Es gibt kein HTTP-Fallback auf 8080: die beiden Modi schließen sich gegenseitig aus Der Server lauscht entweder per HTTPS auf 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 --yes hinzu, 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> dann uversion login <url>
  • Der Server stellt kein HTTPS bereit: Prüfen Sie, ob er tatsächlich auf 8443 lauscht. Unter Linux:
    ss -tlnp | grep 8443
    Unter Windows:
    Get-NetTCPConnection -LocalPort 8443 -State Listen
    Wenn nichts lauscht, prüfen Sie, ob [tls] disabled = false in config.toml steht (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:
    sudo cat /var/lib/uversion/data/tls/fingerprint
    Unter Windows:
    Get-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.