Keikun

Initiate
I'm having an issue with the updated server. I just updated to the lated "patches" for the server got all my dup files that were moved with the update out and i'm getting a fatal error now.

Error:
System.Exception: Type 'Server.Items.IDamageableItem' does not have a serialization constructor
at Server.World.ReadTypes(BinaryReader tdbReader) in c:(where the file is located)\ServUO-master\Server\World.cs:line 296
at Server.World.Load() in c:(where file is located)\ServUO-master\Server\World.cs:line 368
at Server.Core.Main(String[] args) in c:(where file is located)\ServUO-maser\Server\Main.cs:line 537
This exception is fatal, press return to exit

I have looked in both files at those lines and i don't see IDamageableItem in them at all. With the older copy I have this is not in there at all. Is there something I did wrong? Or is something missing from the files now?
 
Did you recompile the server with the bat? (if server files are changed, ServUO.exe needs to be recompiled. Note that this is not the same as recompiling the Scripts that ServUO.exe does itself)
 
--------------------------------------------------------------------------------

ServUO - [https://www.servuo.com] Version 0.5, Build 6306.2832
Core: Optimizing for 6 64-bit processors
RandomImpl: CSPRandom (Software)
Core: Loading config...
Scripts: Compiling C# scripts...Finished with: 0 errors, 0 warnings
Scripts: Skipping VB.NET Scripts...done (use -vb to enable)
Scripts: Verifying...
Finished (7095 items, 1388 mobiles, 5 customs) (1.39 seconds)
Config: Warning, using default value for DataPath.CustomPath
DataPath: C:\Program Files (x86)\Electronic Arts\Ultima Online Classic\
Regions: Loading...done
World: Loading...
Error:
System.Exception: Type 'Server.Items.IDamageableItem' does not have a serializat
ion constructor
at Server.World.ReadTypes(BinaryReader tdbReader) in c:\Users\Severn\Desktop\
ServUO-master\Server\World.cs:line 296
at Server.World.Load() in c:\Users\Severn\Desktop\ServUO-master\Server\World.
cs:line 368
at Server.Core.Main(String[] args) in c:\Users\Severn\Desktop\ServUO-master\S
erver\Main.cs:line 537
This exception is fatal, press return to exit
 
did you make any edits to World.cs?
from reading your error looks like you might be missing this line
Code:
				ConstructorInfo ctor = t.GetConstructor(m_SerialTypeArray);
have you tried merging the servuo patch World.cs file with urs?
 
--------------------------------------------------------------------------------

ServUO - [https://www.servuo.com] Version 0.5, Build 6306.20650
Core: Optimizing for 6 64-bit processors
RandomImpl: CSPRandom (Software)
Core: Loading config...
Scripts: Compiling C# scripts...Finished with: 0 errors, 0 warnings
Scripts: Skipping VB.NET Scripts...done (use -vb to enable)
Scripts: Verifying...
Finished (5367 items, 1283 mobiles, 5 customs) (1.17 seconds)
Config: Warning, using default value for DataPath.CustomPath
DataPath: C:\Program Files (x86)\Electronic Arts\Ultima Online Classic\
Regions: Loading...done
World: Loading...
...done (0 items, 0 mobiles, 0 customs) (0.07 seconds)
Experimental Room, Puzzle Room and Maze of Death initialized.
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\Severn\Downloads\ServUO-master\ServUO-master\Ultima\FileIndex.cs
:line 241
at Ultima.Art..cctor() in c:\Users\Severn\Downloads\ServUO-master\ServUO-mast
er\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)
at Server.Engines.VvV.VvVRewards.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, 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\Severn\Downloads\S
ervUO-master\ServUO-master\Server\ScriptCompiler.cs:line 667
at Server.Core.Main(String[] args) in c:\Users\Severn\Downloads\ServUO-master
\ServUO-master\Server\Main.cs:line 539
This exception is fatal, press return to exit



this is what i get from the master file when i just compile from what is up on github
 
it saying you dont have rights to artLegacy.uop....
Access to the path 'C:\Program Files (x86)\Electronic Arts\Ultima Online Clas
sic\artlegacymul.uop' is denied.

you either need to give yourself Full Controll to File or Run as Admin
 
did you make any edits to World.cs?
from reading your error looks like you might be missing this line
Code:
				ConstructorInfo ctor = t.GetConstructor(m_SerialTypeArray);
have you tried merging the servuo patch World.cs file with urs?
It does have it in it
 
--------------------------------------------------------------------------------

ServUO - [https://www.servuo.com] Version 0.5, Build 6306.20650
Core: Optimizing for 6 64-bit processors
RandomImpl: CSPRandom (Software)
Core: Loading config...
Scripts: Compiling C# scripts...Finished with: 0 errors, 0 warnings
Scripts: Skipping VB.NET Scripts...done (use -vb to enable)
Scripts: Verifying...
Finished (5367 items, 1283 mobiles, 5 customs) (1.17 seconds)
Config: Warning, using default value for DataPath.CustomPath
DataPath: C:\Program Files (x86)\Electronic Arts\Ultima Online Classic\
Regions: Loading...done
World: Loading...
...done (0 items, 0 mobiles, 0 customs) (0.07 seconds)
Experimental Room, Puzzle Room and Maze of Death initialized.
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\Severn\Downloads\ServUO-master\ServUO-master\Ultima\FileIndex.cs
:line 241
at Ultima.Art..cctor() in c:\Users\Severn\Downloads\ServUO-master\ServUO-mast
er\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)
at Server.Engines.VvV.VvVRewards.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, 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\Severn\Downloads\S
ervUO-master\ServUO-master\Server\ScriptCompiler.cs:line 667
at Server.Core.Main(String[] args) in c:\Users\Severn\Downloads\ServUO-master
\ServUO-master\Server\Main.cs:line 539
This exception is fatal, press return to exit



this is what i get from the master file when i just compile from what is up on github


This happens when you run other apps that also use the same install of UO.

Close UOFiddler, UOArchitect and the Client/Razor/Steam before you launch ServUO, or point ServUO's data path to an install of UO that isn't used by anything else.
 
none that will matter @Voxpire if he doesnt have rights to that file , it happened to me before some reason now when you patch the uops permission change, I had to manually goto the uop filrs and give myself Full Controll to use the files
 
I'm having an issue with the updated server. I just updated to the lated "patches" for the server got all my dup files that were moved with the update out and i'm getting a fatal error now.

Error:
System.Exception: Type 'Server.Items.IDamageableItem' does not have a serialization constructor
at Server.World.ReadTypes(BinaryReader tdbReader) in c:(where the file is located)\ServUO-master\Server\World.cs:line 296
at Server.World.Load() in c:(where file is located)\ServUO-master\Server\World.cs:line 368
at Server.Core.Main(String[] args) in c:(where file is located)\ServUO-maser\Server\Main.cs:line 537
This exception is fatal, press return to exit

I have looked in both files at those lines and i don't see IDamageableItem in them at all. With the older copy I have this is not in there at all. Is there something I did wrong? Or is something missing from the files now?
Have you solved the issue? I have exactly the same problem when I try to launch newest ServUO with my old save files - "Save" folder from ServUO Pub54 from around April 2016.

The older ServUO doesn't have that interface implemented. Also, in BaseDesItem.cs, DamageableItem has the method Serialize, but both the older file and the new file Serialize and Deserialize with "Version 0", even though new file serializes more information.

Does anyone have an idea how can I successfully load the old save? I really do not want to have a wipe on my server...

upload_2017-11-4_22-3-8.png
[doublepost=1509833953][/doublepost]Hmm... In the old files, BaseDesItem.cs has:
Code:
public class IDamageableItem : BaseCreature
.
I guess it's trying to load it, but in the newer files IDamageableItem is an interface without a Serialize() method. I'll try to tinker around, maybe change the old IDamageableItem : BaseCreature to something else, save and then use that save
[doublepost=1509836316][/doublepost]Uff, managed to fix the problem.

SOLUTION
:

- renamed IDamageableItem in old files (child of BaseCreature) to IDamageableItemC in Visual Studio and updated all IDamageableItem in the solution to IDamageableItemC
- started the server, did shutdown with save
- copied the new Save folder from the older version of ServUO into the new ServUO
- started new ServUO
 

Active Shards

Donations

Total amount
$0.00
Goal
$1,000.00
Back