[HN Gopher] Show HN: Play Zork with your friends via SSH
       ___________________________________________________________________
        
       Show HN: Play Zork with your friends via SSH
        
       Author : pheasantquiff
       Score  : 41 points
       Date   : 2021-12-08 11:59 UTC (1 days ago)
        
 (HTM) web link (sayitwith.ink)
 (TXT) w3m dump (sayitwith.ink)
        
       | throwaway47292 wrote:
       | Gentle reminder: when sshing into unknown places remember to
       | check your forwarding and dont use your github/etc username.
        
         | digitalsushi wrote:
         | Stronger reminder: Don't play with SSH toys using your work
         | computer, ever, as a sensible way to remain employed
        
           | tyingq wrote:
           | One workaround...launch a Google cloud shell from a personal
           | google account and try the ssh toy from there. It's free.
           | https://cloud.google.com/shell
        
         | pheasantquiff wrote:
         | Sage advice. This is really more suited to IRC but ssh is
         | something everyone has readily available. It has a much lower
         | barried to entry. Isn't a specific effort required to have
         | [port] forwarding? I don't think anyone will do it
         | accidentally, even were I nefarious. In other words, if you
         | don't know what "forwarding" is, then you don't have to worry.
        
           | throwaway47292 wrote:
           | nono ssh is great medium, just most people have agent
           | forwarding by default, and its annoying that it can be
           | exploited by malicious ssh host[1]
           | 
           | [1]: https://book.hacktricks.xyz/linux-unix/privilege-
           | escalation/...
        
             | binwiederhier wrote:
             | That's a great resource. I had never heard of this attack
             | vector before. Thanks for sharing the link.
        
         | tyingq wrote:
         | This: "ssh -o ClearAllForwardings=yes ..." seems like it would
         | be a good catch-all.
        
       | empressplay wrote:
       | I'm having a very strange sense of deja vu...
        
       | davidjhall wrote:
       | Did you write a z-machine with sockets or is this piping to an
       | existing one (frotz, etc?) I'm curious about the internals
       | because I'm working on my own z-machine implementation too (not
       | ssh though!)
        
         | pheasantquiff wrote:
         | :) Yes I'm piping to dumb-frotz. The ssh server is a custom
         | golang server, not a 'real' ssh daemon. Z-machine impl is fun
         | (except for all the version differences)
        
           | davidjhall wrote:
           | Very fun indeed and easier than a sockets-based impl that
           | covers all versions. I'm only doing v3 so far and it's a long
           | haul! Congrats on this!
        
             | pheasantquiff wrote:
             | There are quite a few edge cases going the pipe route since
             | there is no defined communication protocol and every game
             | expresses some things slightly differently.
             | 
             | I try to keep the code as generic as possible but nearly
             | every game I try has had a surprise for me. I really don't
             | want to have tons of special cases in the code but I think
             | some might be unavoidable.
             | 
             | If you're writing your own Z-machine, then you can write it
             | in a way that plans for such integration and that would
             | make a direct-linked approach much easier.
             | 
             | My 'ssh toy' has proven quite popular so far and I hope it
             | has introduced IF to some new people.
             | 
             | Thanks and best of luck with your Z-Machine. Hacks and
             | Glory await!
        
         | pheasantquiff wrote:
         | I'm sure you've read all the Graham Nelson Z-Machine specs
         | etc.? And seen the various alternative implementations like
         | nitfol (which is a bit smaller than most and easier to read
         | maybe)?
        
           | davidjhall wrote:
           | Yes! It's practically my bible now -- I even printed a copy
           | through printme1.com so I can have a bound copy to flip back
           | and forth through ( and dog-ear, tag pages, etc.) I reference
           | other implementations and z-tools to gain insight on changes
           | in memory, objects, etc.
           | 
           | I'm writing blog posts on my journey - detailing each
           | instruction and any nuance with each one, as well as the
           | object structure, z-text and misc. I hope to post it here one
           | day.
        
             | pheasantquiff wrote:
             | It is a large endeavour. Have you encountered ZSCII and the
             | "special" text compression algorithm yet?
        
       | pheasantquiff wrote:
       | Play Zork, with your friends (via ssh) $ ssh -p 64100
       | someusername@sayitwith.ink password: nitfol > /help > /who >
       | !look (login denied? maybe someone else is using that username,
       | try another)
        
         | pheasantquiff wrote:
         | If anyone is interested in discussing this (or playing IF on my
         | other server) please get in touch on Revolt. I am
         | @JesusMachineSantana.
         | 
         | Here is an invitation to my "Guild"
         | https://app.revolt.chat/invite/Xm9jmNDv
         | 
         | Maybe you have to sign up on the main page first, not sure.
         | https://revolt.chat/
         | 
         | Of course, it's also possible to chat on the SSH server above,
         | though maybe not as convenient. Either way is welcome.
        
       ___________________________________________________________________
       (page generated 2021-12-09 23:01 UTC)