Wiki
Troubleshooting
Solutions to common problems, on the server side as well as the user side: stuck service, rejected activation code, PostgreSQL, TLS, messages from the client and the Unreal editor.
The service won't start
Linux: systemctl start fails
sudo journalctl -u uversion-server -n 100 --no-pager
Common causes:
- PostgreSQL not running:
sudo systemctl status postgresql - Lost DB password:
the postinst regenerates the config with
--reconfigure(sudo dpkg-reconfigure uversion-server) - Port 8443 in use: see the dedicated section below
Windows: error 1053 or 1067
The service starts then stops. Check the Event Viewer:
Get-EventLog -LogName Application -Source uVersionServer -Newest 50
Common causes:
- Missing
CONFIG_PATHenvironment variable: normally set by the installer inHKLM\SYSTEM\CurrentControlSet\Services\uVersionServer\Environment - PostgreSQL not running:
Get-Service postgresql*
The activation code is rejected
- Check that the code hasn't been used on another machine (each code is tied to the server-ID of the first install). Request a new code from your account area.
- Check connectivity to
licence.uversion.io:curl -I https://licence.uversion.io/api/v1/health - If you want to reuse a code on a new machine after uninstalling, contact support to release the previous server-ID.
PostgreSQL unreachable
The uVersion service can't connect to the database. First test the database itself, independently of uVersion.
On Linux:
sudo -u postgres psql -c "SELECT 1;"
On Windows:
& "C:\Program Files\PostgreSQL\16\bin\psql.exe" -U postgres -h 127.0.0.1 -c "SELECT 1;"
If PostgreSQL responds but the superuser password is lost,
the uVersion installer (the postinst on Linux as well as install.ps1 on
Windows) can put PostgreSQL back into trust mode automatically, reset the
password, then restore the original configuration. Re-run it.
On Linux:
sudo dpkg-reconfigure uversion-server
On Windows: the ordinary install command is enough, the reset triggers on its own as soon as the stored password is missing or refused.
iwr https://uversion.io/downloads/server/install.ps1 -UseBasicParsing | iex
The -Reconfigure parameter only additionally rewrites an
existing config.toml, and it requires the long form of the command: the
short form above passes no parameter to the script. See
Install on Windows.
Port 8443 already in use
uVersion listens on HTTPS on 8443 by default.
tls.https_port (8443 by default),
or on plain HTTP on server.port, never both. Plain HTTP exists only if
TLS has been explicitly disabled ([tls] disabled = true), and in that case
8443 no longer listens at all. As a result: "nothing is listening on 8443" does not mean "it
fell back to 8080", but "TLS is disabled" or "the server didn't start". And a port 8080 that is busy on a normal
installation has nothing to do with uVersion.
To find out what is occupying the port, on Linux:
sudo ss -tlnp | grep 8443
On Windows, in two steps: the owning process, then its name.
Get-NetTCPConnection -LocalPort 8443 | Select-Object OwningProcess, State
Get-Process -Id <PID>
To change the TLS port, edit config.toml:
[tls]
https_port = 9443
Then restart the service.
Client refuses the TLS connection
uVersion uses a self-signed certificate locked via TOFU on the client side (see TLS fingerprint). The most frequent causes:
- First connection not confirmed: the desktop client shows
the Verify server identity window with the SHA-256 fingerprint. Compare it with
the one the administrator gave you, then click
Trust this server. On the CLI, the equivalent command is
uversion trust <url>: it is interactive, it shows the fingerprint the server advertises and waits for your confirmation at the keyboard. Add--yesto skip this confirmation, in a script for example. - Fingerprint changed (red warning): the server was reinstalled
and regenerated its certificate. Confirm with the administrator through another channel, then:
- Desktop: click Trust new fingerprint in the red dialog
- CLI:
uversion mistrust <url>thenuversion login <url>
- The server isn't serving HTTPS: check that it is indeed listening on 8443.
On Linux:
On Windows:ss -tlnp | grep 8443
If nothing is listening, check thatGet-NetTCPConnection -LocalPort 8443 -State Listen[tls] disabled = falseinconfig.toml(that's the default). Reminder: when TLS is disabled, the server switches to plain HTTP and 8443 no longer listens at all, there is no dual listening. - Redisplay the fingerprint on the server side, on Linux:
On Windows:sudo cat /var/lib/uversion/data/tls/fingerprintGet-Content "C:\ProgramData\uVersion\data\tls\fingerprint"
User side: messages from the client and the editor
The sections above concern the server. Here are the blockers that users run into, with the exact message as it appears and what to do.
I can't create a repository
Admin role required
Creating a repository is reserved for the server's super administrator. The
project_admin role is not enough: it administers the projects entrusted to it, it does not create them.
Ask your super administrator to create the repository and then make you its administrator.
Opening a local folder fails
Not a uVersion repository
The chosen folder does not contain a .uversion/config.toml. You have probably pointed at the parent
folder, or a subfolder. Aim for the workspace root, the one that contains the .uversion/ folder.
Creating a repository from an existing folder fails
This folder is already a uVersion repository - use "Open Local Repository" instead.
The folder is already a workspace. You are not trying to create a new one, but to reopen that one: use Open Local Repository.
The client refuses to open a workspace
This workspace belongs to '<owner>'. Clone your own copy instead.
This folder was cloned by another account, whose name is recorded in .uversion/config.toml. This
happens when you copy a workspace from one machine to another, or when you switch accounts in the client. The refusal is
deliberate: operating under another identity would produce locks and commits attributed to the wrong person.
Clone your own copy. If it really is your folder but the other account is also yours, switch to it in
the account selector.
The Unreal Engine path is refused
Invalid Unreal Engine path: '...' is not a recognizable engine install
The client expects the root of an Unreal installation, the one that contains both
Engine/Build/BatchFiles and Engine/Binaries. For example
C:\Program Files\Epic Games\UE_5.6, and not the Engine subfolder, nor your
project folder, nor a shortcut.
An Unreal action refuses to start
Unreal Engine path not configured. Please set it first.
Auto-detection found nothing. Set the path via the " … " menu on the
Unreal bar, entry Set Engine Path.... There is no other entry point: no input
field, no Browse button in the bar itself.
If the Unreal bar is entirely absent, it is not the engine path: the client did not
find the .uproject. It only looks for it three levels deep under the workspace root,
and beyond that it disappears with no message. Move the project closer to the root.
Unreal refuses my code submission
Code files must be submitted from the uVersion desktop client
The plugin refuses the checkin of .cpp, .h, .hpp, .c
and .cs files: the desktop client compiles before submitting and publishes the editor binaries. Submit your code
from the client.
You have code files checked out (...): submit your code from the uVersion desktop client first
A far more confusing variant, which strikes even people who do not write code: a single code file you have checked out also blocks your content submissions, even if that file is not part of the submission. Open the Pending tab of the desktop client, Your locks section, and do a Checkin or a Revert on the code files lingering there. See Unreal Engine plugin.
Unreal doesn't see the server
The editor shows a notification asking to start the desktop client. This is expected: a uVersion server is self-signed by default, and Unreal does not know how to validate a self-signed certificate. The login form of the Revision Control Login window does not get past this obstacle, filling it in is pointless. Start the desktop client, log in with the account that owns the workspace, and the plugin will go through it.
Locking files fails
Failed to acquire locks for {n} file(s). Another user may have them checked out.
Someone else holds those locks. The Pending tab, Other Users' Locks section, says who, and offers a Request Release button per row. Useful reminder: a lock never expires, no one will release it by the mere passage of time. An administrator can force the unlock, and the operation is tracked in the audit.
The command-line clone refuses the folder
Directory '...' already exists and is not empty
uversion clone requires an empty or nonexistent destination folder. Empty it, delete it, or aim for
another path. Not to be confused with the desktop client, where the folder you choose is the
parent: it creates a subfolder inside it named after the workspace.
Session expired
The client first tries to renew the token silently. If it can't, it returns to the login page with a banner. Simply re-enter your password. If this keeps happening, it is usually because the account has been deactivated on the server side, or an explicit logout has revoked the tokens of all your clients.
Full reset
See the Ubuntu/Debian uninstall or Windows uninstall pages to start from a clean install.