1.0 - CREDITS

*Marcus Rating cironian@stratics.com The Creator of UOX* and   
    Everyone i've stolen hints and tips from
    The Dev Team(Includes all programmers)
    The Script Team(Includes all Script writers)
    Various homepages for info about UOX :) None mentioned, none forgotten.
    And Sephiroth of course.

And last but not least, NoFear for converting this Guide to HTML :)

1.1 - INTRODUCTION
    This is the first version of Xuri Dabur's UOX Helper, so please excuse any errors.
    If you find any, please    send me an email (xuri@sensewave.com) where you
    describe what i have wrong and how to do it right.
    Also, send me an email if there's something you would like being added to this file.
1.2 - WHAT IS UOX?
    UOX stands for Ultima Offline eXperiment.
    It is a server emulator for OSI's Ultima Online Server, created by Marcus Rating.
    This server emulator enables you to create your own server and play on it either
    locally, over modem, LAN or the internet at least 32 people at a time.
   
    There is no fee to set up an UOX server, and there is no fee to play on one.
    UOX is currently in it's Alpha stages, which means that it isn't near to the
    finished version. It has lots of the features you find on OSI's servers(see 1.3),
    but not everything works perfectly...yet.
   
    Even though Marcus Rating is the creator of UOX, he has released the code for the
    server emulator, and many programmers are now working together to enchance further
    the emulator. One thing that came with the release of code, is that no one can
    modify the UOX code, without releasing the modified code to the public.
1.3 - FEATURES
  - Adding Items
    - Agressive monsters/npcs
    - Automatic world saves
    - Bankers
    - Backpack
    - Bow/Salute
    - Broadcasting
    - Combat (Fully working)
    - Corpse Carving
    - Decaying
    - Doubleclicking on characters (Paperdoll)
    - Doubleclicking on items
    - GM Paging
    - Guards
    - Guildstones
    - Townstones
    - Healers
    - House deeds
    - Lighting Control (day & night & dungeon light)
    - Magic Wands & Weapons & Armor
    - Manual world saves
    - Moving Items
    - Multiplayer capability for at least 132 players
    - Murder count & death count tracking
    - Newbie Items
    - NPC Movement
    - NPC Speech
    - Players get hungry and do worse when not eating
    - Player Races
    - Polymorphing
    - Ridable horses
    - Reputation system with Karma/Fame
    - Running
    - Singleclicking
    - Skills Window with these working skills:
        *Alchemy
        *Anatomy
        *Animal Lore
        *Arms Lore
        *Begging
        *Blacksmithing
        *Bowyering
        *Carpentry
        *Detect Hidden
        *Enticement
        *Evaluating Intelligence
        *Fishing
        *Hiding
        *Inscribing
        *Item Identification
        *Lumberjacking
        *Mace Fighting
        *Magery
        *Magic Resistance
        *Mining
        *Parrying
        *Peacemaking
        *Provocation
        *Swordsmanship
        *Tactics
        *Taming
    - Spawning of items/monsters on ground or in chests
    - Sound Effects
    - Spellbooks with all spells except Telekinesis working
    - Status Window
    - Talking
    - Trigger system that allows you to do virtually anything(make quests etc)
    - Towncriers
    - Walking
    - Wearing Items
    - Weathersystem
    - Working clocks
    - Z positioning
    - Lots more. Too many to list here really :P
1.4 - SYSTEM REQUIREMENTS
    I do not have the exact system requirements for running an UOX server, but I know
    that it at least RUNS on a p100 with 24 mb ram for local use(Not reccomended though :).
    Windows 95/98/NT or Linux is also required.
   
    A well know fact is that the server and your UO client will run slower if you run
    them both on the same machine. If possible run the UOX server on one machine, and
    your client on another.
    Another speed-issue:
    Copy all the 7 UO-files needed by UOX(see in UOX3.INI) to a     directory of it's own,
    and reset the paths in UOX3.INI to these files. By letting the UOX server and your
    UO Client use different files, you may speed up the system a bit....
    More exact system requirements will come later...
1.5 - LINUX USERS
If the latest UOX version isn't compatible with Linux, you must download a version complied for Linux. Go to the http://www.uoxdev.com and ask around in the forums there.
1.6 - UOX LINKS
HTTP://UOX.STRATICS.COM - The Ex-Official UOX3 Homepage, now used by Cironian as a news site for anything UO Emulator related.

