login, create, and guest are all enabled. Unused logins do get recycled.
Posts made by Sponge
-
RE: MUSH Workshop: Fundamentals 1 - Attributes, Flags, and Objects
-
RE: MUSH Workshop: Fundamentals 1 - Attributes, Flags, and Objects
This will begin in about two hours.
-
Vampire Time Scale MU
Had an idea, I'm not going to execute on it.
Vampire game set in 1920. It runs for a year then goes to soft RP for two weeks to retool.
After the retooling, the year is 1930. The game runs for a year, then goes to soft RP for two weeks to retool...
-
RE: Staffing Philosophy: Action vs Procedure
I should quote people. I didn't really mean the full disclosure of private information about a person, just this:
If you have a predator, someone who is preying upon others and who is hiding behind the protection of privacy, then expose that person. They're out there. Not everybody is innocent or can (or more often wants to) change. Screw them. Post logs of their private tirades if you like. Dump them out the back of the boat for the sharks so you can move along with the rest of your boat full of players, because they're the ones you should be protecting. There is a very good reason that trials are held in public where everyone has an opportunity to see the evidence and hear every side of things as well as the final verdict.
Disclosing what happened, who was involved, and what the outcome was is important for transparency. But if it seems to your players that you don't respect the privacy of some players, no one's privacy is guaranteed.
-
RE: Staffing Philosophy: Action vs Procedure
I keep thinking of useful things to say in the discussion and then shortly after I see you say it, phrasing it 10 times better.
...Somewhat tangentally, I used to have problems dealing with the egregious offenders.
One of my chief mistakes running City of Hope was being too hesitant with "discipline". I was so afraid of appearing to be a tyrant that I was super gun-shy about handing out a 72-hour ban. Not everyone wants to be a good player and no amount of OOC consequences are going to change their attitude. However, a taste of the stick will often make the ne'erdowells at least not do bad.
When I did have the sack to hand out discipline it generally worked well doing standard boundary-setting:
- Doing X is inappropriate.
- If you continue to X, I'm going to remove you from the game.
...some time later - You've continued to X when I told you not to. I'm going to remove you from the game for 72 hours. If you're not Xing after that, we're cool.
Usually, one of my 72-hour bans would go one of two ways. 1) The player would come back and no longer X. 2) They would immediately have a complete meltdown and earn a permaban.
I don't feel like taking away characters or IC things is productive. I feel it's more like sending a child to their room where all their video games and comic books are.
...Doxxing people is a double-edge sword. Sure, you might be justified in publishing proof of particularly egregious offenses. Doing so might help serve as a warning to potential future offenders and to other game operators. However, as it has been mentioned above, sometimes uninvolved players will wonder if they're at risk for being shamed publicly. Doxxing people invokes fear and it's really hard to point that fear precisely.
-
RE: PRP or SRP
If it's reasonable to assume that staff showing up means things are about to get ugly I'd be concerned about the nature of that/those staffers. Ideally it should just be "something's about to happen", but badness being a foregone conclusion doesn't sound great. Similarly, a lack of consideration for what players are doing, whether or not they're already having fun, is uncool.
24 super dudes getting murdered and nothing coming of it isn't because it's a PRP. The person running the PRP could carry it forward and make the blowback from the assault an ongoing source of RP. I'm guessing that what they (the STing player? the participants?) really wanted was a shoot-em-up. It doesn't take a person with authority to bring down consequences in RP.
Having the power and authority to bestow awards on participants isn't inherently wrong but it certainly leads to a lot of potential conflicts of interest. Even perceived conflicts of interest are detrimental to respect and authority for staff. It's tough to give out awards and consistently keep everyone feeling like it's all being done ethically.
I imagine it's pretty common for PRPs to actually be run by staffers on their PCs. It's nice to be able to scratch an itch to tell a story without being stuck with a lot of paperwork as a result.
-
RE: RL peeves! >< @$!#
Wrist locks are pretty easy to learn. The tough part to getting them right is knowing where and how your attacker's hand will be positioned.
-
RE: Ignore
The ability to Mute threads would be somewhat handy so the stuff you're not interested in doesn't bubble up. Collectively it would save tens of seconds every week!
Tangent: Each thread's last-read position seems to be stored in the cookie. This makes sense for the efficiency of the site but makes the feature useless when visiting the site from different devices.
-
RE: MUSH Workshop: Fundamentals 1 - Attributes, Flags, and Objects
If you run or play on a game and think players there might be interested and staff are cool with it, please post a copy of the above on the appropriate +bb.
-
RE: Game Design as Applies to MU and STing
@Arkandel said:
@Ganymede I will however say that having staff sphere seems to not have worked. It might be the implementations we've seen and not a problem by design but it's led to staff looking after 'their' turf instead of looking to serve the game's interests as a whole and to spheres ran as islands in multi-sphere games.
This is often a function of expertise. You wouldn't want me weighing in on your Demon, Changeling, Wraith, or Mage requests because I approach all of these with varying levels of incompetence. Vampire I'm pretty solid, Shifter I'm smarter than your average invertebrate but not an expert.
Expertise aside, it's totally reasonable to require book references for things and even without sphere expertise I can look at a request, look at the book reference, and try to sanity check things that may not jive. That at least lightens the load for the experts a little bit and grants me a few points in Sphere Ability: Foo.
Sphere-specific staff is an obvious solution to limited expertise, but it doesn't age well. To survive, a game doing that really needs procedures for handling requests outside of one's realm of expertise.
-
RE: Anyone want to ST for Changeling?
There are generally few problems with Wordpress itself but WP plugins are an endless source of security vulnerabilities.
If you've got the resources to host your own thing, I'm a big fan of dokuwiki. Its markup is the most intuitive (to me). It's quite powerful with little effort. The big downside is that you don't get the crazy templating capability of mediawiki. That could also be considered a feature.
-
MUSH Workshop: Fundamentals 1 - Attributes, Flags, and Objects
Sunday, May 17, 3PM PST on New Prospect MUSH I'll be hosting a class on fundamentals of interacting with a MUSH.
In this session I'll be covering attributes, flags, and objects. For some players, interacting with these things involves mysterious incantations (&something something=something). I'd like to dispel the mystery and have everyone leave with a working knowledge.
The primary audience are players who know how to get on a MUSH and RP but aren't so confident with any of these three topics. More experienced players may pick up a thing or two and can certainly help translate from Sponge Robot Speech(tm) to human.
I plan to turn this into a series on MUSH fundamentals. The second session should be "Commands, Substitutions, and Help". Sometime later, "Permissions, Powers, and Locks". I'd like the series to work toward classes on soft-coding built on a clear progression from pure basis to advanced topics. We'll see how it goes.
I'd like to see workshops about all aspects of contributing, especially how to plan and execute stories. I'm trying to sucker some of my own people into putting these together. It's something that benefits from lots of different viewpoints and sets of experiences so I think the community would be well-served by lots of people doing these.
If anyone wants to run a workshop on MUSHing, I'm happy to provide space, from a clean TinyMUX install to a "fully-formed" game.
-
RE: [Ethnicity Thread] Who Do You Think You Are?
I'm half Mom, half Dad and can't be bothered to care about the rest. I'm saddened by the thought that I won't get to see a world so racially intermixed that racism doesn't make sense. "Gotta watch out for those 3/16th Dutch, 1/8th Venezuelan people! They're shifty!"
I think pride in things you aren't responsible for is silly but I think it comes from a low appraisal of one's own accomplishments. We should each realize we're individually awesome instead of taking hollow solace in the possibility that someone else was awesome.
My hobby: claiming a non-power-of-2 denominator in my ethnic make up. Really, I'm 1/5th Navajo.
-
RE: A Platform For Experiments
It would need some hacking. The ?col() functions are just for coloration. The hasauthority() function needs to be replaced with a function to check if someone should be able to siteban. You'd also need to provide a means of running @restart after modifying the list.
@create Site Banninator=5 &META_AUTHOR Site Banninator=Sponge/#4 &META_PURPOSE Site Banninator=Enable people other than #1 to add/remove sitebans &META_UPDATED_BY Site Banninator=Sponge/#4 &META_NEEDS_FLAGS Site Banninator=inherit &META_NEEDS_OBJS Site Banninator=#10 #3 #1774 &DATA_DB Site Banninator=#1774 &CMND_SITEBANS_LIST Site Banninator=$+sitebans/list:@switch [hasauthority(%#,SITEBAN)]=0*,@pemit %#=You do not have the proper authority to manage sitebans.,1,@pemit %#=u(UFUN_LIST_SITEBANS) &UFUN_FMT_RECORD Site Banninator=[setq(I,extract(%0,1,1,|))][setq(U,extract(%0,2,1,|))][setq(T,extract(%0,3,1,|))][setq(C,extract(%0,4,50,|,|))][ljust(IP: %qI, 24)][ljust(By: %qU,25)][ljust(On: [mid(convsecs(%qT),0,11)][mid(convsecs(%qT),20,4)],24)]%rWhy: %qC &UFUN_LIST_SITEBANS Site Banninator=[header(Sitebans)]%r[iter(lattr(v(DATA_DB)/DATA_BAN_*),u(UFUN_FMT_RECORD,get(v(DATA_DB)/##)),\ ,%r)]%r[footer()] &CMND_SITEBANS_REMOVE Site Banninator=$+sitebans/remove *:@switch [hasauthority(%#,SITEBAN)][hasattr(v(DATA_DB),DATA_BAN_[u(UFUN_IP_TO_LABEL,%0)])] &UFUN_IP_TO_LABEL Site Banninator=edit(before(%0,/),.,_) &UFUN_VALIDATE_IP_CHARS Site Banninator=not(strip(%0,0123456789./)) &UFUN_FOLD_OCTET Site Banninator=add(shl(%0,8),%1) &UFUN_VALIDATE_IP_RANGE Site Banninator=[setq(I,u(UFUN_IP_TO_INT,before(%0,/)))]and(gte(%qI,u(UFUN_IP_TO_INT,1.0.0.0)),lt(%qI,u(UFUN_IP_TO_INT,224.0.0.0))) &UFUN_IP_TO_INT Site Banninator=fold(UFUN_FOLD_OCTET,edit(%0,.,%b)) &UFUN_VALIDATE_IP_OCTETS Site Banninator=not(edit(iter(%0,gt(##,255),.),%b,)) &UFUN_IP_VALIDATE Site Banninator=not(strmatch(iter(lattr(me/UFUN_VALIDATE_*),u(##,%0)),*0*)) &UFUN_LIST_BANIPS Site Banninator=iter(lattr(v(DATA_DB)/DATA_BAN_*),before(get(v(DATA_DB)/##),|)) &CMND_SITEBANS_DELETE Site Banninator=$+sitebans/delete *:@switch [hasauthority(%#,SITEBAN)][u(UFUN_IP_BANNED,%0)]=0*,@pemit %#=scol(You do not have the proper authority to manage sitebans.),10*,@pemit %#=scol(No such IP ban found. Try +sitebans/list.),11,{&DATA_BAN_[u(UFUN_IP_TO_LABEL,%0)] [v(DATA_DB)]=;@pemit %#=pcol(Ban for %0 cleared. You'll have to @restart for the changes to take effect.)} &UFUN_IP_BANNED Site Banninator=hasattr(v(DATA_DB),DATA_BAN_[u(UFUN_IP_TO_LABEL,%0)]) &CMND_SITEBANS_ADD Site Banninator=$+sitebans/add *=*:@switch [hasauthority(%#,SITEBAN)][u(UFUN_IP_VALIDATE,%0)]=0*,@pemit %#=scol(You do not have the proper authority to manage sitebans.),10*,@pemit %#=scol('%0' does not appear to be an acceptable IP to ban.),11,{&DATA_BAN_[u(UFUN_IP_TO_LABEL,%0)] [v(DATA_DB)]=[if(strmatch(%0,*/*),%0,%0/32)]|%N/%#|[secs()]|%1;@pemit %#=pcol(Added '%0' to sitebans list. Remember to @restart for changes to take effect.)} &CMND_SITEBANS_ADDPLAYER Site Banninator=$+sitebans/player *=*:@switch [hasauthority(%#,SITEBAN)][t(setr(P,pmatch(%0)))]=0*,@pemit %#=scol(You do not have the proper authority to manage sitebans.),10*,@pemit %#=scol(Couldn't find player '%0'.),11,{@fo %#[setq(I,get(%qP/LASTIP))]=+sitebans/add %qI=%1} @set Site Banninator=INHERIT @set Site Banninator=SAFE
and
@Startup Wizard=@dolist u(#1773/UFUN_LIST_BANIPS)=@admin forbid_site=##
On NPM/CoH, #1773 is the Site Banninator and #1774 is an arbitrary THING to hold the siteban data.
Crazy spongecode aside, maybe ZONES could help here? I've never played with them.
-
RE: Recipes!
How I do steaks.
- Buy good steak. 1" thick, minimum. I'm a NY Strip fan.
- Powder with Koshering salt. If you're not used to koshering salt, use a little more than you think you should; it's much less dense than table salt.
- Sprinkle with ground cumin
- Seal and stick in your fridge for 24 hours minimum.
- Preheat oven to 275F
- Put steaks on cooling racks, put those on a baking sheet to catch drips
- Sprinkle ground pepper and ground garlic to taste on the exterior. Add Cayenne if you're adventurous
- 16-20 min in the oven. 16 is for 1" steak, 20 for 1.5". It doesn't need to be precise
- Heat a skillet Med-High with a little oil (non-stick) or a lot of oil (cast iron)
- Sear the shit out of it... 1-3 min per side. No shame in flipping it over a lot.
- It's handy to cover the pan while searing so oil/fat doesn't splatter everywhere
- Once they're almost done, drop some (real) butter in the pan and make sure both sides get some
- If you're not used to doing steaks in a pan, a quick-read thermometer helps you get trained. I stop at about 110-115F for rare.
- Move your steaks off to a plate.
- Pour a few tablespoons of Worchestershire sauch in the pan to deglaze the browned butter. As you sprinkle it, keep the pan cover over to minimize splatter. Roll the liquid around in the pan. Wine works well in place of W sauce
- Pour the sauce over the steaks, cover and let rest for 10 minutes.
It's seriously easy and fantastically good.
-
Managing command arguments
I'm dealing with newest stable TinyMUX.
A pattern I commonly use is to make multiple versions of a command: one that interacts with an arbitrary player (usually for staff use) and one that interacts only with the player running the command.
+pizzas pepperoni - How many pepperoni pizzas do I have? +pizzas sponge/pepperoni - How many pepperoni pizzas does sponge have?
The first command will have a template like:
$+pizzas *:<stuff>
Since that template will match all versions of the command that have any arguments at all I end up writing ugly code to do my own argument parsing. Above is a fairly trivial case (I can just
after(%0,/)
) but as the command template becomes more complex, the ugliness of the parsing code quickly outweighs the benefit of only having a single command.Is there a softcode-accessible function that will do the same parsing that the command parser does and puts the arguments either in the regular argument registers or in the general-purpose registers?
Since my objective is to keep the code readable I'd prefer to avoid using regexp. Embarrassingly, I wasn't able to get the trivial +setnum example in help regexps2 to work so hideous regexps doesn't seem like an option for me.
Is there a smarter way to handle this using the regular wildcard-based argument parsing?
-
RE: RL peeves! >< @$!#
What I found with SSRIs is that they just made my emotional spectrum more narrow. When I was down I was rarely crushingly down. When I was up... well, I was never really up. It was like they made a drug to turn down the volume on feelings. Makes sense for surviving bipolar, but I never experienced mania.
The SNRI has kept the emotional range about the same as being unmedicated but seems to have raised the floor. Or maybe the emotional ceiling is the same as being unmedicated and floor has just been raised.
Your mileage is guaranteed to vary.
-
RE: RL peeves! >< @$!#
@silentsophia said:
Switching SSRIs. hey, it's not like I DIDN'T want to faceplant.
That sucks. I've done prozac, celexa, and paxil. Paxil was the worst, especially coming off of it. Have you tried any SNRIs? I've been having really good success with cymbalta.
-
RE: Shell help request: +weather text file writing
@Thenomain said:
@Melpomene, Try it sometime. Manually change 'sunny' to 'partially cloudy' then type 'weather conditions' and it should cut off part of it.
Any time you change a server-side help or news file, you must re-run @readcache. N.b., TinyMUX or TinyMUSH. I don't know how Penn or Rhost deal with it.
No. Check it, yo:
@readcache goes through the textfiles and associates all & keywords with the byte location of the next line that doesn't begin with &. When the help file changes and the length of one article changes, the offsets of all the following articles will be off. If you have exactly one article in the text file this will never be a problem. It's also never a problem if you change the size of the last article in the file as there are no following articles.