Hello:)

I've installed servuo and noticed it crashes. Running as administrator. Using Latest Servuo from repo, and lastest client.
Error:
Regions: Loading...done
World: Loading...
...done (0 items, 0 mobiles, 0 customs) (0.04 seconds)
Ultima Art: Unable to read client files.
Error:
Error:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: The type initializer for 'Ultima.Art' threw an exception. ---> System.UnauthorizedAccessException: Access to the path 'C:\Program Files (x86)\Electronic Arts\ServerFiles\artlegacymul.uop' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at Ultima.FileIndex..ctor(String idxFile, String mulFile, String uopFile, Int32 length, Int32 file, String uopEntryExtension, Int32 idxLength, Boolean hasExtra) in c:\Users\lisa\Desktop\ServUO\Ultima\FileIndex.cs:line 241
at Ultima.Art..cctor() in c:\Users\lisa\Desktop\ServUO\Ultima\Art.cs:line 15
--- End of inner exception stack trace ---
at Ultima.Art.Measure(Bitmap bmp, Int32& xMin, Int32& yMin, Int32& xMax, Int32& yMax)
at Server.CollectionItem..ctor(Type type, Int32 itemID, Int32 tooltip, Int32 hue, Double points)
at Server.Engines.VoidPool.VoidPoolRewards.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) in c:\Users\lisa\Desktop\ServUO\Server\ScriptCompiler.cs:line 667
at Server.Core.Main(String[] args) in c:\Users\lisa\Desktop\ServUO\Server\Main.cs:line 547
This exception is fatal, press return to exit


Heres my Data Config

# 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\ServerFiles

# If true all data paths other than CustomPath will be ignored.
IgnoreStandardPaths=False
 
Last edited:
I'm getting the exact same crash on the most recent repo (just dl'd about 20 minutes ago). Oddly enough, my other master thats roughly 3 months old loads just fine, with the exact same settings with the latest client. I never did anything at all with the datapath config file, just pointed DataPath.cs to the client the same way on both.
 
I could be off base with this-there was a fix for the voidpool recently let's ask @Dexter_Lexia

at Server.CollectionItem..ctor(Type type, Int32 itemID, Int32 tooltip, Int32 hue, Double points)
at Server.Engines.VoidPool.VoidPoolRewards.Initialize()
--- End of inner exception stack trace
 
The void pool crash I fixed wasn't related to this. This crash is due to access restrictions. I don't know why the ML code uses the Ultima.dll when ItemBounds.bin does the same thing, and is less problematic.
 
So a 3 month old master will work with a 7.0.52.2 client, but one that was just dl'd wont when on the same exact settings? With full secruity access? How does that happen?
 
Good question. Try recompiling the Ultima SDK and see if that helps.
[doublepost=1471275905][/doublepost]Please paste your crash report.
 
Just tried again after recompiling. Heres the full crash report using Debug
Code:
--------------------------------------------------------------------------------

ServUO - [http://www.servuo.com] Version 0.5, Build 6071.13920
Publish 54
Core: Running with arguments: -debug
Core: Optimizing for 6 64-bit processors
RandomImpl: CSPRandom (Software)
Core: Loading config...

Accounts.AccountsPerIp=5
Accounts.AutoCreateAccounts=true
Accounts.@RestrictDeletion=true
Accounts.DeleteDelay=07:00:00:00
Accounts.PasswordCommandEnabled=false
Accounts.ProtectPasswords=NewCrypt
AutoSave.Enabled=true
AutoSave.Frequency=00:00:05:00
AutoSave.WarningTime=00:00:00:15
Champions.Enabled=true
Champions.RotateDelay=01:00:00:00
Champions.GoldPiles=50
Champions.GoldMin=2500
Champions.GoldMax=7500
Champions.HarrowerGoldPiles=75
Champions.HarrowerGoldMin=5000
Champions.HarrowerGoldMax=10000
Champions.PowerScrolls=6
Champions.StatScrolls=16
Champions.ScrollChance=0.1
Champions.TranscendenceChance=50.0
Champions.Rank2RedSkulls=5
Champions.Rank3RedSkulls=10
Champions.Rank4RedSkulls=13
Champions.Rank1MaxKills=256
Champions.Rank2MaxKills=128
Champions.Rank3MaxKills=64
Champions.Rank4MaxKills=32
DataPath.@CustomPath=..\muls
DataPath.IgnoreStandardPaths=False
Expansion.CurrentExpansion=TOL
Factions.NewCoMLocation=True
Housing.AccountHouseLimit=1
Loot.Enabled=True
Loot.FeluccaLuckBonus=1000
Loot.FeluccaBudgetBonus=100
PlayerCaps.SkillCap=1000
PlayerCaps.TotalSkillCap=7000
PlayerCaps.TotalStatCap=225
PlayerCaps.StatCap=125
PlayerCaps.EnablePlayerStatTimeDelay=false
PlayerCaps.PlayerStatTimeDelay=00:00:15:00
PlayerCaps.EnablePetStatTimeDelay=false
PlayerCaps.PetStatTimeDelay=00:00:05:00
PlayerCaps.@EnableAntiMacro=false
PlayerCaps.PlayerChanceToGainStats=5.0
PlayerCaps.PetChanceToGainStats=5.0
Server.Name=My Shard
Server.AutoDetect=true
Server.@Address=
Server.@Port=2593
Staff.Staffbody=False
Staff.UseColoring=True;
Staff.GiveBoots=True
Staff.CutHair=False
Staff.CutFacialHair=False
Staff.Owner=1001
Staff.Developer=1001
Staff.Administrator=1001
Staff.Seer=467
Staff.GameMaster=39
Staff.Counselor=3
TestCenter.Enabled=false
TreasureMaps.Enabled=True
TreasureMaps.LootChance=.01
TreasureMaps.ResetTime=30.0
Vendors.@RestockDelay=00:01:00:00
Vendors.@MaxSell=500
VetRewards.Enabled=true
VetRewards.AgeCheckOnUse=false
VetRewards.SkillCapRewards=False
VetRewards.SkillCapBonus=200
VetRewards.SkillCapBonusLevels=4
VetRewards.RewardInterval=30:00:00:00
VetRewards.StartingLevel=0
XmlSpawner2.Sockets=false
XmlSpawner2.Points=false
XmlSpawner2.Factions=false

Scripts: Compiling C# scripts...Finished with: 0 errors, 0 warnings
Scripts: Skipping VB.NET Scripts...done (use -vb to enable)
Scripts: Verifying...
Finished (4561 items, 1148 mobiles, 5 customs) (1.13 seconds)
Regions: Loading...done
World: Loading...
...done (0 items, 0 mobiles, 0 customs) (0.03 seconds)
Ultima Art: Unable to read client files.
Error:
System.Reflection.TargetInvocationException: Exception has been thrown by the ta
rget of an invocation. ---> System.TypeInitializationException: The type initial
izer for 'Ultima.Art' threw an exception. ---> System.UnauthorizedAccessExceptio
n: Access to the path 'C:\Program Files (x86)\Electronic Arts\Ultima Online Clas
sic\artlegacymul.uop' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, I
nt32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions o
ptions, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolea
n useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share)
   at Ultima.FileIndex..ctor(String idxFile, String mulFile, String uopFile, Int
32 length, Int32 file, String uopEntryExtension, Int32 idxLength, Boolean hasExt
ra) in c:\Users\Dave\Desktop\ServUO-master 1\Ultima\FileIndex.cs:line 241
   at Ultima.Art..cctor() in c:\Users\Dave\Desktop\ServUO-master 1\Ultima\Art.cs
