Classic Ultima Online on Godot 4 .NET
Before you log in, GUO’s pre-game screen has a Servers tab. It replaces ClassicUO’s single address field and single remembered account with a server list and saved accounts for each server.
| Group | What it holds |
|---|---|
| Your servers | Servers you added by address. |
| Favourites | Any server you starred, from any group. |
| Recent | The servers you played last. |
| Community | The catalogue built into the client: shards whose admins asked to be listed and that allow third-party clients. |
needs_custom_data. They
need that shard’s client files. GUO can point a server at its own client
files (see Configuration).Shard admins can ask for a place in the Community group by opening a pull
request that adds one entry to servers/catalogue.json:
servers/catalogue.sample.json shows every field filled in, and
servers/README.md lists which fields are required.GUO keeps the accounts you save for each server in servers.json, in the
client’s user folder. The passwords themselves go to the operating system’s
own keystore, and the file records only which store holds each one.
| Platform | Where the password is kept |
|---|---|
| Windows | DPAPI, tied to your Windows user. servers.json holds only ciphertext that no other user or machine can decrypt. |
| Android | The Android Keystore. |
| Linux, Steam Deck | The Secret Service keyring (libsecret). |
| No keystore available | GUO doesn’t keep the password; you type it each time. |
Upstream ClassicUO keeps one password in settings.json, hidden behind a
simple XOR mask. GUO’s classic login screen still has upstream’s Save account
box, and a password typed there is still stored the upstream way. Save it on the
Servers tab instead to keep it in the keystore.
A debug build can mark accounts on the local dev shard (see Dev Shard) as dev accounts. Tick “Dev account” when you add the account on the dev shard’s page (the box reads “Dev account (one-click login)”).
UO_SHARD_HOST, UO_SHARD_PORT and the
client-data settings.docs/ui/second_screen_pregame.md and docs/data_formats.md
section 18 (the catalogue fields).