oracle

Citizen
Hey all,

New to ServUO and pretty much to UO too. I have been playing U6 and U7 (via Nuvie and Exult) and was always curious in UO. However I’m not much of a MMORPG fan myself, but from what I understood is I can also play it offline singleplayer style (right?)



I got some hours into Odyssey already and now I also would like to try the original via ServUO. Im trying to figure out on how to set up just now and what I need so some pointers would be nice. Most likely I’ll ask for help later as it seems tricky to set up… I expect that the guide on the webpage might not be detailed enough for me, lol. Also I do need to have the world generated with NPC, monsters and such.



There is something about the style, the feel of adventure and lack of a linear path that pulls me so much that I do want to put in some effort in to get it to work! Hope you guys can guide me when I hit the wall!
 

Everlast

Citizen
Ok mate,lets go!
1º-Download latest ServUo repo: https://github.com/ServUO/ServUO/archive/57.zip
2º-Download Ultima online client from uo.com and let the client update untill finished:
*Classic client: http://web.cdn.eamythic.com/us/uo/installers/20120309/UOClassicSetup_7_0_24_0.exe
*Enhanced client: http://web.cdn.eamythic.com/us/uo/installers/20101118/UOEnhancedSetup_4_0_10_1.exe
3º-Unzip your ServUo publish 57 where you want.I use it on my desktop.
4º-Go to folder Scripts/Misc/Datapath.CS and open it with your editor.
*if you dont have editor,i use sublime text 3: https://download.sublimetext.com/Sublime Text Build 3211 x64 Setup.exe
5º-Inside DataPath.CS,around line number 21 you find this:
C#:
private static readonly string CustomPath = Config.Get(@"DataPath.CustomPath", default(string));
-Change this line with the path to your Ultima Online installation,i show you mine:
C#:
private static string CustomPath = @"C:\Users\Kiko\Desktop\Client SERVER";
-For more clean and secure,you can just comment the first line with "//",and add the new one with your path like this:

C#:
//private static readonly string CustomPath = Config.Get(@"DataPath.CustomPath", default(string));
        private static string CustomPath = @"C:\Users\Kiko\Desktop\Client SERVER";
6º-Now save changes in DataPath.CS and close the editor.
7º-Go to ServUo publish 57 folder,and run the file named "Compile.WIN - Release".(I asume you using windows).
8º-Follow the instructions you can see in console until world is loaded and port is listening.The emulator will ask you to create your Administrator account.
9º-Open your favorite game assistant and choose the client and client folder you updated before.Set ip 127.0.0.1 and port 2593 and enter the world.
10º-Use command [CreateWorld and create it.now just wait,depending on machine.
11º-Enjoy your new world.
Here is a great tutorial to get started in ServUo:
Read this,is better than i say,but i hope it help you man! Welcome!
 

oracle

Citizen
Do you mean just the running the original EC without ServUO?
Seems when I run ServUO and boot up Ultima-adventures after I do get options to zoom and enlarge the screen. I think this might be they way I'm going to play. Just going through options what are possible and what not. I believe in general the EC doesnt get much love overal vs the CC?
 

Tukaram

Squire
I use ServUO, but there is a different loader for the EC. UOSALoader.
I have no idea what Ultima-adventures is, though... (I know what it was back in the early 90s)
 

oracle

Citizen
Well I managed to do all i wanted, now time to enjoy the masterpieces that kept alive by an awesome community!
 

Voxpire

Vita-Nex: Core
Administrator
5º-Inside DataPath.CS,around line number 21 you find this:
C#:
private static readonly string CustomPath = Config.Get(@"DataPath.CustomPath", default(string));
-Change this line with the path to your Ultima Online installation,i show you mine:
C#:
private static string CustomPath = @"C:\Users\Kiko\Desktop\Client SERVER";
-For more clean and secure,you can just comment the first line with "//",and add the new one with your path like this:

C#:
//private static readonly string CustomPath = Config.Get(@"DataPath.CustomPath", default(string));
        private static string CustomPath = @"C:\Users\Kiko\Desktop\Client SERVER";
6º-Now save changes in DataPath.CS and close the editor.
This part isn't necessary, that's why the /Config/DataPath.cfg exists.
 

DUDIKOFF

Citizen
yo páginas para empezar los primeros pasos en serveruo No funcionan. Algún consejo de cómo empezar desde 0 en temas de edición y tal
?Gracias
Esta parte no es necesaria, por eso existe /Config/DataPath.cfg.
He modificado el archivo /Config/DataPath.cfg. con la ruta del cliente, ya he hecho lo anterior y siempre me sale esta ventana marcando un directorio. No sé qué hacer
 

Attachments

  • uo.jpg
    uo.jpg
    61.1 KB · Views: 15
Last edited:

OzHawkeye

Citizen
Hello all,

I found this thread and am hoping someone may be able to help. I've been following Everlast's instructions, but I get an error when trying to run the "Compile.WIN - Release.bat" batch file. It seems a slew (all of them really) the .mul files aren't getting made (or aren't in the download) and I get this crash log:

