Log in

No account? Create an account
Things NOT to do with $wizperms - Virtual Sacrifice Log
Aici zace un om despre care nu se ştie prea mult
Things NOT to do with $wizperms
CS, like any other MOO, has levels of permissions. Many of the admin-commands are named the same as Unix commands, many things work as if the MOO's a *nix server running on your server. God, wizard, $wiz/.wizard is the equivalent of root. You can do things to stuff you don't own, and your verbs/code can do anything they want, with exception of such things as dividing by zero and the like. So you can seriously fuck shit up if you're not careful. The rank down, $deity (actually up as far as object-oriented parentage systems go), has to @chown and @chmod things carefully and can't just wipe out the MOO without wanting to.

So this morning I decided that I wanted to reboot my work machine. I was talking with a co-worker about a project, VNC'ing into my machine, shutting things down. Netscape 7.0 leaks memory like Reagan, so I was overdue for a reboot. Instead of shutting down the test MOO I put on that box (always connected and static DNS means I can let GMs on CS test shit out and learn how to code. So I wanted to shut it down. Instead of telnetting in to it from my computer, or the computer I was using, I telnetted in through CS. Big mistake #1. I swear, when ogun reads this journal entry he's going to kill me. So I used the @telnet verb on the Network Feature Object to telnet into my box. The @telnet command lets you open an outgoing telnet session from the MOO. You send by typing x by itself and than what you want to send. So I connected to my MOO, logged in, and could have typed x @shutdown to do a normal countdown *nix-style shutdown. I decided instead to type eval shutdown();, skipping the countdown so I could reboot my machine faster and have it online waiting for me to login when I got to my office. Big mistake #2. Oh I'm so dead. So I do the quick and dirty shutdown. And forget the fucking x.

BOOM CS goes down. BOOM KF takes CS down.

So I ran to my office, decrypted my copy of the MOO server password, and put the MOO back up. Nothing lost, no damage, just a couple dozen players booted off, half of them in the wasteland or the streets. I move them to safety, blush, and post a cryptic message about the downtime.

I screwed up. Pure and simple. I did something I shouldn't have, wasn't careful, and messed up. The server could have used a restarting anyway, right?
Anyway, nothing lost, no time lost, everything's as it should be. If you see someone sleeping in public that I missed today, let an administrator know immediately.

I then made sure everything was ok, and walked downstairs to return to my conversation with aforementioned coworker about aforementioned project. Whew. As Incognito (the incredibly talented genius who can do anything) pointed out, he likes this fuckup story because nothing bad really occurred.

We've all got our fuckup stories. One night he recycled all the body part and street cell generics, and I had to call around Rochester at eleven on a Saturday night trying to find someone to reboot the server before it checkpointed and do a radio show at the same time. Once Ogun fed me a piece of code to clean up security loopholes, and it ended up damaging the code so badly that even Quinn, ancient font of wisdom Quinn, master MOO hacker and godlike entity Quinn, was impressed. Ogun once messed up the lockers that people stuff backup gear into. Once I threw hundreds of tasks into the task manager and caused it to blow up. Incognito and I have each caused a couple of server panics. These things happen. Everyone does a couple, and gets reminded of them every once in a while.

My favorite was when I restarted #765/#766. There have been a dozen different systems to handle random events. Vertigo had a system that spewed random messages to people on the matrix, streets, and in normal rooms. Oh yeah, and sent them random complant messages. There was an ooooold rnd_db event on #108, the matching room, that's so torn apart and forgotten that it's just a trace of fine dust in the virtual field. But #765/#766 was a simplistic system. It just sent random messages to rooms every so often. Looking at the wreckage one day as a new starting young programmer, I saw it was disabled for some reason. I made a bunch of cool messages for an alley I did (Needle Lane, my first contribution, mostly re-using old rooms never added), and tried to start the system up for those rooms. I got a bunch of error reports, gave up, and went to dinner with roommates. Meanwhile, all hell broke loose. People on the street started getting random messages about the door to the north, explosions and scientists, and all sorts of crazy shit. Bars that hadn't had messages started spewing outdated old messages. I logged back onto the MOO to find all of the administrators going apeshit trying to track where these messages were coming from. Vertigo and Elana were setting up systems to track their source, and Shadow Dragon was helping. I admitted I knew what caused it, and Shadow Dragon the man of few words paged me with, "It's ok, tell us, you won't get in trouble, don't worry." The system was put down, and months later I got it working and updated as a much cleaner and practical system. The messages on the street were because a former administrator, stymie from the look of things, inadvertently changed most of the rooms that display random messages to display a bunch of random messages about a bunch of scientists behind a door to the north. Whoops.

Feeling: geeky geeky
Listening to: Testament, Musical Death (A Dirge)

