X House o Pain

House of Pain? Or was that Hall of Shame?

This page focuses on things that palace owners, operators, and designers should not do and will not flinch from pointing at the guilty.

Please Don't Shoot the Robots
 or, The Tale of the Bogus INIT

Built to Die... Who Cares? Robot Motto
Anyone who's spent some time fiddling with their cyborg script, if even to use the occasional "msay" spoof, knows about Cyborg-Free Zones.
A CFZ is just that, a zone without cyborgs a room (or rooms, or entire palace) where users' cyborg.ipt scripts are not permitted. Room scripts will still work, and room scripts may even access global variables that might have already been set or altered by the cyborg script in another room.
There are lots of excellent uses for CFZ's Harry's Bar at Communities.com's Mansion Palace is a good example of a room that's cyborg free and works well. Harry's is a room that focuses (mostly) on straight chatting, not on scripting technofests (allscray notwithstanding) or any of the occasional resultant lagfests that occur when lots of people get together wielding Palace rayguns, zappers, targeting computers and similar painterly lag machines. So it makes sense to be a CFZ.
A bad place for a CFZ is at a palace gate ("dropzone") that is, unless you plan on turning cyborgs off everywhere at your site (even for wizards). Why? Because of the ON SIGNON block.
The SIGNON block is used to initialize data, and more-importantly global functions, in most cyborgs. A common example is the ";ap" script used by The Botbot. "ap" is more than just an OUTCHAT command it declares and uses two global functions and three global variables as well. One of those functions, auto_pos is normally called at every OUTCHAT event (i.e., every single time you say anything). Unless the user can run their cyborg SIGNON code, those functions don't get initialized.
So what happens to a user using such a script, when they move from a Cyborg-Free gate area into an internal room that allows cyborgs? The undefined functions get called, the undefined global variables get accessed, and they...
Self-Righteous Hacker's Sidebar

Sure, you could sacrifice an appearance macro and change the fundamental structure of the bot by dumping the initializers into an ON MACRO trap that was in turn called by the SIGNON and ENTER handlers. Then, you could always re-initialize the bot code by hitting the macro manually in some room that did permit cyborgs. You could do that... at the cost on losing a macro.
Or you could load all the initializers into an ON ENTER trap, and re-execute all of them each time you entered any cyborg-safe room (just hope that you don't have any globals that might be used to maintain cyborg states, such as on/off switches or total-running-time counters... You could do that...
But the default structure, used by the cyborg distributed wityh every single client by The Palace Inc, uses SIGNON to do its initialization. Any savvy palace operator ought to know that 95+% of the visitors will use that default structure. Should the entire world rewrite their software just to access your site? You'd better have some pretty compelling content...

While we're on the subject of the Intel Boardwalk....

Just What Is "Appropriate Snooping"?

Here's a page, already written on the topic, for Stupid Palace Tricks.

Much More To Come

Becasue, let's face it, there's always plenty of shameful behavior to go around...