Server Crash Report
===================

ServUO Version 0.5, Build 8228.41845
Operating System: Microsoft Windows NT 6.2.9200.0
.NET Framework: 4.0.30319.42000
Time: 12/07/2022 1:16:15 PM
Mobiles: 1
Items: 1
Exception:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: The type initializer for 'Server.TileData' threw an exception. ---> System.Exception: TileData: not found
at Server.TileData..cctor()
--- End of inner exception stack trace ---
at Server.TileData.get_ItemTable()
at Server.Item.get_ItemData()
at Server.Item.UpdateLight()
at Server.Items.BaseArmor..ctor(Int32 itemID)
at Server.Mobiles.SeaMarketOfficer.InitBody()
at Server.Mobiles.BaseVendor..ctor(String title)
at Server.Engines.Quests.MondainQuester..ctor()
at Server.Mobiles.SeaMarketOfficer..ctor()
at Server.Mobiles.SeaMarketOfficer.Initialize()
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Server.ScriptCompiler.Invoke(String method)
at Server.Core.Main(String[] args)

Clients:
- Count: 0

Do these files need to be separately downloaded?

None of the files mentioned as critical in the datapath.cs (listed below) appear anywhere in my server directory.

/* The following is a list of files which a required for proper execution:
*
* Multi.idx
* Multi.mul
* VerData.mul
* TileData.mul
* Map*.mul or Map*LegacyMUL.uop
* StaIdx*.mul
* Statics*.mul
* MapDif*.mul
* MapDifL*.mul
* StaDif*.mul
* StaDifL*.mul
* StaDifI*.mul
 

arvoreen

Citizen
Do these files need to be separately downloaded?

None of the files mentioned as critical in the datapath.cs (listed below) appear anywhere in my server directory.

/* The following is a list of files which a required for proper execution:
*
* Multi.idx
* Multi.mul
* VerData.mul
* TileData.mul
* Map*.mul or Map*LegacyMUL.uop
* StaIdx*.mul
* Statics*.mul
* MapDif*.mul
* MapDifL*.mul
* StaDif*.mul
* StaDifL*.mul
* StaDifI*.mul
These are client files, and will be in the folder your UO Client is installed in
 

OzHawkeye

Citizen
Have you /Config/DataPath.cfg completed this?
Thanks for your reply Milva, no, I hadn't done that (it wasn't listed in Everlast's to do list). I've made the amendment now, but it still hasn't corrected the problem, the same crash report is being generated at the same point as before, the listed files are still nowhere to be found.
 

Milva

Moderator
Just wondering do you have servuo in program files? If so move it out- if some where else maybe some one will have a answer for you :)
 

arvoreen

Citizen
Thanks for your reply Milva, no, I hadn't done that (it wasn't listed in Everlast's to do list). I've made the amendment now, but it still hasn't corrected the problem, the same crash report is being generated at the same point as before, the listed files are still nowhere to be found.
Can you show the modification you made to DataPath.cs? Can you navigate to the folder you specified in it and find the mul/uop files there? (the DataPath.cfg change will not matter if you changed the .cs file, but if you changed it back to the original version, show your DataPath.cfg info)
 

OzHawkeye

Citizen
Can you show the modification you made to DataPath.cs? Can you navigate to the folder you specified in it and find the mul/uop files there? (the DataPath.cfg change will not matter if you changed the .cs file, but if you changed it back to the original version, show your DataPath.cfg info)
Thanks for the reply arvoreen. Here goes:

This is from the DataPath.cs file, stored in E:\Games\Ultima Online Server\Scripts\Misc\DataPath.cs:
/* If you have not installed Ultima Online,
* or wish the server to use a separate set of datafiles,
* change the 'CustomPath' value.
* Example:
* private static string CustomPath = @"C:\Program Files\Ultima Online";
*/
//private static readonly string CustomPath = Config.Get(@"DataPath.CustomPath", default(string));
private static string CustomPath = @"E:\Games\Ultima Online Server";

