drmelon

all chosters chost chosts

gamedev (snolf romhack) πŸ‰ music πŸ‰ interactive fiction πŸ‰ pyjama elemental πŸ‰ nonbinary pan πŸ‰ πŸ’œ @leafcodes

@drmelon@mastodon.gamedev.place


gannets
@gannets

You probably already know that Space Station 13 has been largely developed by amateurs over the course of a couple of decades.

Here's a little story about how decisions made by folks like us who don't know any better can lead to Fun Consequences down the line. It also highlights some of the impossible to predict edgecases you deal with when working with twenty years worth of interacting systems.


So, to give a player character an ability you have to give them an ability holder that fits. For example, changeling antagonists need a changeling ability holder in order to do all their fun DNA sucking and shapeshifting.

We use the same structure for assigning abilities to administrators and developers, who are assigned the ability to do almost anything, like kick, ban, gib, reduce players to a pile of ash/goo/spiders and so on.

That makes enough sense and works largely the same today as it did way back in the early days (pre-2013) with one major difference.

These days the path for an ability holder might be:

/datum/abilityHolder/admin

But they used to be:

/obj/abilityHolder/admin

What's the difference? Well, a datum is just data whereas an object can be physically present in the gameworld.

At the same time there also used to be a bug where when a player was gibbed, they could drop more than just the usual pile of organs and whatever they were holding. They could also drop anything contained within their character's body. This includes their ability holders. This includes the admin ability holder.

So a nefarious player would:

  • Identify an admin or a dev's player character,
  • Kill them and explode their corpse, dropping their admin holder,
  • Pick it up themselves and be suddenly granted the entire suite of administration tools, up to and including the ability to restart the server at will.

This was patched fairly quick, but for a time you could really Attack and Dethrone God in SS13.


You must log in to comment.

in reply to @gannets's post:

I was briefly given super-user on my buddy's MOO back in the early 00's, and nothing made me happier than cramming my admin powers into physical objects and then hiding them in the world. A ring that allowed you to create rooms. A staff that allowed you to teleport yourself to any location. All just squirrelled away, in a bag in a box in a drawer.