Go Back   RunUO - Ultima Online Emulation > RunUO > Core Modifications > Serialization

Serialization This forum is for modifications to the serialization code of RunUO

Reply
 
Thread Tools Display Modes
Old 10-16-2005, 03:21 AM   #26 (permalink)
Forum Novice
 
Join Date: May 2005
Age: 36
Posts: 221
Default

Umm, where exactly are you supposed to put this World.cs file? Because when I do a search in my RunUO folders for the original World.cs file, all it is able to find is CreateWorld.cs.
seanandre is offline   Reply With Quote
Old 10-16-2005, 03:35 AM   #27 (permalink)
Forum Novice
 
Join Date: Nov 2003
Location: New Zealand
Age: 21
Posts: 151
Send a message via ICQ to Bmzx007 Send a message via AIM to Bmzx007 Send a message via MSN to Bmzx007 Send a message via Yahoo to Bmzx007
Default

Third line of the first post

Quote:
Please note...THIS IS STILL EXPERIMENTAL AND IT IS A CORE MODIFICATION.
I do not advise using this on a live or even test shard, unless you are going to develop it further. A deep clone is required for it to work correctly.

And if you do not know the difference between a Core Modification, and a Script Release, then perhaps you shouldnt be looking in this side of the forum.
Bmzx007 is offline   Reply With Quote
Old 10-30-2005, 09:53 PM   #28 (permalink)
Forum Novice
 
Join Date: Dec 2003
Location: South-Africa
Age: 19
Posts: 165
Default

Whoops, a crash!

Code:
Exception:
System.NullReferenceException: Object reference not set to an instance of an object.
   at Server.SectorEnumerator.Instantiate(Map map, Rectangle2D bounds, SectorEnumeratorType type)
   at Server.TypedEnumerator.Reset()
   at Server.TypedEnumerator.Instantiate(Map map, Rectangle2D bounds, SectorEnumeratorType type)
   at Server.Map.GetClientsInRange(Point3D p)
   at Server.Mobile.SetLocation(Point3D newLocation, Boolean isTeleport)
   at Server.Mobiles.BaseCreature.SetLocation(Point3D newLocation, Boolean isTeleport)
   at Server.Mobile.Move(Direction d)
   at Server.Mobiles.BaseCreature.Move(Direction d)
   at Server.Mobiles.IdleTimer.OnTick()
   at Server.Timer.Slice()
   at Server.Core.Main(String[] args)
^^ That happend right after the save was complete, my character in UO simply froze while saving :/
DaLaw66 is offline   Reply With Quote
Old 10-31-2005, 02:55 AM   #29 (permalink)
Forum Novice
 
Join Date: Nov 2003
Location: New Zealand
Age: 21
Posts: 151
Send a message via ICQ to Bmzx007 Send a message via AIM to Bmzx007 Send a message via MSN to Bmzx007 Send a message via Yahoo to Bmzx007
Default

Interesting result, however I do beleive that your issue is another script colliding with the saves.

In saying that, this save is still not stable, and is not a deep-copy, therefore quite useless, as there will be times where the data saved is out of sync.

I'll be re-working on this project in around 4-5 weeks time after I finish my degree off completely, stay tuned.
Bmzx007 is offline   Reply With Quote
Old 11-05-2005, 12:03 AM   #30 (permalink)
Forum Expert
 
Ohms_Law's Avatar
 
Join Date: Sep 2004
Age: 37
Posts: 1,006
Default

Interesting.
It's sure nice to see some folks testing and developing these kinds of systems. Even if nothing actually comes from it, everyone can still learn something from it.

Anyway, the reason for posting.
I haven't had an opportunity to test anything like this yet, but I've thought about it some.
from what I see you saying, you've taken an approach of modifying the just the save System itself, which is good because it's low impact on everything else. However, Have you thought about implementing an interface to add to savable objects in order to help you accomplish the task? Granted, it'll be a huge ammount of work, as pretty much every base class would need to be modified. however, I think that in the end it will be the only good solution to the problems that you've been discussing.
Now, keep in mind that I'm simply spitballing here... this is off the top of my head. I'd think that you would need something in each classes destructor method (in order to remove it from the save "database"), and an interface that each class would implement in order to serialize itself. basically the same thing as already exists... but different. humm.

anyway, keep at it. And keep us updated on how it's going! good reading.
Ohms_Law is offline   Reply With Quote
Old 11-05-2005, 12:08 AM   #31 (permalink)
Forum Novice
 
Join Date: Nov 2003
Location: New Zealand
Age: 21
Posts: 151
Send a message via ICQ to Bmzx007 Send a message via AIM to Bmzx007 Send a message via MSN to Bmzx007 Send a message via Yahoo to Bmzx007
Default

I have had more thoughts on how to get this working, and it would involve quite a large modification.

However I still have 3 weeks left of my Degree before I think of starting those things :P

But I do intend on working on this again after those three weeks. I am adament I want background saving of some sort
Bmzx007 is offline   Reply With Quote
Old 01-29-2006, 09:46 PM   #32 (permalink)
Forum Novice
 