static DataPath()
{
string path;

This is from the DataPath.cfg file stored in E:\Games\Ultima Online Server\Config\DataPath.cfg file:
# Uncomment this line and set it to the path of the client files to set a
# custom data path. Otherwise ServUO will look for the client in the default
# Windows installation directories. Note that this is *required* when running
# on non-Windows systems.
#CustomPath=C:\Program Files (x86)\Electronic Arts\Ultima Online Classic
CustomPath=E:\Games\Ultima Online Server

No files conforming to any of the below name formats appear anywhere in E:\Games\Ultima Online Server or any of its sub-directories:
Multi.idx
Multi.mul
VerData.mul
TileData.mul
Map*.mul or Map*LegacyMUL.uop
StaIdx*.mul
Statics*.mul
MapDif*.mul
MapDifL*.mul
StaDif*.mul
StaDifL*.mul
StaDifI*.mul

Either those files are missing outright from the https://github.com/ServUO/ServUO/archive/57.zip download, or are not being created at the necessary run-time point in the "Complete.WIN - Release.bat" batch file I'm running.
 

Cormac

Citizen
Thanks for the reply arvoreen. Here goes:

This is from the DataPath.cs file, stored in E:\Games\Ultima Online Server\Scripts\Misc\DataPath.cs:


This is from the DataPath.cfg file stored in E:\Games\Ultima Online Server\Config\DataPath.cfg file:


No files conforming to any of the below name formats appear anywhere in E:\Games\Ultima Online Server or any of its sub-directories:


Either those files are missing outright from the https://github.com/ServUO/ServUO/archive/57.zip download, or are not being created at the necessary run-time point in the "Complete.WIN - Release.bat" batch file I'm running.
Its because they reside in the uo client folders and usally its best to just copy the client to a differant location an set the config files to llook in that set as trying to play at the same time can cause issues.
I just create a folder on my desktop for the servers copy of uo client files .
Has most the old client files but serve uo works fine on the upto date files too
 

OzHawkeye

Citizen
Thanks for the reply Cormac.

Ok, from your post it sounds like one of these DataPaths should be pointing not at the server location (in my case E:\Games\Ultima Online Server) but at the game client I downloaded and set up (in my case E:\Games\Ultima Online Client). So my question then would be, which of the two that I've edited needs to be changed (or is it both in fact?)
 

arvoreen

Citizen
Thanks for the reply Cormac.

Ok, from your post it sounds like one of these DataPaths should be pointing not at the server location (in my case E:\Games\Ultima Online Server) but at the game client I downloaded and set up (in my case E:\Games\Ultima Online Client). So my question then would be, which of the two that I've edited needs to be changed (or is it both in fact?)
You want to change it in DataPath.cs; since you changed it there, you made DataPath.cfg obsolete. The original guide you were following was a little bit out of date, and the change should have originally been made in DataPath.cfg, and the .cs file left alone :) *edit: although I supposed it couldn't hurt to change it in both places
 

Cormac

Citizen
mine are in C:\Users\stewart\Desktop\ uofiles
I just made a folder and copied everything in my player folder to it for the server I run 3 differant versions as the kids love playing on differant versions . each with its own set of files


"H:\ServUO-54 mine-k\Config\DataPath.cfg"

the 2nd files where the change is made
 

OzHawkeye

Citizen
Thank you arvoreen and Cormac for your responses.

So, I changed the DataPath.cs file to read as follows:

