☞Wasteland Warlock☜ (kingfox) wrote,
☞Wasteland Warlock☜

  • Mood:
  • Music:

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.

  • Post a new comment


    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.