UO Demo T2A Test Server

Discussion in 'Era Discussion' started by Chris, May 29, 2013.

  1. Chris

    Chris Renaissance Staff
    Renaissance Staff

    Joined:
    May 14, 2012
    Messages:
    3,385
    Likes Received:
    6,196
    As some of the players are aware the staff of Renaissance take great care in our research and patching and do our best to avoid arbitrary changes. In order to allow our players to help us research and bring back the correct look and feel of the UOR era we have setup a semi permanent UO Demo Server.

    The UO Demo was released on the T2A CD with client version 1.26 in 1998. Players were able to install the demo and begin in Occlo to get an idea of what Ultima Online was like. Using some tools developed by the guys over at Joinuo we have successfully setup a public populated demo server for our players.

    This server can be accessed from your standard UOR client and razor with only a simple address change as seen below.

    uodemo.uorenaissance.com port 2593
    [​IMG]

    Feel free to log in, make a character and help with making UO Renaissance the best UOR server. This server is an exact replica of an OSI server from sometime around October 1998. By reviewing this server and comparing functionality found there to patch notes from Oct 1998 to the UOR era we can determine the exact mechanics of various aspects of the UO world.

    UO Relevant Patch Archive

    [​IMG]

    Note: If you want to run some specific tests, let me know and I will generate as many of the supplies as I can, along with setting your skills.
    Kiryana and newme like this.
  2. Jack of Shadows

    Jack of Shadows Well-Known Member
    UO:R Donor

    Joined:
    Aug 25, 2012
    Messages:
    2,851
    Likes Received:
    1,693
    are we going to be looking at success rates with skills and crafting and all that good stuff? I'd be down to make a thief there and document whatever (or however we can help)
  3. newme

    newme Well-Known Member

    Joined:
    Jun 3, 2012
    Messages:
    1,144
    Likes Received:
    1,276
    Wow..... Sounds like a fun way to give things a test..go.



    As always, thanks for the work



    Westra
  4. Urza

    Urza Active Member

    Joined:
    Jul 24, 2013
    Messages:
    443
    Likes Received:
    156
    Good idea...
  5. Grimoric

    Grimoric New Member

    Joined:
    Oct 9, 2017
    Messages:
    5
    Likes Received:
    4
    Last edited: Oct 9, 2017
  6. Minax

    Minax Well-Known Member
    UO:R Subscriber

    Joined:
    May 13, 2017
    Messages:
    897
    Likes Received:
    362
    Any testing for new bows or anything archery related on test ?
  7. Buga

    Buga Well-Known Member

    Joined:
    Sep 11, 2015
    Messages:
    689
    Likes Received:
    464
    Is this demo server still available?? I've been trying to login for a while without success.
  8. Grimoric

    Grimoric New Member

    Joined:
    Oct 9, 2017
    Messages:
    5
    Likes Received:
    4
    One likes this.
  9. Buga

    Buga Well-Known Member

    Joined:
    Sep 11, 2015
    Messages:
    689
    Likes Received:
    464
    Nice, I'll check that, looks like a a lot of work behind :)

    I've been doing some research about the UO Demo history and how it lead to server emulation, it is awesome how it all started decompiling the binaries and doing reverse engineering.

    I also found a timeline of emulation that gave me an idea of how many projects and ppl were involved to reach what we have now, simply amazing!

    I'm sorry for the offtopic but will try to have a working uodemo to test things, sometimes I wonder if some action or mechanic is correct and I don't have a valid reference to compare.
    Grimoric and Rextacy like this.
  10. Grimoric

    Grimoric New Member

    Joined:
    Oct 9, 2017
    Messages:
    5
    Likes Received:
    4
    If i'm not mistaken, there was Batlin (reverse engineering), Bicchus, Derrick (uosecondage.com) and Garret that worked on the UODEMO+ project from begining.

    I have spent a lot time trying to dig out T2A information from it, this might be interesting for you.

    Here is some more help on the topic UODEMO, it is all the scripts decompiled.

    https://github.com/Grimoric/UODEMO/tree/master/scripts.uosl [download]


    Bonus: This is the script files linked with HTML.
    http://www.uot2a.com/download/UO_DEMO_SCRIPTS.ZIP

    -Grim
    Last edited: Dec 3, 2017
    Buga likes this.
  11. Dalavar

    Dalavar Well-Known Member
    UO:R Subscriber

    Joined:
    Aug 11, 2013
    Messages:
    3,336
    Likes Received:
    1,915
    @Grimoric, how does one further "decode" some of the code, particularly in the scripts? Like "Q5RD" and "0x01"?
  12. Grimoric

    Grimoric New Member

    Joined:
    Oct 9, 2017
    Messages:
    5
    Likes Received:
    4
    It is a hard work, every function except for the builtin ones did have names like that from the beginning.

    If we look at the script called POISON we can see that it have inheret the POISONBASE script and that script have inheret SPELSKIL.

    Poison have a call for the function you took as a example.

    trigger message("castspell")
    {
    obj user = Q4BB(this, args);
    if(!isValid(user))
    {
    return(0x00);
    }

    Q5RD(user, this);
    Q4WO(user, this);
    return(0x00);
    }

    ...and if we follow the inheret we find the script in SPELSKIL file.

    function void Q5RD(obj Q68S, obj Q5UY)
    {
    if(!Q507(Q68S)) // "se below" it is a check if the player has a target script attached already.
    {
    attachScript(Q68S, "targeting"); // if not attach one.
    }

    setObjVar(Q68S, "targetingForObj", Q5UY); // sets the object of the spell casted.
    return();
    }

    function int Q507(obj Q68S)
    {
    return(hasScript(Q68S, "targeting")); // does the script exists on the player.
    }

    ---

    All function that have grey color default is builtin function and have no source code. like the attachScript, doDamage or getLocation as examples. The names was given in the decompiled code, we only have the names.


    About 0x00 and so on. Everything is using hex values to calculate things or reference to the images inside uo. (uofiddler to see them). and sometimes a 0x00/0x01 is boolean check in scripts. The only way is to look at the code and learn how they did stuff.

    It is a lot different comparing to RunUO and C#.
  13. Dalavar

    Dalavar Well-Known Member
    UO:R Subscriber

    Joined:
    Aug 11, 2013
    Messages:
    3,336
    Likes Received:
    1,915
    OK thanks - I did notice the 0x00 and 0x01 seemed to be used in True/False type ways. Makes sense.

    For the scripts like "Q4BB", that's disappointing. I was hoping there would be some easy trick there to translate into a more readable format :) But you're right, some things might be able to be figured out by knowing about how something works and tracing back through what's called to make it happen.

Share This Page