HTTP://WWW.UOXDEV.COM  - UOX3 Resource site, with downloads, forums, guides & more. Also hosts Xuri's WorldBuilder. :)

HTTP://DKBUSH.CABLENET-VA.COM/alazane/ - This is the homepage where you'll find InsideUO, a great tool to view UO                                                                             graphics with.

1.7 - UOX SERVER SETUP
    First of all, you HAVE to have the latest version of UO. To get it, just run UO.exe and
    the client will automaticly update itself at OSI's patching servers. You do NOT need
    an account with OSI to do this.

    Then what you need to do, is to download the latest version of UOX3. Make sure
    that the version you download is a full version. If the latest version of UOX3 is an
    update, you must download the latest full version, and then update that one.
   
       Now, when you unzip your UOX3.zip file(name of .zip may vary)you will get a directory
   called UOX. Inside that directory there will be two more directories.
   Here is a summary of what is in each Directory in the zip.

    UOX:
    | The UOX directory contains all the files needed to run your UOX3 server
    | successfully.
    |
    |--------------DOCS:
    |                 The DOCS directory contains all the latest docs and update messages, so be
    |                 sure to read all the files in this directory so you don't miss out on any
    |                 new features.
    |
    |--------------IGNITION:
                    Holds the program you need to use to start up your UO client if you want to be
                    able to log into UOX3.


    Alright, you're still with me? Good. Now, open the UOX3.INI file with either
    dos-prompt's EDIT command(EDIT UOX3.INI), or with windows notepad or wordpad.
    -Replace the 1st line with what you want your UOX server to be called.
    Don't make this name too long.
    -The 2nd line is the IP adress your UOX server will be using. If you want to play on
    the server locally (i.e. one player offline) use 127.0.0.1 as your IP adress.
    If you want to let other people play on yer server through LAN or the internet,
    replace the ini adress with the one you use on the LAN or on the internet.
    -The 3rd line is the PORT address your UOX server will be using. This is the number that goes behind the IPaddress in Login.CFG.

    -Ok under the IP adress and the ### line, you see some names and numbers.
    These are the starting locations which players can choose from when entering your
    UOX world. Don't worry about this yet. But remember to change these starting
    locations if you want the players to start in a particular place...The first
    number is the x-coordinate, the next is the y-coordinate and the third is the
    z-coordinate.

   NOTE: There MUST be 9 starting locations in UOX3.INI or your users may end up in the middle
   of the sea when making a new character. It doesn't matter if all the starting locations go to
   the same location(if you want the players to start in the same location no matter which town they
   choose), as long as there are 9.

    -Ok now scroll down to the bottom of the file. Here you should see 7 paths to
    the UO Client files (f.ex. c:\uo\map0.mul),
    if these aren't correct, replace them with the correct paths for the UO files.
    These files lie in the directory of your UO client, if you chose FULL INSTALL
    when installing UO. If not, these files are on your UO cd.
   
    -The first number below the file paths is the time in seconds between
    each auto save.
    -The number under the line with "heartbeat" in it, is the amount of gold the
    players start with on your UOX server. Feel free to change this number to what
    you find fitting.

    -Close the UOX3.INI file and open ACCOUNTS.ADM instead.
    You'll see something similar to this on the first couple of lines:
        SECTION ACCOUNT
        {
        NAME Username
        PASS Password
        LOCK 0
        LOCK 0
        LOCK 0
        LOCK 0
        LOCK 0
        LASTIP
        PUBLIC OFF
        CONTACT
        }
   
   Now, change "Username" to what you want your loginname to the server to be. And change
    "Password" to what you want your password to be. Remember that the password is CASE
    Sensitive, I.e. "PAsSWoRd" is different from "password".
    To add more users to your server, just change the "Username" and "Password" of the
    SECTION ACCOUNTs below the first one, or paste new ones.