Chorus of 7 demons || Preach it
(Deleted comment)
ogun From: ogun Date: June 4th, 2002 06:55 pm (UTC) (Hard link)
That was me, actually.
ogun From: ogun Date: June 4th, 2002 07:08 pm (UTC) (Hard link)
CS has had any number of errors.
If it makes you feel any better, I don't thinkt there -was- a clean way for you to kill a @shutdown 60 if you'd dropped teh 'x'.
Reminds me, there's an eval I need to program up which lets us know who 'really' lost link according to a shutdown so we can deal with them.

Aside from the vacuming incident of infamy, my lovely debut with the lockers (for those of you not in the know, this involved removing about 1/4th of every player's owned items). I refuse to take responsiblity for the eval of teh $gods- I had meant it as pseudocode and he simply evaled it as is.
I've broken the wastes more times than I care to count. I've broken players pulsing god only knows how many times, and the NPC about half that.
Hell, I've even broken the 'people logged in' listing. A couple of times.

My favorite one...hmm. Gregory once had an eval which attempted to recycle every single $prog and $diety (two subdivisions of programmers), then tried to recycle everything we owned, but it was killed before it got -too- out of control. Incog's $body_areas is always fun. Elana once set up a logging system for potential cheaters that made every single command traceback (but this only took a couple minutes to fix).
My favorites are the amusing infinite loops which crop up occasionally- we recently had about 8 of them running with a lag of approximately 100 seconds. They don't break the MOO, they just make it really painful
kingfox From: kingfox Date: June 5th, 2002 07:42 am (UTC) (Hard link)
Actually, it's easy to kill a @shutdown. I've done it before elseMOO. Just @kill $shutdown_task.

Breaking the users logged in listing is nothing that new. Imajica managed to do it about once a week until Elana tore him a new one about fucking with the who list. I think I even managed to toast that list once or twice with com-enabled ahabs.

My favorites have to be the server panic ones. You're sitting there, no lag, no problems, and WHAM everyone's booted and CS goes down. A couple dozen people AIM/ICQ me at once.
ogun From: ogun Date: June 5th, 2002 10:05 am (UTC) (Hard link)
I'ts just wierd to 'hear' youcall Imajica 'him'.

I did cause a couple server panics when I played around with some db-cleaning utils. Overlarge lists and stack movements. Whoops.
But it's been at least a year since I broke the moo fully. *grin*
(Deleted comment)
kingfox From: kingfox Date: June 5th, 2002 04:30 pm (UTC) (Hard link)
It goes beyond that. The Victorian playergroup have managed to track down just about every single one of 'her' pictures. 'She' admitted a bunch were Angelina Jolie, so 'she' picked a lesser known actress. The Canucks then pointed me to another actress, where I saw Imajica's pictures. On every fansite dedicated to said actress. So either someone mistook 'her' for the actress, or 'she' ain't those pix.

She always talked about 'her' 'brother', going on about 'him' this and 'him' that, trying to set up female MOOers with 'her' 'brother'. 'She' went on about 'his' interests and 'his' activities a little too much. Any time 'she' needed to make a phone call to someone, 'her' 'brother' called. Any business 'she' started or MOO 'she' started, 'her' 'brother' really was working on as well to explain the male name all over. Hell, 'he' was even 'her' webmaster when questioned about the male name in her HTML.

Yeah, sometimes I miss the old lag too. I think I was much more productive during old lag, because I would code in notepad, paste it in, compile it, and wait through the lag to test shit out. That gave me time to browse the web or get a drink or something. Instead now whatever I do on CS just HAPPENS. Incognito said that CSing from a ship in the Middle East was a lot like being on oldschool CS.

We actually had some nine second lag lately during some runaway tasks, newbies were complaining saying they've never seen it so bad. We got to tell them about few hundred second lag.

Hell, I remember the APAI drone/rat fight in the subway. People got the subway moving, but it took over a half hour for it to start moving. The APAI drone's eye laser fired, but the person died/got booted a few minutes before the rest of the room got messages. It was ugly.

Do you think increasing $rpg.combat_round_length would increase RP?
From: graye Date: January 29th, 2003 08:30 pm (UTC) (Hard link)

I know this is like...seven months late, but...

Do you think increasing $rpg.combat_round_length would increase RP?

You know, it probably actually would. When combat slows down a bit, you can usually do a bit more than "yes, no, go n, kill X, go n, kill x, shout FUCK"

kingfox From: kingfox Date: June 5th, 2002 04:08 pm (UTC) (Hard link)
The biggest danger we were in a while ago (don't know if you were around) was when #111.owned_objects was sooooooooooooooo fuckin' huge, it caused the server to panic when we added or removed things from it. We ended up slotting a bunch of items to other inactive $wiz, and setting up the rarely logging on Trentham as $bin.default_owner. He still needed his account, as he sometimes logs on to fix shit, but probably wouldn't mind us slotting his account's quota full of stuff. I think stymie or Quinn will be next.

Besides, Trentham owned very little in the way of stuff. A simplistic girlfriend ahab, a simple one-room abode, the WLI control room, a few random objects
Chorus of 7 demons || Preach it