Hello. On our shard (latest ServUO with Client 7.0.35.1) when we use [createworld command, i received many of "Not able to read client files" errors but as I see many of items/npcts are spawned. Are you got same problems with this command?
 
Hey LordFenris,

Have you checked the permissions to your UO folder ?
I'd set that folder's owner to the user who launches the ServUO Console ...

Example : sudo chown -R uouser /opt/uo/

At least, that's how I was doing when I used to be on Linux for running ServUO. ;)

-Rek-
 
We works on Ubuntu 12.04 and test on root account with commands sudo chmod -R 777
and full link to our folder containing server files and both 2d and 3d full client files. All folders are own by root. Today I temporary deleted saves folder and reuse [createworld command, errors (
World: Loading...Error: Not able to read client files), still exist but as I wrote in my last post - many of spawns are created and server going up for a clients connection.
 
Last edited:
I'm confused. It must be a OS problem. I think my datapath is correct because I can compile and run a server . ATM I got a main folder with full rights and three folders inside of main. First with servuo files, second with 2d client files and third with 3d client files. I can run our server, and I can login on it but always when world is loading we received errors " World: Loading .... Error : Not able to read client files" No other information. Same error when I copy 2d client files (needed for server work) to servuo main folder , and same when I put a full link to tiledata.mul in datapath.cs.
Here is my datapath.
All your suggestions will accept with gratitude

Edit:
I think that this part of server/item.cs is a problem

public static Bitmap GetBitmap(int itemID)
{
try
{
return OpenUOSDK.ArtFactory.GetStatic<Bitmap>(itemID);
}
catch
{
Utility.PushColor(ConsoleColor.Red);
Console.WriteLine("Error: Not able to read client files.");
Utility.PopColor();
}

return null;
 

Attachments

  • DataPath.cs
    3.3 KB · Views: 14
Last edited:
I've checked your DataPath.cs and I would remove any reference to the Enhanced Client in there. To my knowledge, it's not useful to put the Enhanced Client files on the server.

Here's an example of DataPath.cs that was working on Linux :
Code:
  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 = @"/opt/uo";
  /* 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
  */
  public static void Configure()
  {
  string pathUO = GetPath(@"Origin Worlds Online\Ultima Online\1.0", "ExePath");
  string pathTD = GetPath(@"Origin Worlds Online\Ultima Online Third Dawn\1.0", "ExePath"); //These refer to 2D & 3D, not the Third Dawn expansion
  string pathKR = GetPath(@"Origin Worlds Online\Ultima Online\KR Legacy Beta", "ExePath"); //After KR, This is the new registry key for the 2D client
  string pathSA = GetPath(@"Electronic Arts\EA Games\Ultima Online Stygian Abyss Classic", "InstallDir");
  string pathHS = GetPath(@"Electronic Arts\EA Games\Ultima Online Classic", "InstallDir");

  if (CustomPath != null)
  Core.DataDirectories.Add(CustomPath);

  if (pathUO != null)
  Core.DataDirectories.Add(pathUO);

  if (pathTD != null)
  Core.DataDirectories.Add(pathTD);

  if (pathKR != null)
  Core.DataDirectories.Add(pathKR);

  if (pathSA != null)
  Core.DataDirectories.Add(pathSA);

  if (pathHS != null)
  Core.DataDirectories.Add(pathHS);

  if (Core.DataDirectories.Count == 0 && !Core.Service)
  {
  Console.WriteLine("Enter the Ultima Online directory:");
  Console.Write("> ");

  Core.DataDirectories.Add(Console.ReadLine());
  }
  }
(...)

About your issue with OpenUOSDK, have you tried setting the path in the according file in your /servuo/server/ folder ?
It should point to you uo client folder ;)

Example :
Code:
  public partial class OpenUOSDK
  {
  //! You should point this to a directory containing a COPY of your client
  //! files if you are having conflict issues with ServUO using the same files
  //! that your client is using.
  //!+ Example: private static string _ClientData = @"C:\Server Files";
  private static string _ClientData = @"/opt/uo/";

Edit : attaching the two files and adding code examples
 

Attachments

  • DataPath.cs
    3.3 KB · Views: 17
  • OpenUOSDK.cs
    5.1 KB · Views: 13
Last edited:
As I see your OpenUOSDK.cs file is much largest that my. Here is my file from last version of ServUO
 

Attachments

  • OpenUOSDK.cs
    2.6 KB · Views: 13
Back