Thinking about telnet & social media, I do remember that brief moment in time when the majority of my college's students had internet access but the web hadn't been invented yet. Telnet (along with talk, finger .plan's, newsgroups) had its moment in the sun. Enough so that I had a professor who would joke with us about getting our papers done before we'd hit telnet.
And thinking about MUDs, there is no better / worse way to feel the crush of time than finding your old MUD is still online. I found mine again a few years ago. Couldn't remember my password so made a new char. Used "finger" to look at my main. Last logged in 9000+ days ago. Looked up my friends who I used to spend hours with. Around the same. 9000+ days. Seeing it quantified in days rather than years made it more difficult and more personal. 9,000 days just gone like that.
Mine was a weird one, it was actually a top-down paintball game whose "graphics" were just ascii with screen refreshes. It might even be stretching the definition of MUD to call it that but it was a text-only multiplayer game that you accessed via telnet so it just kinda got absorbed into the MUDiverse. A few weeks ago I found out that, after a 20 year hiatus and at least one moderately successful clone, it's been relaunched with a GUI frontend. paintballnet.net, there are even occasionally a few players online but when there aren't there's always bots and a shockingly deep pool of loadouts to choose from.
A local MajorBBS in my area had multiple nodes and outbound internet.. with no dns for some reason. So we needed to know the ip address of the bbs/mud we wanted to telnet to.
Some of the highest quality people I know I met there and still speak to.
Had a pretty neglectful childhood, in my early adolescence to pass the time locked in my room I was gifted by a dead grandma's estate an ancient 80's IBM PC that had some network capability and could telnet that no one else could figure out how to use so it was put in my room. I ended up somehow figuring out via stuff I'd read in the school library and a web search on the school computer that I could telnet to chat rooms. I don't remember much of it, and a lot of it looking back was probably fairly creepy/inappropriate for a 12-14 year old, but I think just being able to log on to this device when I was forcefully isolated and talk to complete strangers to pass the time really helped me in a way that diving into books I'd read a thousand times couldn't.
I wish I'd done something better with that time other than just chatrooms but c'est la vie.
I'm old enough to remember the days of Telnet and Gopher. Back then, Telnet was key in the early "MUDs" (text-based, multiplayer games). MEAT MUD and Looney MUD were my favorites, but I honestly must have tried over 100. I sometimes wonder how much of the old "Telnet Internet" still exists from 30 years ago.
Having played MUDs as a preteen, I dabbled again in them a few years ago when I found some Spanish language servers. Thought it might be an interesting way to practice Spanish.
Ended up on mud.balzhur.org:5400 where I befriended a blind Venezuelan guy.
And after a while I soon realized that everyone on the server was probably blind.
Pretty fascinating.
I logged in just the other day and saw that he still plays daily. I want to talk to him again, but I need to go through the noob tutorial to remember how to do anything.
It makes you wonder if some of them preceded the whole CR/LF convention.
If I understand correctly, with a true mechanical teletype CR only returns the print head to the start of the line, and LF only advances the paper by one line. If you want to move your cursor to the start of the first line you have to send both, but there's no reason for the teletype to care about their order.
That's almost correct. The order matters to an extent inasmuch as for the older paper terminals one had to delay after sending a CR in order to let the print head actually travel. So it wasn't LF+CR, but actually LF+CR+delay. In the other order it would have had to be CR+delay+LF.
MUDs didn't precede the CR+LF convention, because that convention (if memory serves) pre-dates the Internet itself by a few years. However, it wasn't the case that CR and LF separately had the individual functions that they commonly had a decade or so later. Sometimes, for example, LF on its own was newline, or CR had to be simulated with lots of BSes.
The thing about TELNET is that in 1983 it explicitly specified an abstract Network Virtual Terminal and was definite about what newlines should be for it. See RFC 854. Anything TELNET-based was supposed to operate to that abstraction, not take advantage of the fact that sometimes LF+CR worked on real terminals. An NVT wasn't a real terminal. All of the delays and what the characters really did was supposed to be hidden by the abstraction.
Unfortunately many older mud servers (diku? Rom?) started with the wrong \\n\\r and codebases spawned from them just continued.
Very few send the proper \\r\\n
So yet another of many places where one just has to know that the RFC does not match the real world. An interesting test case for my state machine. But I can see the dragon in the proper colours, now.
There are some clients which are just packed up libre MUD clients with sound and music triggered on actions/words.
Yes, there are tons of blind people playing them, altough several of them prefer either text adventures, fighting games or adapted pokémon for emulators.
I suspect all the active muds remaining have significant blind cohorts. The one I play has at least a dozen blind or severely vision impaired users, which is very disproportionate in a population of only a few hundred.
I recall towel.blinkenlights.nl mentioned you would get a different version of the video (with colors) if you connected from IPv6. I've found rips online of the plain grayscale version, but not the colored one.
Am I the only one who still thinks that telnet is a basic utility that should be installed on every system? It's a lot easier and more explicit to verify that a TCP listener is working using telnet than netcat and the like.
I know I'm living in a different and hitherto unimaginable universe when I paste modern cloud-devops sysadmin types the output of a hung telnet connection attempt to port 22, as implicit evidence that it's blocked by a firewall or whatnot, e.g.
I don't know. I still use telnet for things, but I can use nc in a pinch. I would be more inclined to wish for expect.
What I don't get is all the SSL kids never mention s_client, as in "...use s_client instead". Granted, most of the time ssl will work for, you know SSH (port 22). Are you really going to negotiate the cypher by hand, mate? I get it, how many of them can identify what "\x16\x03\x01" is?
Only if you're a web economy weenie and think HTTP[S] is the measure of utility of most TCP interactions. ;)
I can't remember the last time I used telnet to test whether a web server was live. I don't think web servers figure very prominently in the work I do, though not zero, for sure. However, I doubt I'm the only one in that boat.
Alright, let's say you try doing that but it fails for some reason. Where did the failure occur? Were you able to open a TCP connection but you received garbage data that your minecraft-ping command didn't understand? Were you able to open a TCP connection but you received no reply to your ping? Did you fail to open a TCP connection (no SYNACK in response to your SYN)?
All of those problems have different root causes and therefore have different solutions. Telnet helps you figure out where in the stack the failure is occurring.
Lol, these sorts of comments spark memories, one being at a telecom where our team basically was the incoming ticket Ops team for just about all other internal teams, we would often get tickets with the heading "Putty is down."
Always makes me chuckle whenever I remember that..
my older brother used to dial into local BBSes late at night, tying up the phone line and pissing off everyone. mostly forums, file sharing, a few ascii games. he showed me how to telnet into some later on when it moved online. that story about the blind MUD player reminded me some folks never left. they just kept logging in. for them it was just... daily. guess some of these old servers turned into routine for people
It was social media without capitalism. Honestly, a utopia.
We logged in daily because there was always new content to discover. A new fileshare with obscure content or a zine with cool ascii art. It’s a shame that everything is fed to us now. That sense of discovery is largely gone.
It’s interesting to me how that got flipped upside down. People log on daily to consume viral content or meme templates that is in everyone’s feed. Early BBS culture was all about finding the niche where you fit in.
In the 90s, Book Stacks (books.com, eventually bought-and-destroyed by amazon), in addition (or before?) having a website, had a text-only online bookshop via telnet. I bought some titles that way. It was pretty cool!
Mouse movement in the terminal is signalled by ANSI escape codes, which are just characters sent along with everything else and interpreted by the remote program, so it really has nothing to do with Telnet.
Incredibly cool to see that in action though! That map is incredible.
If sending the client's terminal type to the server is disallowed, it just hangs, and then times out. Reasonable behaviour, one might think, for a server that really needs to know that it can legitimately send colour changes and non-standard control sequences for the mouse over the wire.
But it still sends some non-standard control sequences in the signoff screen. And if it doesn't recognize the terminal type, it emits a warning message and forges blithely ahead.
JPL provides a data generation API that you can telnet into: https://ssd.jpl.nasa.gov/horizons/ to get the positions and whatnot of asteroids, planets, spacecraft, etc.
indeed, we wanted to build an example for a quickstart to showcase "data in motion" and starwars seemed like a perfect fit, the OG had IP blocks in place which made it really difficult to use, so we thought of finding some OSS project that we could self-host and after a lot of searching we found "ascii-movie" (our patch: https://github.com/s2-streamstore/ascii-movie) and the end result was just as similar to towel.blinkenlights.nl -- https://s2.dev/docs/quickstart or simply
telnet starwars.s2.dev 23
ps, it is running on fly.io so please don't melt the poor baby
To be fair, it has been persistently offline for the past year or so every time I checked, so I'm not surprised that other people would jump to the same assumption.
Thinking about telnet & social media, I do remember that brief moment in time when the majority of my college's students had internet access but the web hadn't been invented yet. Telnet (along with talk, finger .plan's, newsgroups) had its moment in the sun. Enough so that I had a professor who would joke with us about getting our papers done before we'd hit telnet.
And thinking about MUDs, there is no better / worse way to feel the crush of time than finding your old MUD is still online. I found mine again a few years ago. Couldn't remember my password so made a new char. Used "finger" to look at my main. Last logged in 9000+ days ago. Looked up my friends who I used to spend hours with. Around the same. 9000+ days. Seeing it quantified in days rather than years made it more difficult and more personal. 9,000 days just gone like that.
>your old MUD
Mine was a weird one, it was actually a top-down paintball game whose "graphics" were just ascii with screen refreshes. It might even be stretching the definition of MUD to call it that but it was a text-only multiplayer game that you accessed via telnet so it just kinda got absorbed into the MUDiverse. A few weeks ago I found out that, after a 20 year hiatus and at least one moderately successful clone, it's been relaunched with a GUI frontend. paintballnet.net, there are even occasionally a few players online but when there aren't there's always bots and a shockingly deep pool of loadouts to choose from.
RIP TDome ][!
A local MajorBBS in my area had multiple nodes and outbound internet.. with no dns for some reason. So we needed to know the ip address of the bbs/mud we wanted to telnet to.
Some of the highest quality people I know I met there and still speak to.
[dead]
Had a pretty neglectful childhood, in my early adolescence to pass the time locked in my room I was gifted by a dead grandma's estate an ancient 80's IBM PC that had some network capability and could telnet that no one else could figure out how to use so it was put in my room. I ended up somehow figuring out via stuff I'd read in the school library and a web search on the school computer that I could telnet to chat rooms. I don't remember much of it, and a lot of it looking back was probably fairly creepy/inappropriate for a 12-14 year old, but I think just being able to log on to this device when I was forcefully isolated and talk to complete strangers to pass the time really helped me in a way that diving into books I'd read a thousand times couldn't.
I wish I'd done something better with that time other than just chatrooms but c'est la vie.
I'm old enough to remember the days of Telnet and Gopher. Back then, Telnet was key in the early "MUDs" (text-based, multiplayer games). MEAT MUD and Looney MUD were my favorites, but I honestly must have tried over 100. I sometimes wonder how much of the old "Telnet Internet" still exists from 30 years ago.
Having played MUDs as a preteen, I dabbled again in them a few years ago when I found some Spanish language servers. Thought it might be an interesting way to practice Spanish.
Ended up on mud.balzhur.org:5400 where I befriended a blind Venezuelan guy.
And after a while I soon realized that everyone on the server was probably blind.
Pretty fascinating.
I logged in just the other day and saw that he still plays daily. I want to talk to him again, but I need to go through the noob tutorial to remember how to do anything.
Oh that's annoying. They send LF then CR for newline on the wire, instead of CR then LF per RFC 5198.
It makes you wonder if some of them preceded the whole CR/LF convention.
If I understand correctly, with a true mechanical teletype CR only returns the print head to the start of the line, and LF only advances the paper by one line. If you want to move your cursor to the start of the first line you have to send both, but there's no reason for the teletype to care about their order.
That's almost correct. The order matters to an extent inasmuch as for the older paper terminals one had to delay after sending a CR in order to let the print head actually travel. So it wasn't LF+CR, but actually LF+CR+delay. In the other order it would have had to be CR+delay+LF.
MUDs didn't precede the CR+LF convention, because that convention (if memory serves) pre-dates the Internet itself by a few years. However, it wasn't the case that CR and LF separately had the individual functions that they commonly had a decade or so later. Sometimes, for example, LF on its own was newline, or CR had to be simulated with lots of BSes.
The thing about TELNET is that in 1983 it explicitly specified an abstract Network Virtual Terminal and was definite about what newlines should be for it. See RFC 854. Anything TELNET-based was supposed to operate to that abstraction, not take advantage of the fact that sometimes LF+CR worked on real terminals. An NVT wasn't a real terminal. All of the delays and what the characters really did was supposed to be hidden by the abstraction.
Unfortunately many older mud servers (diku? Rom?) started with the wrong \\n\\r and codebases spawned from them just continued. Very few send the proper \\r\\n
So yet another of many places where one just has to know that the RFC does not match the real world. An interesting test case for my state machine. But I can see the dragon in the proper colours, now.
Another minor thing you might run into is that servers don't reliably send DONT vs WONT and DO vs WILL when negotiating.
A server (or client) should send `IAC WILL <option>` to announce that it has a capability, and the other party will confirm/reject with DO or DONT.
But some servers will send `IAC DO <option>` even though they are announcing a capability (like server-to-client compression).
Telnet is fun and I like how simple it is. Kinda sad it's basically dead except for what feels like servers that nobody remembered to unplug.
There are some clients which are just packed up libre MUD clients with sound and music triggered on actions/words.
Yes, there are tons of blind people playing them, altough several of them prefer either text adventures, fighting games or adapted pokémon for emulators.
I suspect all the active muds remaining have significant blind cohorts. The one I play has at least a dozen blind or severely vision impaired users, which is very disproportionate in a population of only a few hundred.
Not sure how many are from 30 years ago but...
https://www.telnetbbsguide.com
Here’s a helpful list too https://www.topmudsites.com/.
If you want to relive your earlier days...
https://telnet.org/htm/places.htm
I found a few BBS's that had Tradewars running.
I recall towel.blinkenlights.nl mentioned you would get a different version of the video (with colors) if you connected from IPv6. I've found rips online of the plain grayscale version, but not the colored one.
Anyone happen to have a recording of it?
I just tried and it looks like it's still just in grayscale.
It does give a message stating as such:
Am I the only one who still thinks that telnet is a basic utility that should be installed on every system? It's a lot easier and more explicit to verify that a TCP listener is working using telnet than netcat and the like.
I know I'm living in a different and hitherto unimaginable universe when I paste modern cloud-devops sysadmin types the output of a hung telnet connection attempt to port 22, as implicit evidence that it's blocked by a firewall or whatnot, e.g.
and they say, "But it's SSH, so you can't use Telnet!"... bro. I know it's a DeVry Cloud DevOps certificate, but...
It is on every system, kinda (well curl usually is):
~ $ curl -v telnet://1.1.1.1:443
* Trying 1.1.1.1:443...
* Connected to 1.1.1.1 (1.1.1.1) port 443
--
~ $ curl -v telnet://1.1.1.1:22
* Trying 1.1.1.1:22...
^C ~ $
I didn't know curl could do that. Something new every day... thanks!
Having said that, in the world of my customers' systems, neither telnet nor curl can be presumed, it seems.
Introduces more ambiguity in terms of replies, but you could also just use curl straight up:
~ $ curl -v 1.1.1.1:53
* Trying 1.1.1.1:53...
* Connected to 1.1.1.1 (1.1.1.1) port 53
* using HTTP/1.x
> GET / HTTP/1.1
> Host: 1.1.1.1:53
> User-Agent: curl/8.13.0
> Accept: / >
* Request completely sent off
* Empty reply from server
* shutting down connection #0
curl: (52) Empty reply from server
--
~ $ curl -v 1.1.1.1:22
* Trying 1.1.1.1:22...
^C
Me either until a few years ago. My mind was well blown!
Curl is not installed by default on Debian or Ubuntu. And if you need to apt install you might as well just apt telnet.
Your secops team might disagree
I dont really see how that is any different from netcat with -v option.
I will grant that it's a matter of taste and the prejudices of being O.G., but the subtle visual difference between:
and: ... has always struck me as significant, and pedagogically relevant.I don't know. I still use telnet for things, but I can use nc in a pinch. I would be more inclined to wish for expect.
What I don't get is all the SSL kids never mention s_client, as in "...use s_client instead". Granted, most of the time ssl will work for, you know SSH (port 22). Are you really going to negotiate the cypher by hand, mate? I get it, how many of them can identify what "\x16\x03\x01" is?
How do you even test TCP listeners with telnet? Like how do you do an HTTPS handshake by hand. It doesn't seem practical in the modern world.
You don't do a HTTPS handshake by hand. That's what openssl s_client is for.
https://docs.openssl.org/1.0.2/man1/s_client/
Or maybe socat, I don't use it but I'm pretty sure I've seen people use it.
You are proving my point that telnet is not useful in modern times.
Only if you're a web economy weenie and think HTTP[S] is the measure of utility of most TCP interactions. ;)
I can't remember the last time I used telnet to test whether a web server was live. I don't think web servers figure very prominently in the work I do, though not zero, for sure. However, I doubt I'm the only one in that boat.
Okay let's say you want to ping a Minecraft server and see how many users are online. That's not possible either with telnet.
The concept of protocols made up of printable characters delimited by new lines is antiquated.
Alright, let's say you try doing that but it fails for some reason. Where did the failure occur? Were you able to open a TCP connection but you received garbage data that your minecraft-ping command didn't understand? Were you able to open a TCP connection but you received no reply to your ping? Did you fail to open a TCP connection (no SYNACK in response to your SYN)?
All of those problems have different root causes and therefore have different solutions. Telnet helps you figure out where in the stack the failure is occurring.
But that's not what I want to do. I just want to know if the listening socket is bound.
Not intended for such advanced situations, only ones where knowing that you're listening on 443 (or whatever) is enough.
Did you seriously just say "hitherto unimaginable"?
I did. In the century I come from, Telnet would never be confused for SSH.
Lol, these sorts of comments spark memories, one being at a telecom where our team basically was the incoming ticket Ops team for just about all other internal teams, we would often get tickets with the heading "Putty is down."
Always makes me chuckle whenever I remember that..
https://youtu.be/mpNn1nht0_8?t=219
my older brother used to dial into local BBSes late at night, tying up the phone line and pissing off everyone. mostly forums, file sharing, a few ascii games. he showed me how to telnet into some later on when it moved online. that story about the blind MUD player reminded me some folks never left. they just kept logging in. for them it was just... daily. guess some of these old servers turned into routine for people
It was social media without capitalism. Honestly, a utopia.
We logged in daily because there was always new content to discover. A new fileshare with obscure content or a zine with cool ascii art. It’s a shame that everything is fed to us now. That sense of discovery is largely gone.
It’s interesting to me how that got flipped upside down. People log on daily to consume viral content or meme templates that is in everyone’s feed. Early BBS culture was all about finding the niche where you fit in.
We don’t all get the same feed.
[dead]
MUDs once predated IRC, and some MUDs were just talking places. Check Lambda Moo.
In the 90s, Book Stacks (books.com, eventually bought-and-destroyed by amazon), in addition (or before?) having a website, had a text-only online bookshop via telnet. I bought some titles that way. It was pretty cool!
The zoomable map is wild.. I didn't think you could use that level of mouse integration with telnet.
Mouse movement in the terminal is signalled by ANSI escape codes, which are just characters sent along with everything else and interpreted by the remote program, so it really has nothing to do with Telnet.
Incredibly cool to see that in action though! That map is incredible.
It's slightly inconsistent.
If sending the client's terminal type to the server is disallowed, it just hangs, and then times out. Reasonable behaviour, one might think, for a server that really needs to know that it can legitimately send colour changes and non-standard control sequences for the mouse over the wire.
But it still sends some non-standard control sequences in the signoff screen. And if it doesn't recognize the terminal type, it emits a warning message and forges blithely ahead.
I love the map ... it is glorious!
JPL provides a data generation API that you can telnet into: https://ssd.jpl.nasa.gov/horizons/ to get the positions and whatnot of asteroids, planets, spacecraft, etc.
Anyone here used to be on AlbionMUD? (mud.veda.is:4000)
>telnet towel.blinkenlights.nl 23
hugged to death?
indeed, we wanted to build an example for a quickstart to showcase "data in motion" and starwars seemed like a perfect fit, the OG had IP blocks in place which made it really difficult to use, so we thought of finding some OSS project that we could self-host and after a lot of searching we found "ascii-movie" (our patch: https://github.com/s2-streamstore/ascii-movie) and the end result was just as similar to towel.blinkenlights.nl -- https://s2.dev/docs/quickstart or simply telnet starwars.s2.dev 23
ps, it is running on fly.io so please don't melt the poor baby
Amusingly, the original that I wanted to improve upon a quarter of a century ago still works.
My improved version written in Java no longer does.
* https://jdebp.uk/Softwares/text-movie-player.html
It's been dead for years
Nope, it's still live
Fun with replies like these "Oh it's been dead for..." without even bothering to do a basic check
To be fair, it has been persistently offline for the past year or so every time I checked, so I'm not surprised that other people would jump to the same assumption.
Yeah, I assumed the same, after several attempts to access it over the past few years and seeing a few people online comment about it being dead
Surfers ... Foothills ... can't remember the rest.
Who would have known that basically the same functionality would later become a billion / trillion? dollar story (whatssap).
As a former spod who started out on Surfers, I see you!
And yeah, more than a little ironic.
[dead]