public class DataPath
{
/* If you have not installed Ultima Online,
* or wish the server to use a separate set of datafiles,
* change the 'CustomPath' value.
* Example:
* private static string CustomPath = @"C:\Program Files\Ultima Online";
*/
//private static readonly string CustomPath = Config.Get(@"DataPath.CustomPath", default(string));
private static string CustomPath = @"E:\Games\Ultima Online Client";

static DataPath()
{
string path;

The client being installed in E:\Games\Ultima Online Client and the server being installed in E:\Games\Ultima Online Server. Unfortunately that made no difference and I still generate the same crash report when trying to run the Compile batch file.
 

arvoreen

Citizen
Thank you arvoreen and Cormac for your responses.

So, I changed the DataPath.cs file to read as follows:



The client being installed in E:\Games\Ultima Online Client and the server being installed in E:\Games\Ultima Online Server. Unfortunately that made no difference and I still generate the same crash report when trying to run the Compile batch file.
Hmm, I guess double check that the required files are located in that client folder, perhaps edit DataPath.cfg as well, and if that doesn't work, make sure the error is absolutely the same, and not some other crash happening. :) If those all check out. . .then I haven't got any idea! It should work!
 

OzHawkeye

Citizen
Hmm, I guess double check that the required files are located in that client folder, perhaps edit DataPath.cfg as well, and if that doesn't work, make sure the error is absolutely the same, and not some other crash happening. :) If those all check out. . .then I haven't got any idea! It should work!

Mayyyyybe, we're on to something here. I'm using the Enhanced Client, and the files don't appear there either. I'm downloading and updated the Standard Client now, will see if that works any better.
 

arvoreen

Citizen
Mayyyyybe, we're on to something here. I'm using the Enhanced Client, and the files don't appear there either. I'm downloading and updated the Standard Client now, will see if that works any better.
That may help, can honestly say I've never used the enhanced client, so no clue if it comes with the required files or whatnot! Just don't forget to change the DataPath to point to the classic client
 

OzHawkeye

Citizen
That may help, can honestly say I've never used the enhanced client, so no clue if it comes with the required files or whatnot! Just don't forget to change the DataPath to point to the classic client

Feeling confident now actually. The standard client has finished all it's downloading and installing and the files *are* there. Will run the compiler now.

-----

SUCCESS!

Thank you arvoreen, Cormac and Milva. You've been so very helpful!

So, the issue with original instructions were two-fold:

1. When amending the DataPath, it needs to be clear that the amendment is pointing towards the client directories, not the server directories.

2. The client MUST be the Classic not the Enhanced Client.

------

Ok, one more question, how do I point the clients towards the loopback address on my server, rather than them trying to reach out to servers out in the world? (eg/ the Wow server equivalent of the realmlist file for example).

------

Ok, firgured out how to use a UO assistant (Razor I'm using) to change the desired server address. Now playing! (Although I still need to figure out how to resize the screen which is awfully small). Thanks all!
 
Last edited:

oracle

Citizen
gratz on getting it to work!
Im trying to get the enhanced client to work with servUO again. I had it working, but after PC crash and getting the backup restored, it just did not work anymore.

Back then I only needed to start ServUO and start my offline shard and I could either use the classic or the enhanced client. strangly enough, the classic client works fine in my case
 

Cormac

Citizen
Feeling confident now actually. The standard client has finished all it's downloading and installing and the files *are* there. Will run the compiler now.

-----

SUCCESS!

Thank you arvoreen, Cormac and Milva. You've been so very helpful!

So, the issue with original instructions were two-fold:

1. When amending the DataPath, it needs to be clear that the amendment is pointing towards the client directories, not the server directories.

2. The client MUST be the Classic not the Enhanced Client.

------

Ok, one more question, how do I point the clients towards the loopback address on my server, rather than them trying to reach out to servers out in the world? (eg/ the Wow server equivalent of the realmlist file for example).

------

Ok, firgured out how to use a UO assistant (Razor I'm using) to change the desired server address. Now playing! (Although I still need to figure out how to resize the screen which is awfully small). Thanks all!
Glad I could help a tiny bit good luck on running it I personally love the config folder no more hunting files and just which line to edit .

don't hesitate to ask questions all too many give up from frustration ...
 

oracle

Citizen
well Cormac whenever you feel bored, maybe see if you can get the enhanced client to work with servuo XD
Last time I got to working, I feel it was pretty much a fluke on my end, haha.
Edit:
I get the feeling something just broke with like some of the latest enhanced client updates.
after directing the datapath to the enhanced client and running Compile.WIN, it just ends up in a loop giving the same error Ozhawkeye had.

Anyone knows a different method running an offline/local UO shard using the enhance client?
much appreciated yet again!!
 
Last edited:

Isonfire

Citizen
It remains that it would be more useful a new complete tutorial. One with Vita-nex and the other without. We have tips and tutorials everywhere.
 

oracle

Citizen
Well it's all thanks to this forum with all the tips,trick and guides that let me be able to get UO to run at all. Either I'm now either missed some crucial info, doing something wrong or the latest enhanced client messed stuff up.

But a new up to date tutorial would not hurt however!
 

Cormac

Citizen
well Cormac whenever you feel bored, maybe see if you can get the enhanced client to work with servuo XD
Last time I got to working, I feel it was pretty much a fluke on my end, haha.
Edit:
I get the feeling something just broke with like some of the latest enhanced client updates.
after directing the datapath to the enhanced client and running Compile.WIN, it just ends up in a loop giving the same error Ozhawkeye had.

Anyone knows a different method running an offline/local UO shard using the enhance client?
much appreciated yet again!!
I can try we use the stock client from broadsword for the family box I run .
Never even downloaded it will try it out since you mentioned it when I get a bit of time put it on my test version server . I am just a long time player that fiddles with serveuo as the grandkid's an friends like trying stuff they would get banned for on production servers .
 

oracle

Citizen
would be awesome if you get it to work! I tried reading up more, but none helped me getting it up and running again.