ClassicUO: An open source Ultima Online Classic Client

Discussion in 'Renaissance Discussion' started by Quick, Aug 5, 2019.

  1. Quick

    Quick Renaissance Staff
    Renaissance Staff
    UO:R Subscriber

    Joined:
    Jan 6, 2018
    Messages:
    469
    Likes Received:
    855
    [​IMG]

    For almost a year now, a new Ultima Online client has been under development by Andrea Karasho and a very small team of developers with the aim of making a viable alternative to the standard OSI and the other open-sourced unfinished UO clients (Orion and Sallos).

    Earlier in the year, I worked with those developers to get Razor working with this new client at the same time testing it on UO:R and either report bugs or submit code changes directly to fix UO:R specific bugs.

    For awhile, a lot of this work was "flying under the radar" so to speak but now that a good number of people either use it full time, or are just trying it out for the first time, a day or two doesn't go by without someone new reaching out to me for information so I thought it would be useful to post a guide for everyone who wants to try out this new client.

    DISCLAIMERS (PLEASE READ):

    • This client is still in the BETA phase. By the definition, it means you're testing software and you may have issues from something minor you can live all the way to a potential crash. If you aren't willing to accept this, don't use this client. If you are, use at your own risk.
    • This client contains two features that should NOT be used on UO:R as they mimic UO Steam and could presumably lead to a ban, so again, use at your own risk.
      • Grid Loot: This is where a grid will pop up and allow you to loot items on the corpse. On UO:R, this feature is more or less rendered useless due to the way loot drops in non-moveable containers and the usage of Restock to loot.
      • Auto-Open Corpses: The one in Razor behaves as expected so continue to use that one, but the one built into the client will open corpses as you walk by as you see in Steam.
    INSTALLING/UPDATING:

    Like any good software in development, the installation process at the moment isn't tied up in a nice self-install bow. However, I wrote a script that should make it as simple as possible. You can use this method to either install for the first time, or keep your versions of ClassicUO and Razor on the latest developer/test builds.

    These steps assume you're on Windows 10. If you are on an earlier version, please be sure to download PowerShell 5.1 first.
    • Open Windows Explorer, create a new folder (ie: C:\ClassicUO)
    • Open a PowerShell prompt to that folder (from Explorer, hold down-shift and right click you might have the "Open PowerShell window here") and execute the following command:
    Code:
    Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/markdwags/Razor/master/InstallClassicUOAndRazor-UORDefaults.ps1'))
    • If this is your first time installing ClassicUO with Razor, you will be prompted to respond to some questions and enter the path you have UO:R installed in (commonly C:\Ultima Online. The installation script will auto-insert all the required values to successfully connect to UO:R.
    • (Optional) Copy your existing Razor Profiles & Macros folders to the new location, also copy over counters.xml
    You can run that same PowerShell command from the folder and it will update everything without touching your existing profiles and macros. To help, I created a quick video tutorial on how to install everything.



    If you don't want to do it this way, you can manually download ClassicUO and Razor and set it up that way. The script above is designed to simplify the process, but isn't the only way to get everything installed.

    GETTING STARTED:

    With everything installed, go ahead and log in. Here's another short video demonstrating ClassicUO on UO:R as one might experience the first time they log in. It shows off some of the features within the client but be sure you spend time in the Options menu playing with the different settings.



    If you experience issues, please join the ClassicUO Discord server and report any bugs, feature requests, etc. You can also reply here with any issues and I'll try to help or hit me up on Discord if you want a quicker response.

    COMMON ERROR:

    If ClassicUO crashes, it will create a crash log in the root folder where you installed it. If you see this error:

    Code:
    System.DllNotFoundException: Unable to load DLL 'zlib': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
    Head over to https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads and download the x64 install. After you install that, try ClassicUO again.

    UOAM:

    UOAM will only work if it detects the standard OSI client running, which enabled the UOAssist API support of the app. To use UOAM with ClassicUO, do the following:

    1) Open the standard OSI client (with or without Razor) and leave it minimized. You don't have to log in.
    2) Open ClassicUO with Razor
    3) And finally open UOAM (Locked), and as long as you leave the standard OSI client open, it will track in ClassicUO perfectly.

    Thanks to @Miatrio for finding this work around. I know losing the use of UOAM to use this new client was a big change for many.
    Last edited: Oct 25, 2019
  2. Gideon Jura

    Gideon Jura Well-Known Member
    UO:R Donor

    Joined:
    Sep 8, 2012
    Messages:
    6,356
    Likes Received:
    5,485
    You, sir, have shown us all what it means to be a real wizard.

    In all seriousness, outstanding work man. That video is incredible.
    Ron Jeremy, WarrenBuffet and Quick like this.
  3. AshBorn

    AshBorn Active Member
    UO:R Subscriber

    Joined:
    Aug 9, 2016
    Messages:
    256
    Likes Received:
    156
    Omg. I’m in love. Installing tomorrow.

    Xoxo
    Quick likes this.
  4. Quick

    Quick Renaissance Staff
    Renaissance Staff
    UO:R Subscriber

    Joined:
    Jan 6, 2018
    Messages:
    469
    Likes Received:
    855
    I'm just glad to have the opportunity to contribute my small part to the project -- the real wizards are KaRaShO, zolter and Sascha.

    Here's me running around back in Oct 2018 trying to sort out some login issues (pre-Razor integration). The progress has been really amazing between what you see in this video and what you get now.


    RavenMagi likes this.
  5. LCH

    LCH Active Member

    Joined:
    Jul 25, 2018
    Messages:
    118
    Likes Received:
    38
    wow this is great
    being able to zoom out is a game changer for me
    thanks for the hard work!
    Quick likes this.
  6. LCH

    LCH Active Member

    Joined:
    Jul 25, 2018
    Messages:
    118
    Likes Received:
    38
    does this mean i can see a pk from very far away if i zoom out?
  7. Buga

    Buga Active Member

    Joined:
    Sep 11, 2015
    Messages:
    263
    Likes Received:
    142
    Awesome! Thanks for the guide quick and your efforts to put Razor working on this great thing.
    Quick likes this.
  8. Quick

    Quick Renaissance Staff
    Renaissance Staff
    UO:R Subscriber

    Joined:
    Jan 6, 2018
    Messages:
    469
    Likes Received:
    855
    Regardless of what client you use, you can only see people and items 18 tiles away. Zooming out doesn't increase that as it's managed by the server (notice when I'm zoomed out doors and signs were missing since they are out of range).

    That said, the older client doesn't let you see 18 tiles due to the limited window resolution while this one does. So yeah, you'll potentially see them a bit sooner depending on the direction they're coming in on.
  9. LCH

    LCH Active Member

    Joined:
    Jul 25, 2018
    Messages:
    118
    Likes Received:
    38
    thanks for the clarification.
    that's fine as it would have been a bit unfair to pks.
    i have a very small screen that's why i am currently seeing fewer tiles than i should.
    being able to zoom out solves this problem.
  10. AshBorn

    AshBorn Active Member
    UO:R Subscriber

    Joined:
    Aug 9, 2016
    Messages:
    256
    Likes Received:
    156
    Install went very smooth. I can now play UO on my 34 inch gaming monitor. I can stretch it to the entire thing and zoom in because I sit kind of far away and stuff is really small at the resolution of my monitor.

    This is amazing. I may actually become active again!
    Quick likes this.
  11. PaddyOBrien

    PaddyOBrien Well-Known Member

    Joined:
    Aug 12, 2014
    Messages:
    2,969
    Likes Received:
    4,113
    What about ships? Asking for a friend :D
  12. Quick

    Quick Renaissance Staff
    Renaissance Staff
    UO:R Subscriber

    Joined:
    Jan 6, 2018
    Messages:
    469
    Likes Received:
    855
    Yep, any item, multi (houses, boats), mobile that come into your client are being sent when you're 18 or less tiles away. If you watch my video, you see me running around Ocllo dungeon, and since that dungeon is built in game vs. on the static map, you can see the the borders appearing/disappearing as I run they can enter/exit my 18 tile range.
    Ouroboros likes this.
  13. Lightshade

    Lightshade Well-Known Member
    UO:R Subscriber

    Joined:
    Sep 12, 2013
    Messages:
    1,772
    Likes Received:
    2,340
    Looks promising. A client capable of higher resolutions and frame rates would go a long way towards "smoothing" things out and polishing this game if the server side were ever upgraded, also. Reminds me of the kind of detail possible with the artwork from a website a long time ago...High Res Challenge...

    http://www.andrea.net/uo/general/art/hrc_dragon.shtml

    I always liked this high res challenge as it stayed with the look and feel of UO while giving the graphics junkies a bit more.
    Ouroboros likes this.
  14. Labeler

    Labeler Well-Known Member
    UO:R Donor

    Joined:
    Jul 18, 2016
    Messages:
    1,893
    Likes Received:
    878
    more of a general concern...
    I see that the powershell (everytime you open CUO) checks for "updates".
    1: does this mean it keeps itself up to date to the "latest" version
    2: does it update Razor auto?
    3: can this all be enabled & disabled? (I rather not update automatically)
    4: if it does auto update, can it be rolled back to a previous version?
    5: are release notes provided for each update?
  15. Kiryana

    Kiryana Well-Known Member

    Joined:
    Jun 18, 2016
    Messages:
    1,033
    Likes Received:
    1,333
    If this is my only way to make music play UO on Mac OS, then I will try the installation.

    Hey @Labeler do you install under mac? or like most ... I think you're one of the mac users
  16. Labeler

    Labeler Well-Known Member
    UO:R Donor

    Joined:
    Jul 18, 2016
    Messages:
    1,893
    Likes Received:
    878
    i havent achieved CUO in wineskin yet (under high sierra)
    i hope to focus on this starting mid september to nail this down.

    also want to try port this over to OSX mojave using the new file system format (i lost the name)


    momentarily i can only explore CUO using bootcamp. this obviously defeats all the purposes of having a mac, so hope i can move back to OSX in the long run.

    quick did mention he doubts Razor and CUO will ever work natively on Mac (wineskin or MONO for that matter)
    which means the end of UO on mac. cause who can play without razor... its like being handcuffed, head under water and just a straw to breath some air... nowadays.


    one can only have hopes right...
    Xavant_BR and Kiryana like this.
  17. Hollywood

    Hollywood Well-Known Member
    UO:R Subscriber

    Joined:
    Apr 14, 2017
    Messages:
    2,837
    Likes Received:
    2,783
    Installed last night and dont think I could ever take that step back. Caught me off guard at first with how smooth it ran and almost didnt feel right. But as I played more and discovered more things about the client, I'm a fan of it. Thanks @Quick . Windows 10 installation was painless with your video guide.

    Saw the options for counters in the client, is there a way to have them in title bar with the icons? I'm sure I'll get use to client counters but figured I'd ask.
  18. Quick

    Quick Renaissance Staff
    Renaissance Staff
    UO:R Subscriber

    Joined:
    Jan 6, 2018
    Messages:
    469
    Likes Received:
    855
    1. Yes, if you run this script on the same folder with everything installed, it will update CUO and Razor to the latest developer version.

    CUO itself also has an auto-update feature when you launch it normally.

    2. Yes, the PowerShell script will update both. Also anyone can manually download Razor and extract it over the existing install if you wanted to do it manually.

    3. CUO updating upon launch can't be disabled at the moment, but I plan on submitting a code change to have a way to disable it.

    4. Yes, manually though by downloading the previous build artifacts and extracting over the existing install.

    5. On major releases yes, you can find them on the GitHub releases page. But for day to day updates on the dev version, you'd need to look at the commit notes. The version this PowerShell script downloads is the latest developer preview, which builds every time a code change is submitted to GitHub.
  19. Quick

    Quick Renaissance Staff
    Renaissance Staff
    UO:R Subscriber

    Joined:
    Jan 6, 2018
    Messages:
    469
    Likes Received:
    855
    ClassicUO can run in Windows, Linux and Mac naively. With Windows and Linux, Razor also works fine. With Mac, well here's a copy/paste with some info explaining the problem:

    Here's discussion on the mono github repo
    https://github.com/mono/mono/issues/6701
    Kiryana likes this.
  20. Quick

    Quick Renaissance Staff
    Renaissance Staff
    UO:R Subscriber

    Joined:
    Jan 6, 2018
    Messages:
    469
    Likes Received:
    855
    Great, glad you didn't have any issues. I agree, this client does make it hard to go back to the OSI client simply because of the FPS boost alone.

    Unfortunately we weren't able to put those icons in the titlebar like you get on the standard OSI client (SDL2 doesn't support that) so that counterbar gump feature was added as an alternative. You can still display values up there, but the associated images and colors will not display.
    Hollywood likes this.

Share This Page