Victor
Member
Code:
----------------------------------------------------------------------------
ServUO - [http://www.servuo.com] Version 0.5, Build 5233.39846
Publish 54
Core: Running with arguments: -debug
Core: Optimizing for 4 64-bit processors
RandomImpl: CSPRandom (Software)
OpenUO Error: Client files not found.
Scripts: Compiling C# scripts...Finished with: 0 errors, 0 warnings
Scripts: Skipping VB.NET Scripts...done (use -vb to enable)
Scripts: Verifying...
Finished (3990 items, 998 mobiles, 11 customs) (0.84 seconds)
Regions: Loading...done
World: Loading...done (4 items, 0 mobiles, 3 customs) (0.18 seconds)
Restricting client version to 7.0.34.23. Action to be taken: LenientKick
ServerList: Auto-detecting public IP address...done (24.171.68.166)
04:09:46 Joeku's Staff Runebook: Loading...
04:09:46 Listening: 192.168.1.145:2593
04:09:46 Listening: 127.0.0.1:2593
04:09:46 ----------------------------------------------------------------------
04:15:07 Core: Using dual save strategy
04:15:07 World: Saving...Closing Save Files.
04:15:07 Save finished in 0.09 seconds.
I keep having this issue over and over. I had it a few months ago and i haven't messed with the server since then. Here recently i have been working with it to try and get it back up and running. So i get another server from the repo. Whole new server, nothing to do with my old server at all. But i still get this issue.
Code:
using System;
using System.IO;
using Microsoft.Win32;
namespace Server.Misc
{
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 (x86)\Electronic Arts\Ultima Online Classic";
*/
private static readonly string CustomPath = @"C:\Server";
/* 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 != @"C:\Program Files (x86)\Electronic Arts\Ultima Online Classic")
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());
}
}
private static string GetPath(string subName, string keyName)
{
try
{
string keyString;
if (Core.Is64Bit)
keyString = @"SOFTWARE\Wow6432Node\{0}";
else
keyString = @"SOFTWARE\{0}";
using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format(keyString, subName)))
{
if (key == null)
return null;
string v = key.GetValue(keyName) as string;
if (String.IsNullOrEmpty(v))
return null;
if (keyName == "InstallDir")
v = v + @"\";
v = Path.GetDirectoryName(v);
if (String.IsNullOrEmpty(v))
return null;
return v;
}
}
catch
{
return null;
}
}
}
}
I have altered my datapath file.
Code:
#region Header
// **********
// ServUO - OpenUOSDK.cs
// **********
#endregion
#region References
using System;
using System.IO;
using System.Linq;
using OpenUO.Core.Patterns;
using OpenUO.Ultima;
using OpenUO.Ultima.Windows.Forms;
#endregion
namespace Server
{
public 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";
public static string ClientDataPath = @"C:\Server";
public static AnimationDataFactory AnimationDataFactory { get; set; }
public static AnimationFactory AnimationFactory { get; set; }
public static ArtworkFactory ArtFactory { get; set; }
public static ASCIIFontFactory AsciiFontFactory { get; set; }
public static ClilocFactory ClilocFactory { get; set; }
public static GumpFactory GumpFactory { get; set; }
public static SkillsFactory SkillsFactory { get; set; }
public static SoundFactory SoundFactory { get; set; }
public static TexmapFactory TexmapFactory { get; set; }
public static UnicodeFontFactory UnicodeFontFactory { get; set; }
public OpenUOSDK(string path = "")
{
if (ClientDataPath == @"C:\Program Files (x86)\Electronic Arts\Ultima Online Classic")
{
if (Directory.Exists(path))
{
ClientDataPath = path;
}
}
Container container = new Container();
container.RegisterModule<UltimaSDKCoreModule>();
container.RegisterModule<UltimaSDKBitmapModule>();
InstallLocation location = (ClientDataPath == null
? InstallationLocator.Locate().FirstOrDefault()
: (InstallLocation)ClientDataPath);
if (location == null || String.IsNullOrWhiteSpace(location) || !Directory.Exists(location.ToString()))
{
Utility.PushColor(ConsoleColor.Red);
Console.WriteLine("OpenUO Error: Client files not found.");
Utility.PopColor();
}
AnimationDataFactory = new AnimationDataFactory(location, container);
AnimationFactory = new AnimationFactory(location, container);
ArtFactory = new ArtworkFactory(location, container);
AsciiFontFactory = new ASCIIFontFactory(location, container);
ClilocFactory = new ClilocFactory(location, container);
GumpFactory = new GumpFactory(location, container);
SkillsFactory = new SkillsFactory(location, container);
SoundFactory = new SoundFactory(location, container);
TexmapFactory = new TexmapFactory(location, container);
UnicodeFontFactory = new UnicodeFontFactory(location, container);
}
}
}
And i altered my OpenUOSDK.cs file.
There is no previous data to go back to, this is a completely new server. Those are the only two files i have changed. I got my classic client from the UO main website. Its patched up completely. I have restarted my computer. I'm at a loss, any ideas?