Repository navigation
Troubleshooting
Start with the doctor launcher for your platform. Each one prints what's missing and how to fix it:
launchers\dev\smoke.bat desktop: engine, project import, C# build, client data, editor add-on
launchers\android\doctor.bat Android: SDK, JDK, templates, keystore, device
launchers\steamdeck\doctor.bat Steam Deck: this machine and the Deck, over ssh
launchers\web\doctor.bat web: the engine fork and its .NET SDKThe bootstrap fails, or tools\godot is empty.
Rerun launchers\pipeline\00_bootstrap.bat. It downloads the pinned Godot 4.7.2
mono build and clones the ClassicUO reference. Behind a proxy, download the
engine by hand into tools\godot (see tools/godot/README.md).
"C# not supported" or the project opens without scripts.
That's the non-mono Godot. GUO needs the mono/.NET build, and the launchers
use the pinned one. GODOT_EXE overrides it only if you know you need to.
godot prints nothing from a script.
Use godot-console. The plain executable returns immediately and writes
nothing to stdout.
dotnet build can't find cuoapi.dll.
The client compiles against upstream's cuoapi.dll in sources\ClassicUO.
Run the bootstrap. A git worktree finds the main checkout's sources\ by
itself (tools/msbuild/UpstreamDir.props); if that checkout keeps it
elsewhere, set UO_UPSTREAM_DIR (see Contributing).
"No UO client data" or missing files.
Set UO_CLIENT_DATA in launchers\_shared\config.local.bat to the folder
holding your .uop and .mul files, then run
launchers\pipeline\01_verify_client_data.bat. It checks the install against
the known file list and reports the version it found.
Wrong art, or a crash on load.
Set UO_CLIENT_VERSION if your client isn't the default version. A
needs_custom_data shard needs that shard's own client files: see
Servers and Accounts.
Slow first start.
The first run decodes art into the cache. launchers\pipeline\02_warm_cache.bat
builds it ahead of time (see Getting Started).
The client connects to nothing.
Nothing listens on 127.0.0.1:2593 until a shard runs there. Start the
Dev Shard, or set UO_SHARD_HOST and UO_SHARD_PORT, or pick a
server on the Servers tab.
Login works, then the shard drops you. Check whether the shard needs encryption or a specific client version, and check that its emulator allows third-party clients. Logging in with the same account from a second client disconnects the first.
Android can't reach a shard on your PC.
The Android download connects to 127.0.0.1:2593, which on the phone is the
phone itself. Forward the port over USB with adb reverse tcp:2593 tcp:2593,
or export your own build with your shard's address
(Android Build).
An Android update won't install over the old one. Builds from before the stable signing key used a fresh key each time. Uninstall the old app once; later builds install over each other.
The Steam Deck build won't start.
Run launchers\steamdeck\doctor.bat. It checks ssh, the Deck's files and the
.NET runtime on the Deck. See Steam Deck.
The web build. Godot can't export C# to the web yet, so the web client needs a community engine build. See Web Client and ADR-0008.
- Search Known Issues and the FAQ.
- Ask in GitHub Discussions (Q&A), or open an issue with the bug template. Say your platform, client version and shard emulator, and attach the client log. Never attach game data or screenshots of proprietary art you can't share.
- Security problems go through
SECURITY.md, never a public issue.
Start
- Getting Started
- Configuration
- Launchers and Tools
- What is GUO?
- FAQ
- Known Issues
- Troubleshooting
- Glossary
Builds
Playing
- Servers and Accounts
- Controller
- Mobile UI
- Canvas Background
- Screen Effects
- Asset Store
- Dev Shard
- Server Compatibility
Developing
- Scripted Runs and Probes
- Parity and Drift
- Editor
- World Editing
- Manage Your Shard From the Editor
- Author UO Data
- Building Multis
- Architecture
- Working with AI Agents
- Contributing
Project