RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

[RunUO 2.0 RC1] XmlSpawner2

Status
Not open for further replies.

ArteGordon

Wanderer
XenoWolf said:
I'm having a problem where, randomly, xmlspawners are chewing up excessive amounts of memory.

There are no errors, no warnings... I load up the server and my memory slowly gets sucked dry a meg at a time. The reason I assume it's xmlspawner is that if I remove them all, the problem corrects itself and my memory is freed. During the memory 'vacuum' the shard freezes every few seconds and renders the shard completely un-playable.

It's not my hardware, as the shard runs perfect and lag-free without the spawners (and when the spawners are working correctly I have plenty of free memory). I was using version 3.11, and I didn't see anything in the changelog that might solve my problem (correct me if I missed it).

Not complaining really, just trying to give you a heads up. I wish I could give you information on how to re-create the problem... but it seems to happen randomly. I also loaded most of the spawners from Neruns' .map files, if that would effect this at all.

I would first try to see if it is due to some particular thing that is being spawned as opposed to the spawners themselves.

When you notice this happening, instead of removing them, try turning them off with

[global set running false where xmlspawner

If it is due to something that was spawned, this will make no difference (since turning them off doesnt remove spawns). If it is due to spawner activity itself then it will.

you can turn them back on again with

[global set running true where xmlspawner
 

ArteGordon

Wanderer
I will be going out of town for a while so I wont be able to help until I get back next week.

One thing that I would do is to check to see if it is a function of the number of spawns that you have.

Do you have smartspawning enabled? If so, that can change the number of spawns based on player activity. Spawns use memory and thus memory usage and then the pauses that are probably due to garbage collection, could be related to fluctuations in mob count.

You could test this by turning off smartspawning, and then forcing a full respawn of the server

[global set smartspawning false where xmlspawner
[global set dorespawn true where xmlspawner

If your server can handle the full mob load then you will be able to see that under those conditions.

What are your machine specs and what is the load at when this occurs?

(edit)

also if you are still running RunUO 2.0 RC1, you could try upgrading to the latest SVN.
 

snicker7

Sorceror
Just a little something that I noticed. Questholders can be snooped as normal containers and show their contents. Not really that big of a deal from a players perspective as you can't steal the items inside, but as staff it would be nice to see the gump that the players see when it's double clicked.
 

XenoWolf

Wanderer
ArteGordon said:
I would first try to see if it is due to some particular thing that is being spawned as opposed to the spawners themselves.

When you notice this happening, instead of removing them, try turning them off with

[global set running false where xmlspawner

If it is due to something that was spawned, this will make no difference (since turning them off doesnt remove spawns). If it is due to spawner activity itself then it will.

you can turn them back on again with

[global set running true where xmlspawner


Alright, I had it happen to me again and I did what you suggested. When I turned the spawners off the problem fixed itself... so it looks like it just may be the spawners. I still don't have any way to re-create the problem though.

Update: When I turned them back on.. I didn't have any problems for a few minutes, but then the memory destroyer was back.

I've made no alterations to your scripts.
 

XenoWolf

Wanderer
snicker7 said:
Sounds like a certain spawner in particular. Do you have any spawners you made yourself on the server?

The only ones I've added are wandering healers near the major dungeons. The only thing I noticed different is that I neglected to change names of the spawners (They're all called 'Spawner'). I didn't change any of the default properties.
 

ArteGordon

Wanderer
XenoWolf said:
Alright, I had it happen to me again and I did what you suggested. When I turned the spawners off the problem fixed itself... so it looks like it just may be the spawners. I still don't have any way to re-create the problem though.

Update: When I turned them back on.. I didn't have any problems for a few minutes, but then the memory destroyer was back.

I've made no alterations to your scripts.

thanks, that is helpful. You could try narrowing down the problem spawner by using [xmlfind to get the list of all of your spawners, and then shut them down a page at a time until you locate the problem one.
Click the check box in the upper right corner to select everything on the page and then press the 'Reset' button at the bottom to clear their spawns and turn them off.

You could initially just shut them down map by map by using [xmlfind to search for all of the spawners on a map, and then checking the 'Select all' checkbox (lower right corner) and then Resetting them. Then you could page through those on that particular map to narrow it down further.
 

ArteGordon

Wanderer
snicker7 said:
Just a little something that I noticed. Questholders can be snooped as normal containers and show their contents. Not really that big of a deal from a players perspective as you can't steal the items inside, but as staff it would be nice to see the gump that the players see when it's double clicked.

hmm. The default behavior should be to open the gump for players or staff on double click, and the questholder container itself should not open. What version on you using and how exactly are they opening it (just double clicking?)?

Have you modded the OnDoubleClick methods in either the questholder or xmlquestholder classes?
 

snicker7

Sorceror
ArteGordon said:
hmm. The default behavior should be to open the gump for players or staff on double click, and the questholder container itself should not open. What version on you using and how exactly are they opening it (just double clicking?)?

Have you modded the OnDoubleClick methods in either the questholder or xmlquestholder classes?

It's only when snooping. Works for players and staff.
 

ArteGordon

Wanderer
snicker7 said:
It's only when snooping. Works for players and staff.
ok, thanks. I'll check it out.

(edit)

adding this to questholder.cs will take care of both issues. It will prevent players from snooping questholders, and will allow staff to open the questholder status gump from questholders in player's packs.
I'll add this to the next update. Thanks!

Code:
		public override void OnSnoop(Mobile from)
		{
			if (from.AccessLevel > AccessLevel.Player)
			{
				from.CloseGump(typeof(XmlQuestStatusGump));

				from.SendGump(new XmlQuestStatusGump(this, this.TitleString));
			}
		}
 

XenoWolf

Wanderer
ArteGordon said:
thanks, that is helpful. You could try narrowing down the problem spawner by using [xmlfind to get the list of all of your spawners, and then shut them down a page at a time until you locate the problem one.
Click the check box in the upper right corner to select everything on the page and then press the 'Reset' button at the bottom to clear their spawns and turn them off.

You could initially just shut them down map by map by using [xmlfind to search for all of the spawners on a map, and then checking the 'Select all' checkbox (lower right corner) and then Resetting them. Then you could page through those on that particular map to narrow it down further.

Tried it using various methods... the problem won't re-emerge. It would most likely take weeks (or months) to 'narrow' it down to a single problem spawner since it happens quite randomly. It could start emerging a few minutes from the times the spawners are started, it could take days for it to emerge... there is no way for me to know. I believe it was a fluke that it only took a few minutes last time.
 

ArteGordon

Wanderer
I'll keep an eye out for it and if you track it down let me know. If you have smartspawning configured, you might try turning it off on all of your spawners and see if that does anything.
 

Auriel

Wanderer
Get the QuestHolder from XmlQuestMaker. Double click it and just double click it again without closing any opened gump. You'll get the NullReference exeption. :\
(RunUO 2 rev.66, XmlSpawner v3.13)

I think, that Null TextEntry checking is missed around line 53 in XmlPlayerQuestGump.cs (getting Objective4).
 

ArteGordon

Wanderer
Auriel said:
Get the QuestHolder from XmlQuestMaker. Double click it and just double click it again without closing any opened gump. You'll get the NullReference exeption. :\
(RunUO 2 rev.66, XmlSpawner v3.13)

I think, that Null TextEntry checking is missed around line 53 in XmlPlayerQuestGump.cs (getting Objective4).
thanks. I'll fix that for the next release.
 
I am using the latest SVN updated version of RunUO 2.0, and after I installed the package, I got this error and I am clueless on to what I am doing wrong...

RunUO - [www.runuo.com] Version 2.0, Build 2363.34317
Core: Running on .NET Framework Version 2.0.50727
Core: Optimizing for 2 processors
Scripts: Compiling C# scripts...failed (1 errors, 1 warnings)
Warnings:
+ Misc/Notoriety.cs:
CS0162: Line 119: Unreachable code detected
Errors:
+ Custom/XML Systems/XML Spawner/XmlSpawner2.cs:
CS0029: Line 9207: Cannot implicitly convert type 'System.Collections.ArrayL
ist' to 'System.Collections.Generic.List<Server.Tile>'
Scripts: One or more scripts failed to compile or no script files were found.
- Press return to exit, or R to try again.
 

ArteGordon

Wanderer
autumntwilight said:
I am using the latest SVN updated version of RunUO 2.0, and after I installed the package, I got this error and I am clueless on to what I am doing wrong...

this error is due to differences between RC1 and the latest svn. Check this line at the beginning of xmlspawner2.cs

//#define RUNUO2RC1

If you are running the latest svn it should be commented out. If you are using RC1 you should uncomment it.
 

REDiR2

Sorceror
Problem with install

** No i didn't post anything about a problem you solved right above this post HERE ** </me looks around innocently as he hits the edit button>
 

DebbieDoo

Sorceror
statics stealable

Ok I do know that this question has been asked a million times, but for some reason every search im doing is turning up nadda. Im looking for the command for static items to be stealable. Basically items that arent scripted, using only their item id.

EDIT:
Should've looked a little harder... :eek:

For anyone looking for the same info, I found it here:

Make stealable items
 
Status
Not open for further replies.
Top