->. DO NOT put another user on ACCOUNT 1, as this is the MAIN GM account.

    -OK. Now the setup of the UOX server is complete. But to play on it locally, you
    first have to go to your UO client directory.
    Now create two folders. One named "Backup" and one named "UOX3CFG".
    Copy LOGIN.CFG into first "Backup" then "UOX3CFG" so that you now have
    three files named LOGIN.CFG but in different folders.

    Open the LOGIN.CFG file in the "UOX3" folder and make it look exactly like this:
    LoginServer=127.0.0.1,2593
    LoginServer=127.0.0.1,2593
    LoginServer=127.0.0.1,2593
    LoginServer=127.0.0.1,2593

    Save and close the file.

    Now, to play on your uox server, first start up the uox server by running UOX3.EXE
    from your UOX directory in MS-DOS command line(Press START-menu and RUN and type COMMAND),
   or by double clicking on the UOX.EXE or UOX3.EXE file in your UOX3 folder.
    If you get the error "no .WSC found" don't worry, the server will automaticly make a new clean
    worldfile. Ok the server is up and running, but you're not on it yet.

    Go to your UO client directory, then copy the LOGIN.CFG from the "UOX3CFG"
    directory to the main UO client directory, overwriting the LOGIN.CFG already there.
   
   Now start up Ignition (sub-folder in UOX folder, goto http://www.uoxdev.com and download
   it if you don't have it),
    and it will start your UO client for you,
    and it will apply some magic to you computer's memory(RAM) so the UO client encryption
    won't stop you from logging on to your UOX shard.
    -->NOTE: YOU CANNOT LOG IN TO YOUR UOX SHARD WITHOUT USING IGNITION TO START THE UO CLIENT!!!

    When your UO client has loaded, enter the login name and login password you entered in
    ACCOUNTS.ADM, and you're up and running!

-->NOTE 2: If you want to play on the official shards again after you've been on your own
   shard, you must copy the LOGIN.CFG that's in the "BACKUP" directory into the main
   UO client directory overwriting the LOGIN.CFG that's already there. Do NOT start up the
   client using Ignition in this case.

1.8 - THE BASICS OF GM'ing
    This will be your first chance to use your newfound Game Master powers.
    The first thing you should know is that for there is a thing called "Command prefix" which is the
    key you use along with commands so the server recognizes them as such instead of normal speech.
    By default this Command Prefix is set to the key ' , so that means that you will have
    to use the key ' before every command you use ingame.
   This Command Prefix is scriptable,
    you can choose which key to use as prefix yourself, just open server.scp in wordpad/another text editor
    then locate COMMANDPREFIX ' and change ' to whatever key you want to use, for instance !.
    Note: You CANT use / as command prefix, as the UO client uses this key for sending messages to party members.
    The absolute first thing you should do is type in 'ADD; it is your main tool.
    It lets you do things such as make NPC's, items, or anything else you will need.
    First lets make you a GM robe. Your add menu is open right? Now double click on
    the icon of the hood (when you hold the cursor over it the bottom part of the 'ADD
    menu window says GM items\tools) it should open a new window check the
    Game Master Item's button. Now hit Continue. Now do the same for the box that says
    Characters and Robes and hit continue. We are almost done at this point.... Check the
    GM robe (undyed) option and hit continue. A targeting cursor should now appear.
    Wherever you click a tile that says GM Robe should appear. Now type in 'KILLHAIR
    and target yourself. This should get rid of any hair you have on ya. Now type
    'DYE 00 01 Now click on the robe icon on the ground. This dyed the GM Robe True black
    (if you do a 'DYE with no numbers after it it will bring up a color selector.. but
    Black is not on it ;) ) Place the GM Robe on your paper doll and there ya go.

    Some other basic commands are 'TELE which is the same as casting the spell teleport,
    'GMOPEN will open anything's backpack (this means you can add\look at loot in a
    monster's backpack) Something else you might wanna do is the 'SET command.
    What you do is 'SET Skill --- where skill is the name of the skill you are changing
    and --- is a number. Now because UO uses decimal numbers 90 does not equal 90% skill.
    900 is 90 % (in UO when you are dealing with percentages remember to add the last number)
    Think of it as 90.0. 'SET also works with stats. The stats use Str, Dex, and Int
    (not Strength, Dexterity, and Intelligence) Now with Stats 90 equals 90 (as it is not
    percentage based). Confusing enough? Now if you want to make it fair when you fight
    the monsters you made with 'ADD, you can do a 'NOINVUL on yourself to make yourself
    "mortal" again (meaning you take damage) and 'INVUL will let you make something
    invulnerable. A few last commands you may want to use is 'DUPE (dupes an item) and
    'SETAMOUNT ### (where ### is the amount) which sets how much of something is in a pile.
   
    To make you able to walk through doors and other items as a GM you have to use 'MAKEGM
    on yourself. Just adding a GM Robe won't do no good in this case :P
1.9 - SERVER BACKUPS
    UOX comes with an ability to set an archive directory for the uox3.wsc file. Just          before the world
    is saved, the old UOX3.wsc file is renamed and placed into the directory specified by a parameter in
    the SERVER.SCP file. To make this entry in SERVER.SCP, start UOX3 and then shut down the server again.
    Now look in SERVER.SCP. There should be an entry called ARCHIVEPATH. If ARCHIVEPATH is blank then no
    archiving will take place. To specify a location to archive the wsc file at, enter a path such as this:
    ARCHIVEPATH C:\SHARDBACKUP\ (the ending backslash IS required.)
    The file name will be in the format: uox3-yyyydddhhmmss.wsc where yyyy=4 digit year, ddd=3 digit day of year, etc.
    The Default setting for server backups is NO archiving.
1.10 - FAQ - FREQUENTLY ASKED QUESTIONS
    --Why do I get disconnected whenever I use a command, for instance /ADD or /TELE?
Because in a recent patch the UO client was changed to use the / letter for sending party messages.
Due to this, UOX has changed to use another key in front of the commands, and by deafault, that key is ' . You use it by
typing that key instead of / in front of commands, for instance 'ADD and 'TELE.
This key, named the Commandprefix is scriptable in server.scp. Look for COMMANDPREFIX ' and change
that to whatever you want.

--Why does my client halt at "Verifying account" or "Connecting to server"?
There might be several reasons for this. Here are some of the things that may cause these problems:
  • You have put the UOX port (2593) behind your IP adress in UOX3.INI. Remove the Port adress from UOX3.INI
  • You haven't put the UOX port (2593) behind your IP adress in LOGIN.CFG. Add the port to LOGIN.CFG, so
    it says "LoginServer=my.ip.adress,2593" (replace my.ip.adress with your ip adress ;P)
  • You have put the wrong IP in either LOGIN.CFG or UOX3.INI. Make sure you have the same IP adress in
    both of these files, and also make sure the IP adress is valid. Most computers use 127.0.0.1 as local IP
    adress, or "loopback ip" as it is also called. Use this if you want to play offline, locally on your own
    computer.
    Else, use WINIPCFG to find your LAN/Internet IP if you intend to use either of those.
  • You are using the wrong UO Client, or the wrong UOX client. Download the latest of both of these.
  • You are not using "Ignition" to start the UO client.
--What is "Ignition"?
Ignition is a tool created by Beosil, which when used with a configuration file that works with the
UO client, bypasses the encryption in said client, enabling you to log into UOX shards which does not
have this encryption.
--Why doesn't Lumberjacking work on my shard?
Lumberjacking works on every shard, when people can't seem to do it, it's because of either of these reasons:
  • They target the leaves of the tree instead of the trunk of the tree.
  • They have transparency enabled so they actually target behind the tree instead of the tree itself

1.11 - CUSTOM SCRIPTS
   If you're worried about keeping your changes to ITEMS.SCP and NPC.SCP when new script releases are done - it might be a good idea to start using the "custom scripts", which will never be touched by any script releases.
These custom script files basicly function like an extra pair of items.scp and chars.scp files.
If you want to use a custom NPC.SCP, add a line much like this within the first 10 lines of NPC.SCP:
CUSTOM_NPC_SCRIPT npc2.scp
A similar thing for ITEMS.SCP would be:
CUSTOM_ITEM_SCRIPT items2.scp
From then on, if the entries aren't in the main scripts, it will look in those new ones.

But these tags MUST be within the first 10 lines of either script. Not in their own section either. eg:
//*****************************************************************
//* UOX3 Scripts v.36 *
//* UModifications *
//* Last Update : 4/12/2000 *
//* Script : npc.scp *
//*****************************************************************
CUSTOM_NPC_SCRIPT npc2.scp

SECTION NPC 1
{
.....
}


Note that you must still use unique ITEM/NPC numbers in these custom script files, you cannot have SECTION ITEM 53 in both ITEMS.SCP and ITEMS2.SCP.