Janitor/saved posts

The official GemStone IV encyclopedia.
Jump to: navigation, search
Category: 2
Topic: 49
Message #: 130
Author: GEMSTONE [Fawn]
Date: Thu Sep 19, 1996 at 10:01 EDT
Subject: (Unknown)

Backtracking a bit...

Snuffy, I think maybe we should clarify that bit about the janitor: The janitor is an automatic system that runs at all times on a set <mumble> second interval (as part of the C-code). When an item is about to be "swept", i.e., deleted, the janitor passes it to a GM scripted system for evaluation. At that point, items are either deleted or moved into storage areas based on criteria we set.

To clarify that: the C-Code janitor is automatic and we only evaluate items *after* that system passes them to our own script.

What the GM who spoke to you was talking about, was how, after the items are filtered out into our storage areas, we disperse them. Many are deleted (how many vultite shields do we need to keep? ;), some are recycled as-is, some are modified and recycled, and some are set aside in case there is a dispute about their loss.

Now, how does the C-code janitor determine what and when to sweep? This depends on how many items (total) are in the game at any one time. The interval (wish I could remember the number) doesn't change, but the aggressiveness of the system does increase as resources reach more critical levels. For our purposes, there are two general types of items - the really plain stuff and the special stuff. The plain stuff always has the highest chance of being swept, BUT the janitor isn't always really smart about what is plain and what is not. (That's why he thinks silvers are "special" while a heavy backpack containing all your worldly goods might be "plain".) Plain items actually take up less resources than the special stuff, so this might seem backwards, but it's not really, since players tend to like special stuff a lot more. Contrary to popular belief, we do our best to get the janitor to take the mundane items out first.  :)

So when you lose something to the janitor in what seems to be a very short period of time, there are likely two factors at play:

  • There is a lot of stuff in the game. (This includes items on the ground, items in areas that are loaded, items on creatures, and items in player inventories.)
  • The <mumble> second cycle happened to fire shortly after your stuff hit the ground and because there was so much stuff in the game, the janitor was being more aggressive, meaning your special items had a higher chance of getting swept.

What can you do to help? The thing you have most control over is how much "stuff" you carry around. Imagine 1000 players, all carrying the number of items you have in your inventory right now. Unless you travel lightly, that is a LOT of *stuff* for the system to keep track of. It not only eats up resources and slows the game down, it makes the janitor more hyperactive. Junk in hunting areas is a part of the problem, but in fact, there are for more items in player inventories than on the ground. ;)

What are we doing to help? We've got a request in for a way that GM's can "label" items as (essentially) junk to the janitor. This will help a little, as do the trash bins located in various places around the lands. We're also talking about a couple of options that I'm not ready to discuss here yet.  :)

Whew! Long post. I hope it clarifies things a little.  :)


Category: The Hunt! (7)
Topic: Critters & Creatures (2)
Message #: 7360
Author: GS3-BANTHIS@PLAY.NET (Banthis)
Date: Mar 15, 1999 at 11:15
Subject: Re: Losing weapons

Krakii is correct except I think she didn't emphasize one further point...

If a creature has picked up a weapon and the area later unloads from memory, the creature carrying the weapon is saved WITH the segment so that when it reloads, the creature comes back in the same spot it was in before.

Oddly enough, you WANT creatures to pick up your gear, it's the best way to make sure it comes back. :) To respond to Danay; Creatures do not pick up gear if they wouldn't be using them already. Things such as coyotes or bears wouldn't be concerned with picking up a falchion, but a warfarer certainly would.


Category: Sorcerers (89)
Topic: Sorcerer Spells (4)
Message #: 444
Author: GS3-ROMULUS@PLAY.NET (Romulus)
Date: Jan 10, 2000 at 16:24
Subject: Re: Romulus please tweak FI

While you're checking the janitor is there any way you can tweak him to not immediately pick up player stuff over in Plat? It's so annoying running around while hunting and seeing the same blasted pink bowtie lying there from over 20 minutes ago, but as soon as you die here he comes and grabs your shield and weapon. I know your plate is really full right now so whenever you have a spare moment? Keep up the great work for us sorcerers! -- Desmonique


Are you seeing the items being picked up? The reason I am asking is because there are a variety of ways that areas are cleaned up:

  1. My packrat code can use a variety of messaging where you can see either packrats, or a mist that rises up and settles when cleaning or some similar messaging based on what should be in character/genre for the particular area.
  2. If the message is a whirlwind, then that is usually a cleaning utility that is initated by a GM. (I say 'usually' because similar messaging could be added to the packrat code)
  3. I know that this doesn't count for your situation, but we have items that will delete themselves from the game if they are not accessed after a period of time. These are usually items that are discovered on critters after you search them, or items the critters were wearing when they genned.
  4. If there is no messaging then the chances are that the IFE's C-coded janitor (which I cannot modify) has cleaned the room. The C-coded janitor is the origional game cleaning utility and is not accessable via GSL (the language we GMs code in). The C-coded janitor modifies how aggressively it cleans up the game based on how close the game is to its set resource limits. The resource limits can be set higher, which would cause the janitor to be less aggressive, but by increasing the game resource limits the game will slow down due to several technical issues. Because of this the preference is to keep the game resource limits as low as possible so that the game will run faster and more smoothly.

My main responsibility as the keeper of the janitorial system is to seperate those items we wish to keep for a time from those we wish to delete. On the off-hand chance that some items may be returned to the players I use a multi-staged filtering system that removes less valuable items from the system based on how long they have been in the different components of the janitorial system.

Within the janitorial system we have the pawn system (player pawned items), the charity system (janitor swept up items) and the auction system (items confiscated by the various legal entities). The pawn system is purged each four hours and the auction and charity systems are purged (filtered) each 24 hours. Each purging process includes a sort of filtering that deletes the less valuable items. After a few days only the most valuable items (and the items I have not coded for yet, and that exist only because some GM made something new) will remain in the system. These remaining items I have to either delete manually, or on a rare instance if the item seems interesting I'll keep it in one of my several hidden lockers.

There you go; more than you ever wanted to know about the janitor system. And no, I don't let people have any of the items from my lockers. In fact I don't even use them because they are unique and some may be considered artifacts. As such they should never be returned to the game. The reason I keep them is so that if I find anything like them (an unapproved copy) I'll be able to remove it from the player/game because the items should never have been duplicated and put back into the game.