Solinari555's Avatar
 
Join Date: May 2004
Age: 20
Posts: 178
Default

Regardless of whatever bugs may be occuring, it is still a good piece of base code. Many thanks.
Solinari555 is offline   Reply With Quote
Old 01-30-2006, 06:41 AM   #33 (permalink)
Forum Novice
 
Join Date: Nov 2003
Location: New Zealand
Age: 21
Posts: 151
Send a message via ICQ to Bmzx007 Send a message via AIM to Bmzx007 Send a message via MSN to Bmzx007 Send a message via Yahoo to Bmzx007
Default

Its not bad, and possibly might work if some more effort were put into it. Personally now I'd do it a different way.

If your looking at working on it, the only issue there was, is that the 4 arrays it saves arent synchronised, if you can sync them when you save (However you'd go about that), the problem is solved.
Bmzx007 is offline   Reply With Quote
Old 01-30-2006, 08:04 PM   #34 (permalink)
Account Terminated
 
Join Date: Jan 2006
Posts: 50
Default

is this a deep save or shadow save?
noob2 is offline   Reply With Quote
Old 01-31-2006, 03:47 PM   #35 (permalink)
Forum Expert
 
Endicott's Avatar
 
Join Date: Jan 2005
Location: 127.0.0.1
Age: 20
Posts: 357
Send a message via AIM to Endicott Send a message via MSN to Endicott Send a message via Yahoo to Endicott
Default

Hmm, thanks ill test it out.
__________________
Forum Rules
Live by Them
Endicott is offline   Reply With Quote
Old 04-13-2006, 04:18 AM   #36 (permalink)
Account Terminated
 
Join Date: Jan 2006
Posts: 50
Default

is this still being worked on?
noob2 is offline   Reply With Quote
Old 04-14-2006, 11:08 AM   #37 (permalink)
Forum Novice
 
Join Date: Nov 2003
Location: New Zealand
Age: 21
Posts: 151
Send a message via ICQ to Bmzx007 Send a message via AIM to Bmzx007 Send a message via MSN to Bmzx007 Send a message via Yahoo to Bmzx007
Default

Not right now. It is on my list of things to do, but I have many other Core/Script related projects ahead of it for my personal server.

And to answer your question, it is still a shallow clone. It requires modification to become a deep save before it is "safe". As the shallow clone allows members to be modified during the clone (Meaning arrays will become out of sync, and members will become out of sync with eachother).

I have recently been reading about Array Synchronisation and Thread Safety, so I may revisit this, sooner if I dig up information or have the sudden urge to work on it immediately again.

(Sorry for the lack of response, this thread got burried and I stopped watching it)

P.S. Just thinking ahead as well, I'd rather wait for RunUO 2.0 before I continue work on it at all. To make sure my work is current.
Bmzx007 is offline   Reply With Quote
Old 04-14-2006, 08:40 PM   #38 (permalink)
Account Terminated
 
Join Date: Jan 2006
Posts: 50
Default

yeh thats probly a good idea i'm sure its possible i know others have done it but they just didn't relaese it to the public
noob2 is offline   Reply With Quote
Old 04-20-2006, 01:31 AM   #39 (permalink)
Forum Novice
 
Join Date: Sep 2004
Posts: 107
Default

Quote:
Originally Posted by Bmzx007
Not right now. It is on my list of things to do, but I have many other Core/Script related projects ahead of it for my personal server.

And to answer your question, it is still a shallow clone. It requires modification to become a deep save before it is "safe". As the shallow clone allows members to be modified during the clone (Meaning arrays will become out of sync, and members will become out of sync with eachother).

I have recently been reading about Array Synchronisation and Thread Safety, so I may revisit this, sooner if I dig up information or have the sudden urge to work on it immediately again.

(Sorry for the lack of response, this thread got burried and I stopped watching it)

P.S. Just thinking ahead as well, I'd rather wait for RunUO 2.0 before I continue work on it at all. To make sure my work is current.
what if during the beginning of the save, it stops the clone and saves, then it closes the process running just through the main thread until the next save? (if it already does that forgive me)
Chrono13 is offline   Reply With Quote
Old 04-21-2006, 04:24 AM   #40 (permalink)
Account Terminated
 
Join Date: Jan 2006
Posts: 50
Default

yeh that might work if i was better at C# i'd probly mess with it but i'm not quite that far along yet
noob2 is offline   Reply With Quote
Old 04-21-2006, 02:58 PM   #41 (permalink)
Forum Expert
 
Ravenal's Avatar
 
Join Date: Oct 2003
Location: Spokane Valley, WA
Age: 24
Posts: 1,529
Default

RunUO 2.0 may have even done something with Saves that make things SO much more better who knows we'll just find out won't we :P
Ravenal is offline   Reply With Quote
Old 04-22-2006, 03:32 AM   #42 (permalink)
Account Terminated
 
Join Date: Jan 2006
Posts: 50
Default

hopefully the saves will be realy realy short
noob2 is offline   Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off



Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 RC5