:line 15
   --- End of inner exception stack trace ---
   at Ultima.Art.Measure(Bitmap bmp, Int32& xMin, Int32& yMin, Int32& xMax, Int3
2& yMax)
   at Server.CollectionItem..ctor(Type type, Int32 itemID, Int32 tooltip, Int32
hue, Double points, Boolean questitem) in c:\Users\Dave\Desktop\ServUO-master 1\
Scripts\Services\CommunityCollections\CollectionItem.cs:line 32
   at Server.Engines.VoidPool.VoidPoolRewards.Initialize() in c:\Users\Dave\Desk
top\ServUO-master 1\Scripts\Services\Revamped Dungeons\Covetous Void Spawn\Items
\VoidPoolRewards.cs:line 21
   --- 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, Objec
t[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invoke
Attr, Binder binder, Object[] parameters, CultureInfo culture)
   at Server.ScriptCompiler.Invoke(String method) in c:\Users\Dave\Desktop\ServU
O-master 1\Server\ScriptCompiler.cs:line 667
   at Server.Core.Main(String[] args) in c:\Users\Dave\Desktop\ServUO-master 1\S
erver\Main.cs:line 547
This exception is fatal, press return to exit
 
From DataPath.cs
Code:
     //   private static readonly string CustomPath = Config.Get("DataPath.CustomPath", null);
        private static readonly string CustomPath = @"C:\Program Files (x86)\Electronic Arts\Ultima Online Classic";
        private static readonly bool IgnoreStandardPaths = Config.Get("DataPath.IgnoreStandardPaths", false);
DataPath config
# 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
# If true all data paths other than CustomPath will be ignored.
IgnoreStandardPaths=False
 
Did you recently update your client?
[doublepost=1471279405][/doublepost]What's weird is now, it's doing this all of a sudden. That code was utilized before the recent void pool implementation, with community collections.
 
I just updated the client late last night/ early this morning. My original ServUO Master is about 3 months old & runs fine on the latest client. I dl'd the latest repo 4 hours ago, compiled it & got that error from the start.
 
Strange for sure, tested with client 7.0.50.0 and it's fine, so yes seem's to not like the newest client :)
 
Why couldnt I find something little? I gotta be careful.. the next bug I may find could cause an entire re-write of the server itself. :(
 
This is a client issue. Something with the security settings of that file was changed during the recent patch.

I know a work around but am at work right now.
 
Still, something that puzzles me about all this. A 3 month old ServUO works just fine with the new client, but not the NEW ServUO and the new one wont work with an older client (I just tried).
 
Yea I haven't had a chance to look. The void pool code is calling code that's been used by community collection system, which obviously was working. Right click the UOP file, click properties, then Under the security tab, make sure SYSTEM has full control.
 
The 3 month old server doesnt have the RevampedDungeons, so no VoidPool coding to compare, but the CollectionItem.cs is the same with 1 exception. The QuestItem entries in the new one.
The line in CollectionItem.cs that is showing in the crash is line 32
Code:
Item.Measure(Item.GetBitmap(this.m_ItemID), out this.m_X, out this.m_Y, out mx, out my);
That line is identical to the one in the 3 month old server.
And in VoidPoolRewards.cs line 21 (which doesnt make much sense to me)
Code:
Rewards.Add(new CollectionItem(typeof(CauldronOfTransmutationDeed), 0x9ED, 1152656, (int)CraftResource.Bronze, 100));    //Bronze
 
I updated my client, and from an old save, and a new save, this did not happen. Is anyone else experiencing this? Also, try unistalling/resinstalling UO.
[doublepost=1471321493][/doublepost]Ok, added a fix to my pull request that should stop this. It's not really a fix, its more of an alternate method. The current system in place uses the Ultima dll, and I've always found that problematic.
 
Back