MU Soapbox

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Muxify
    • Mustard
    1. Home
    2. Sponge
    3. Best
    • Profile
    • Following 0
    • Followers 0
    • Topics 7
    • Posts 94
    • Best 19
    • Controversial 1
    • Groups 0

    Best posts made by Sponge

    • 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.

      posted in MU Questions & Requests
      Sponge
      Sponge
    • RE: Crafts & Things

      3D printing is dope.

      A sad amount of the printable models on the Internet are things for your 3D printer but it makes sense in the context of RepRap. There are also a lot of available models that aren't feasible on consumer printers unless you've spent the big bucks for an STL (e.g. Form1) printer. The bulk of the rest of the models are toys. Not having a kid this is of limited use.

      It's currently really fiddly as a hobby. This is definitely not a turnkey technology. The pipeline from 3D model to physical object is entirely in one direction. Software converts a 3D model into instructions for the printer on how to move. "Move left 0.06mm, extrude 0.013mm of filament, move forward 0.02mm..." There's no feedback to indicate that everything is going according to plan. The part can become dislodged from the bed and the printer will continue merrily along, extruding molten plastic into free space. Or, you can run out of filament and the printer will keep going, oblivious.

      However, pretty much any problem I can measure with calipers I can solve with the 3D printer, regardless of whether or not it's a good idea. I've made replacement parts for things, upgrades for things, and customized gifts for people.

      Here's a project I've almost completed: https://plus.google.com/u/0/+JasonMansfield/posts/jAbDh3zhYub

      posted in Tastes Less Game'y
      Sponge
      Sponge
    • RE: New Prospect MUSH

      The intention is what I'd describe as "compromise-based" rather than "consent-based". That said, I'm about to just state my vision of how consent works.

      A situation begins where chance can be a factor. The players briefly discuss what kind of risks they see to their characters in the scene, then hash out what outcomes they're willing to consent to. The storyteller may indicate that certain risks are critical to the story. If one character isn't willing to accept those risks and the group can't work out the kind of compromises that @Orange and @Bobotron indicated it may not make sense for that player to participate. Once everyone can accept the worst case scenario, the dice decide outcome.

      I like to believe that players are less risk-averse when they know they can set a limit on how much control they give up. When players indicate that they are unwilling to lose at all they self-identify as being limited to purely soft RP. When they fail to self-identify it can be disruptive for a scene or PRP but they probably won't be/shouldn't invited back for that kind of RP.

      They key to it working is participants communicating expectations. I'm not aware of any problems so far but to be frank I don't feel like we've done well to establish this as a cultural norm.

      posted in Adver-tis-ments
      Sponge
      Sponge
    • RE: Crafts & Things

      @Luna said:

      I just want to 3D print tiny unicorns. I want one so bad.

      http://printrbot.com/shop/assembled-simple-metal/
      $600. Filament's about $25/kg and falling. Don't get a kit to assemble yourself to save money if it's your first printer: they calibrate them after assembly which minimizes the chances of having to tear your hair out when it's not working properly.

      For some people these things can go net profit really quickly. As big as cosplay has gotten (and to a lesser extent furry) the ability to make custom, one-of-a-kind costume parts can make for better product and demand higher prices.

      posted in Tastes Less Game'y
      Sponge
      Sponge
    • RE: Map Maker, Map Maker, make me a map...

      There's stuff like this.

      posted in A Shout in the Dark
      Sponge
      Sponge
    • Hell-Ban MU

      I'm in the midst of a whack-a-mole game with banned player so the slight annoyance has my mind wandering. I've been thinking about this for a while and I don't think implementing this is worth the effort but I'll share the idea because it tickles me.

      I believe the idea of the Hell Ban originates from forums. The user isn't prevented from using the site, however, they are the only person who sees any of the content they generate. They post, their posts go up, if they leave and come back their posts are still there. Nobody else sees them though.

      With a few pieces you could do the same thing on MU. You would need to hack or hook the hard functions that determine "onlineness" for players like lwho(), hasflag(), etc, so that it shows people as being online. You'd have to hook page so that pages seem to go through to players that should appear to be online... or you could just have an emit to say that the person is page locked. You would need a robot to relay channel messages and onlineness updates from the real game to the hell game. Or you could just have scripted/logged events replayed. Finally, you'd need an iptables rules to DNAT hell banned players to the hell ban game; this is actually trivial.

      The result should be a game that makes all the noises of a live game and is difficult to distinguish from the actual game.

      posted in MU Code
      Sponge
      Sponge
    • 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.

      posted in Adver-tis-ments
      Sponge
      Sponge
    • RE: Random links

      https://lh3.googleusercontent.com/-s_xjs87-q2w/VU89EoEVBGI/AAAAAAAAB8U/2kqlZ13lhgI/w506-h557/Orc%2BCaress.jpg

      posted in Tastes Less Game'y
      Sponge
      Sponge
    • 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.

      posted in MU Code
      Sponge
      Sponge
    • RE: Staffing Philosophy: Action vs Procedure

      @GentlemanJack

      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.

      posted in MU Questions & Requests
      Sponge
      Sponge
    • RE: RL peeves! >< @$!#

      If you find yourself saying "I don't mean to X but..." stop right there. The most effective way to not do that thing is to just not do it. If you have to, hold your lips closed because any sentence that starts with that format is not going anywhere anyone wants to go.

      posted in Tastes Less Game'y
      Sponge
      Sponge
    • 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...

      posted in Mildly Constructive
      Sponge
      Sponge
    • RE: MUSH Workshop: Fundamentals 1 - Attributes, Flags, and Objects

      Posted! The code tag on this wiki doesn't line-wrap but you can download the log from the link above the code block.

      http://www.newprospectmush.com/guides/fundamentals-1

      In a couple of weeks I'll have office hours on New Prospect in case anyone wants to ask questions about what was covered in this session.

      The next session will be on understanding Commands, Substitution, and Help. It's probably a month out.

      posted in MU Questions & Requests
      Sponge
      Sponge
    • RE: Crafts & Things

      @Luna Unless you do a ton of weird crafting or have a lot of little plastic car dashboard/console pieces or appliance nobs and buttons you're not going to save money with it or profit. For most people that have one it's a hobby and not the tool of a profession. When you get it dialed in it's tons of fun.

      It also opens possibilities beyond printed plastic. You can easily print plastic things, finish them as desired. Then, you make a silicone mold and you can cast resins, chocolate, ice, anything not high-temp. If you're bout-it bout-it you can do sand-casting to make actual metal parts. I have a close friend who's collected pewter dragons since age 4 and I aspire to make some custom ones if I can ever get some 3D models I like for the purpose.

      If anyone takes the plunge let me know. Your first enemy will be your longtime foe: First Layer Adhesion. I can save you some agony here.

      posted in Tastes Less Game'y
      Sponge
      Sponge
    • RE: Tracking Alts

      The +alts system on CoH and NPM generate random IDs when someone registers. The list of characters that they consider their alts is stored under that ID. When a player claims that another PLAYER bit is also theirs it sends the second a prompt to verify or deny that claim. When the claim is verified, if both PLAYER bits have ID numbers with alt lists, one of the two IDs is picked arbitrarily and the lists are merged under that ID, removing the old ID.

      I haven't figured out a reliable way to detect fraud and I'm pretty confident it's not feasible to do casually. As you mentioned, throwaway emails aren't a barrier. IP addresses will be shared by multiple players in the same household, will change on many Internet connections, and can be sidestepped via mobile and cloud hosting providers.

      Players will usually tell someone that they secretly have other alts so HUMINT is your friend there, but not reliable. A handy signal is that most clients will state what they are during telnet negotiation, upon first connection. This gets into analyzing packet capture, will be error-prone, and won't be worth your trouble except in extreme cases. Another tool accessible in packet-capture land baysian analysis which is probably less worth your trouble.

      The good news is that most players will won't take steps to evade alt detection and will usually use the same SEMAIL across their characters.won't do evasive things with respect to IP. They also don't bother to register +alts although that may be because we've never required it.

      posted in Mildly Constructive
      Sponge
      Sponge
    • RE: Building: A Basic Tutorial

      @Cobaltasaurus said:

      How do I find a list of all rooms with a specific parent?

      @Glitch said:

      @find Outdoor Parent 
      

      Then, if the Outdoor Parent's dbref is #25, for example:

      @search parent=#25
      

      On MUX at least:

      think children(#25)
      
      posted in How-Tos
      Sponge
      Sponge
    • RE: Help with rookie NEWS v. MUX

      You @readcache as a wiz to get the MUX to reindex the text files?

      posted in MU Questions & Requests
      Sponge
      Sponge
    • RE: Tracking Alts

      Absolutely, it's hard to maintain the separation of characters over a long period of time. An important question to ask yourself is how much energy you're willing to commit to sleuthing into the long tail of players with actually good OPSEC.

      posted in Mildly Constructive
      Sponge
      Sponge
    • RE: MUSH Community Revival

      I'm an absolute moron for saying this out loud but I've long been dissatisfied with the delay and bureaucracy of getting things up on mudstats and mudconnect and am foolish enough to think I might do a better job without having tried to tackle the same problems before.

      posted in Mildly Constructive
      Sponge
      Sponge
    • 1 / 1