Singing the praises: Netris -- Zero install multiplayer tetris

Bradley Noyes published on
4 min, 659 words

Time to sing the praises of Netris.

tl;dr🔗

ssh netris.rocketnine.space

Back in college, the other Computer Science lab rats and I played a lot of xtris while "studying". It was a wonderful multi-player tetris game where completing 2 or more lines would send a bunch of junk to another player, similar to the classic gameboy version of tetirs. Back in the early 2000's it was a pretty fun game. The number of players was only limited to the horizontal resolution on your screen. In the recent quarantine environment, we wanted to revisit our glory years of hanging out in the computer of Lab of the basement sub-basement of the Computer Science building, but sadly, xtris has been defunct for many years.

image credit

Enter netris.

The beauty of netris is that all you need is an ssh client, and you can simply run ssh netris.rocketnine.space to start playing. The simplicity from an end-user's point-of-view of this brilliant.

It reminds of the old ascii-art-film starwars hosted at towel.blinkenlights.nl, so i decided to check out towel.blinkenlights.nl. Back in the day, i used to reach it via telnet.

» telnet towel.blinkenlights.nl
zsh: command not found: telnet

MacOS no longer provides telnet -- probably a good idea -- but it does have netcat.

» nc towel.blinkenlights.nl 23

Bingo. Wait, what's this say?

       The IPv6 version has extra scenes and extra color support.
       So if you want to experience ascii starwars to it's fullest
       you really should get IPv6.

Ok, let's try to get the ipv6 version, how do i get that pesky ipv6 address? I recall that dig has a -6 option which is usually the universal use ipv6 switch, but that was a bust (sorta1).

» dig -6 towel.blinkenlights.nl                                                                                                                                                                           ‹git:feature/threaded_devices ☂›16:47

; <<>> DiG 9.10.6 <<>> -6 towel.blinkenlights.nl
;; global options: +cmd
;; connection timed out; no servers could be reached

I know i'm looking for AAAA record, so i might as well, just look for that record.

» dig towel.blinkenlights.nl AAAA                                                                                                                                                                         ‹git:feature/threaded_devices ☂›16:49

; <<>> DiG 9.10.6 <<>> towel.blinkenlights.nl AAAA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43260
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;towel.blinkenlights.nl.		IN	AAAA

;; ANSWER SECTION:
towel.blinkenlights.nl.	24	IN	AAAA	2a02:898:17:8000::42

;; Query time: 56 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Mon Apr 27 16:51:45 EDT 2020
;; MSG SIZE  rcvd: 79

Bingo.

Now, to see it the updated, extended, colorized version, i'll just use netcat and pass in the ipv6 address and pass in that -6 to enforce ipv6 -- which worked so well w/ dig 1.

» nc -6 2a02:898:17:8000::42 23

       Well, the IPv6 version is exactly the same as the IPv4 one.

       The difference is in the visitors...


       Je bent een Stoere Bikkel, aka You Rock.

It turns out the whole ipv6 thing was a ruse. It turns out Reddit knew about in 2012, ubuntu forms knew about 2010. I'm a little late to this party.

If you don't want to bother w/ the whole telnet or nc silliness, then a browser will do https://www.asciimation.co.nz/index.php

Morale of the Story🔗

ssh netris.rocketnine.space

1 - I did look up the -6 switch to dig which tells dig to only use ipv6 for lookups, not necessarily look up the ipv6 address, for that, tell dig to find the AAAA record. And if you're wondering why dig -6 didn't work but nc -6 did work, its because i did my DNS look-ups on a non ipv6 machine, and changed over to an ipv6 connected machine to run nc.