Skip to content

UltimaOnChain/Ultima

 
 

Repository files navigation

Ultima OnChain

Ultima OnChain

Ultima Online, reborn on Solana.
A decentralized, player-owned sandbox MMO built on the ClassicUO client.

Follow on X Built on Solana


Introduction

Ultima OnChain brings the world of Ultima Online onto the Solana blockchain. Characters, items, gold, and land are no longer trapped inside a single shard's database — they are player-owned, portable, and verifiable on-chain.

The client is a fork of ClassicUO, the open source Ultima Online Classic Client. We retain its rendering, networking, and game-logic foundations, and layer on wallet-based identity, tokenized assets, and decentralized shard infrastructure.

screenshot

Why OnChain?

Traditional UO shards are custodial. Your 20-year-old character, your Valorite runic hammer, your tower in Trinsic — they exist at the mercy of a single server admin. One shutdown, one rollback, one policy change, and decades of play vanish.

Ultima OnChain flips that model:

  • You own your character. Your avatar is an NFT in your wallet.
  • You own your loot. Rare items are mintable NFTs with verifiable provenance.
  • You own your gold. In-game currency is an SPL token, tradeable anywhere.
  • You own your land. Houses and plots are on-chain deeds.
  • Shards compete for players, not lock them in. Any operator can host a shard; your assets travel with you.

How It Works

┌─────────────────────┐     ┌──────────────────────┐     ┌─────────────────────┐
│  Ultima OnChain     │◄───►│   Shard Server       │◄───►│  Solana Program     │
│  Client (this repo) │     │   (modified ServUO)  │     │  (asset + state)    │
│                     │     │                      │     │                     │
│  wallet adapter     │     │  signature verify    │     │  characters (NFT)   │
│  tx signing         │     │  action commits      │     │  items (NFT)        │
│  on-chain lookups   │     │  settlement batches  │     │  GOLD (SPL token)   │
└─────────────────────┘     └──────────────────────┘     └─────────────────────┘
  • Client — this fork. Adds a Solana wallet adapter, signs login + high-value actions, and reads asset metadata directly from the chain.
  • Shard server — a modified ServUO that verifies wallet signatures at login, emits on-chain commits for meaningful events (mint, trade, death, house deed), and batches low-stakes state to keep costs negligible.
  • Solana programs — hold the canonical asset ledger. Characters and items are NFTs; gold is an SPL token; shards read and write through signed instructions.

Hot-path game state (movement, combat rolls, chat) stays off-chain to preserve the feel of classic UO. Only consequential, ownership-changing events settle to Solana.

Roadmap

Phase Milestone Status
1 Fork ClassicUO, rebrand to Ultima OnChain ✅ done
2 Solana wallet adapter + signed-login flow (C# client) ⏳ next
3a character program — NFT mint + on-chain traits (devnet) ✅ live
3b Shard-side character signature verification
4a gold program — $GOLD SPL token (devnet) ✅ live
4b In-game faucet + sink economy integration
5 item program — NFT minting for rares and runics
6 house program — deed NFTs + land registry
7 Cross-shard asset portability
8 Mainnet launch

Devnet program IDs (see solana/):

Build from source

git clone --recursive https://github.com/UltimaOnChain/Ultima.git
cd Ultima/scripts
bash build-naot.sh

Binaries land in bin/dist.

Warning

On Windows, run .sh scripts from Git Bash (bundled with Git for Windows).

To run the client you still need a legally obtained copy of the Ultima Online Classic Client assets. Ultima OnChain does not distribute any copyrighted game files.

Platform support

Inherited from ClassicUO:

  • Browser (Chrome)
  • Windows (DirectX 11, OpenGL, Vulkan)
  • Linux (OpenGL, Vulkan)
  • macOS (Metal, OpenGL, MoltenVK)

Contribute

The project is early and moving fast. Issues and PRs welcome — check the GitHub issues for open work. For design conversations and announcements, follow @UltimaOnChain on X.

Credits

Ultima OnChain stands on the shoulders of:

Legal

Released under the BSD 4-Clause License (inherited from ClassicUO — see LICENSE.md). This project does not distribute any copyrighted game assets. Using a custom client to connect to official UO servers is strictly forbidden. We assume no responsibility for misuse of this client.

Ultima Online® © Electronic Arts Inc. All Rights Reserved. Ultima OnChain is a fan project and is not affiliated with or endorsed by Electronic Arts.

Solana® is a trademark of the Solana Foundation. Ultima OnChain is not affiliated with or endorsed by the Solana Foundation.

About

Ultima On Chain decentralizes the Ultima Online experience on Solana

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 99.3%
  • Rust 0.2%
  • TypeScript 0.2%
  • HLSL 0.2%
  • Shell 0.1%
  • JavaScript 0.0%