telehack.txt is the main help file for Telehack. You can use it to get hints when you're stuck. Back before Wikis and Google, text files were the only way to learn anything.

Here you can see a copy of the original telehack.txt file (dated 17th of May, 2020), which can be found in the root directory of every user within the root Telehack system.


     Telehack is a simulation of a stylized arpanet/usenet, circa 1985-1990.
     It is a full multi-user simulation, including 26,600 hosts and BBS's
     from the early net, thousands of files from the era, a collection of
     adventure and IF games, a working BASIC interpreter with a library of
     programs to run, simulated historical users, and more.
 On the web:
 or open a shell and type
 Telehack is accessible via
   * Telnet on ports 23 (the standard telnet port), 443, 1337, 8080 and 31173
   * HTTP on port 80 (the standard HTTP port)
   * SSH on port 6668
   * FTP on port 21 (the standard ftp port) NOTE: The FTP server is RFC 959
   compliant and will likely not work with more modern FTP clients
 Non-sighted users: please type STTY /dumb after connecting to telehack.
 This will invoke plain terminal mode in the Z-code games and avoid using
 ANSI cursor addressing.
 For users connecting with Teletypes or other Teleprinter Terminal setups
 please type STTY /tty after connection to switch telehack into a more Teletype
 friendly mode.
 About this Document
 Telehack is case-insensitive.  Commands are often shown in uppercase to
 distinguish them from surrounding text.  Note that you do not need to type
 commands in all-caps.  For example:
     Type DIR for a list of files
 You may type DIR or dir to obtain a list of files.
 In help messages, <> signifies required arguments to commands, whereas
 [] signifies optional arguments.  The pipe symbol | signifies "or" or an
 alternative.  For example,
     send <user|port> [message]
 means that a user or port must follow the send command, but that the
 message argument is optional (send will prompt for messages lines if you
 do not specify one on the command line).
     @ send forbin hello
     @ send 15 hello
     @ send forbin
     forbin> hello
 Getting Help
 You can type ? at any prompt to get a list of available commands:
     @ ?
     Command, one of the following:
       acct        basic       clear       daytime     dial        dir
       exit        files       finger      halt        help        hosts
       ipaddr      joke        jsr         link        list        log
       netstat     password    ping        ps          ptycon      quest
       rem         run         send        starwars    status      systat
       telnet      traceroute  type        uptime      usenet      users
 The HELP command provides one-line descriptions of command functions,
 including any modifier arguments that may be available. Examples:
     @ help
     @ help telnet
     @ help ftp
 Getting Unstuck
 Any command may be terminated by typing ^C (control-C).  To log out of a
 remote host or exit a subshell, type ^D (control-D), EXIT or QUIT.
 Control Characters
 A control key (CTRL) initiates a number of system functions when it is used
 in conjunction with  another character.
 To type a control character, hold down the control key, and at the same
 time press the character you want.  For example:  to type a CTRL-C, hold
 down the control key and  at  the  same  time  press the letter C.  In most
 cases this prints (echoes) on your terminal as ^C.  In system documentation,
 a control character such as control-C may also be described as CTRL-C or ^C.
 Special control characters:
     ctrl-C         interrupt program
     ctrl-N         next line
     ctrl-P         previous line
     ctrl-R         quick relay (requires backgrounded relay)
     ctrl-T         print system status
     ctrl-W         delete word
     (up arrow)     previous line
     (next arrow)   next line
     (tab)          autocomplete next command/file/user/host
 Quick Fun
 Type STARWARS to view the pinnacle of ASCII-mation, a full-length rendition
 of Star Wars in ASCII.
 Typing JOKE will display a joke randomly selected from a massive unified
 historical arpanet/caltech joke database.
 NLI Lobby
 When you first connect to Telehack, you will be in the not-logged-in
 lobby.  The NLI lobby is indicated by the '.' prompt:
     $ telnet Trying  Connected
     to  Escape character is '^]'.
     Connected to TELEHACK port 13
     It is 8:16 am on Saturday, April 30, 2011 in Mountain View, California, USA.
     There are 10 local users. There are 24139 hosts on the network.
       Type ? for a command list.
       Type HELP for a more detailed command listing.
       Type control-C to interrupt any command.
     May the command line live forever.
     Command, one of the following:
       acct        basic       clear       daytime     exit        finger
       help        hosts       ipaddr      joke        list        login
       netstat     newuser     ping        ps          run         starwars
       systat      telnet      traceroute  uptime      users
 A limited subset of commands are available in the lobby.
 To login or create a new account, type LOGIN.
 Pager Commands
 When viewing any paginated output on Telehack, you may receive a --More--
 prompt. This may be seen in the commands type, cat, more, less, as well as
 any command which produces paginated output.
 At the --More-- prompt, the following single-key commands may be typed:
     space   show next page
     b       back one page
     q       quit
     g       go to top
     G       go to bottom
     return  down one line
     j       down one line
     k       up one line
     /       search for a given string
 The pager also supports several pipes. These can be appended to commands that
 produce paginated output:
     grep <pattern>     show lines matching pattern
     grep -c <pattern>  show number of lines matching
     grep -i <pattern>  case insensitive matching
     grep -v <pattern>  show lines NOT matching pattern
     sort [field]       sort output (field can be column header or number)
     sort -r [field]    reverse sorting
     wc -c              show number of characters
     wc -l              show number of lines (including header)
     wc -m              show maximum line length
     wc -w              show number of words
 For example:
     @ users | grep Mountain View, CA | sort username
 Network Hosts
 There are approximately 26,600 virtual hosts on the Telehack network.
 These represent systems that were on the early Usenet/arpanet as well
 as defunct BBS systems from the 80's and 90's.
 Type HOSTS to see a partial list of network hosts.  Type HELP HOSTS for
 more information on the hosts command.
 A collection of retro files has been distributed across the hosts in the
 network.  The files were sourced from the extensive archive assembled by
 Jason Scott of as well as other sources.
 Telnetting to Hosts
 You may telnet to any host appearing in your netstat list:
     @ netstat
        host      organization                               location
        ----      ------------                               --------
        sunkist   Sun Microsystems Inc.                      Irvine, California
        mimsy     Computer Science Dept., Univ of Maryland   College Park, MD
        spgh01    Church of the Holy Sepulchre               Butler, PA
        vitam6    Vitalink Communications                    Fremont, CA
        hell      Clinton Reilly Campaigns                   Alameda, CA
        accom     Axial Corp.                                Belmont, CA
     @ telnet mimsy
     Connected to MIMSY
     Computer Science Dept., University of Maryland, College Park
     DEC Vax-8600 4.3BSD
     login: guest
     Authentication successful.
     Last login: Thu May 5 16:32:51 2011
        WARNING:  You must have prior authorization to access this system.
                  All connections are logged and monitored. By connecting to
                  to this system you fully consent to all monitoring.
                  Unauthorized access or use will be prosecuted to the full
                  extent of the law.
 If you have not yet hacked into a host, you can try to login as the guest
 user.  The full set of commands on the host may not be available if you are
 logged in as guest.
 Hacking a Host
     @ dir *.exe
       porthack.exe  wardial.exe
     @ porthack
     [run porthack.exe]
     host? mimsy
     probing MIMSY for open sockets...
 Once a host has been successfully hacked, you should be able to log into it
 using your Telehack username and password.
 Note that hosts which have been hacked and which you can log in to with
 your username/password are identified in the netstat list with a '*'.
 Collecting and Moving Programs
 DIR *.exe or ls *.exe. You will be able to transfer programs between hosts
 using the FTP command. On each host, a dedicated part of the disk has been
 made available to you, in which you can store these programs.
 Be careful not to overfill it, check your disk usage with the DF command
 before transferring a file.
 Example of an FTP session:
 is1$ ftp uunet
 Connected to uunet.
 220 uunet FTP server (Version 4.109 Wed Nov 19 21:52:18 CST 1986) ready.
 Name (uunet:johndoe): johndoe
 331 Password required for johndoe
 Password: ********
 230 User johndoe logged in
 Remote system type is UNIX.
 Using BIN mode to transfer files.
 ftp> put porthack.exe
 200 PORT command successful
 Historical Users
 The 26,600 virtual hosts within Telehack were real systems available via
 modem dialup, fidonet, uucp/usenet, or on the arpanet in the 1980's and
 90's.  Real people used these systems and could often be seen logged in
 doing work, reading, socializing or playing games.
 Data archaeology applied against the oldest available uucp archives, UUCP
 network maps from the era, as well as other available electronic sources
 has allowed Telehack to reconstruct the online occupants of these vanished
 network hosts.
 To see users logged into a Telehack host, use the FINGER @host command:
     @ finger @sgi
     Login      Name                Tty      Idle  Login Time   Office     Office Phone
     vjs        Vernon Schryver     pts/10   3h    Apr 29 06:34 (
     rpw3       Rob Warnock         pts/13   6h    Apr 25 10:31 (
     vic        Victor Mitnick      pts/6    1     Apr 28 23:33 (
     greg       Greg Chesson        pts/9    3     Apr 27 15:05 (
     davidf     David Fenstemaker   pts/8    2d    Apr 24 05:10 (
     cjohnson   Chris Johnson       pts/12   4h    Apr 29 12:21 (
     ian        Ian Clements        pts/4    6h    Apr 23 22:03 (
     baskett    Forest Baskett      pts/2    29    Apr 27 00:54 (
     pchin      Phil Chin           pts/7    2h    Apr 30 04:31 (
     root       Superuser           pts/3    1d    Apr 28 08:27 (
     artibee    Mary Artibee        pts/1    3h    Apr 23 09:19 (
     wen        Wen-ching Chow      pts/5    2d    Apr 29 04:36 (
     @ finger @chinet
     Login      Name                Tty      Idle  Login Time   Office     Office Phone
     schneier   Bruce Schneier      pts/20   3h    Apr 26 12:09 (
     randy      Randy Suess         pts/5    3h    Apr 27 17:37 (
     odesta     Odesta Corp.        pts/27   20    Apr 29 17:34 (
     ward       Ward Christensen    pts/0    7h    Apr 28 06:37 (
     saj        Stephen Jacobs      pts/8    1h    Apr 23 11:59 (
 Guessing Passwords
 Users in the past did not always choose strong passwords.  A common
 hacking method was to try various common passwords such as "secret",
 "love", "trustno1", etc. to find a way into a system.
 Z-Code Games
 A collection of games written for the Z-Machine have been distributed
 across the hosts in the Telehack network.  Z-Code games are identified by
 the .GAM extension:
     @ ls *.gam
       advent.gam   lostpig.gam  zork.gam
     @ run advent.gam
     Welcome to Adventure
     At End Of Road
     You are standing at the end of a road before a small
     brick building. Around you is a forest. A small stream
     flows out of the building and down a gully.
     login and use the save command..
 BASIC Interpreter
 To enter the basic interpreter, type BASIC.
     @ basic
     Dartmouth DTSS TeleBASIC (c) 1964,1966,1969,1970,1971,1979
 The basic interpreter subsystem has a number of historical programs
 compiled from the SIMTEL archives as well as other sources. To see a full
 list of available programs, type DIR within basic.  You can load a program
 with LOAD or begin execution with RUN.
 Basic commands are:
     > help
     delete          delete a user program
     dir             directory of basic programs
     help            print this list
     list            list the program in memory
     load <file>     load program from file
     quit            exit the basic interpreter
     run             run the program in memory
     run <program>   load and run the specified program file
     save <file>     save a user program
 Example basic session:
     @ basic
     Dartmouth DTSS TeleBASIC (c) 1964,1966,1969,1970,1971,1979
     > ?
     Command, one of the following:
       delete  dir     help    list    load    quit    run     save
     > dir
       23matches.bas    3dplot.bas       aceyducey.bas    aceyducy.bas
       astrnmy2.bas     bar.bas          basketball.bas   basketbl.bas
       batnum.bas       baz.bas          bigcal2.bas      birthday.bas
       bobo.bas         bombsaway.bas    bombsawy.bas     boxing.bas
       budget.bas       bug.bas          bunny.bas        buzzword.bas
       calendar.bas     calendr5.bas     change.bas       chemist.bas
       chief.bas        combat.bas       command.bas      cpmprt51.bas
       craps.bas        cube.bas         deedyork.bas     delers.bas
       depthcharge.bas  depthchg.bas     diamond.bas      eddie.bas
       euphoria.bas     evenwin1.bas     evenwins.bas     fakephre.bas
       feesten.bas      finance.bas      godd.bas         gomoko.bas
       gunner.bas       hammurabi.bas    hamurabi.bas     hello.bas
       hi-lo.bas        hilo.bas         hurkle.bas       ic-timer.bas
       kalfeest.bas     kinema.bas       lander.bas       lem.bas
       letter.bas       life.bas         lifscore.bas     litquiz.bas
       loan2.bas        log10k.bas       lunar.bas        maptest.bas
       massa.bas        mathdice.bas     million.bas      nicoma.bas
       nicomachus.bas   nim.bas          number.bas       orbit.bas
       pirate.bas       pizza.bas        poetry.bas       qubit.bas
       queen.bas        rc5.bas          rocket.bas       rockscissor.bas
       rocksp.bas       rusrou.bas       satelite.bas     sceptre1.bas
       slalom.bas       slots.bas        snafufun.bas     sort.bas
       splat.bas        stars.bas        stock.bas        stockmarket.bas
       survival2.bas    target.bas       tem-ins.bas      test1.bas
       tictac1.bas      tictactoe1.bas   timer555.bas     trap.bas
       ttl-scrl.bas     ucase.bas        uitleg1.bas      uitleg2.bas
       unprotct.bas     war.bas          weekday.bas      windchil.bas
       xfertime.bas     xformer.bas      ykw1.bas         ykw2.bas
     > load hello.bas
     > list
         2  PRINT TAB(33); HELLO
         6  PRINT: PRINT: PRINT
        40  INPUT B$: PRINT
        50  IF B$= YES  THEN 70
        55  IF B$= NO  THEN 80
     > run
 6502 System Monitor
 To enter the system monitor, type:
     @ call -151
     1441102  96 14      STX      $14,X
 Monitor commands are:
     d   dump memory
     l   disassemble cpu opcodes
     r   return to last jsr point
     g   execute address
 The memory dump will show the octal address on the left column, the hex
 values for the memory at that address, and an ASCII translation of the
 memory values:
     2364636  60 01 2C 26 6C D1 68 C7 45 40 1A F9 39 66 23 21   `.,&l.h.E@..9f
     2364656  07 8D 39 0D 00 2C 1E F4 69 8D 64 07 19 10 00 35   ..9..,..i.d....5
     2364676  09 A1 2C 6E 2B B5 29 2E 65 D4 4F 01 04 3E 04 73   ..,n+.).e.O..>.s
     2364716  53 25 54 B9 14 E1 1D 9A 2B 19 60 13 51 20 52 E0   S%T.....+.`.Q R.
     2364736  4B 52 1E 2A 03 66 33 4A 47 C1 10 99 35 5E 00 54   KR.*.f3JG...5^.T
     2364756  32 26 4D 0A 03 34 70 D7 24 04 3C C8 40 21 09 CE   2&M..4p.$.<.@ ..
     2364776  2C 02 78 31 1A 60 51 6B 39 0E 1A 20 5D 58 56 93   ,.x1.`Qk9.. ]XV.
     2365016  61 45 C8 A5 BB AB 02 21 02 3A 01 08 AD A4 B2 01   aE..... .:......
     2365036  94 2B 00 52 61 84 A5 21 02 45 00 9D E0 1F 32 BF   .+.Ra.. .E....2.
 To disassemble CPU instructions instead, use the l command:
     2366320  63         SUBD2
     2366321  04 25      TSB      $25
     2366323  64 9C      STZ      $9C
     2366325  2A         ROL
     2366326  31 04      AND      ($04),Y
     2366330  21 30      AND      ($30,X)
     2366332  31 09      AND      ($09),Y
     2366334  A3         MOVAB
     2366335  44         PUSHAW
 If an entry point in the system monitor is known, you can execute it with
 the g command:
 To return to the Telehack command shell from the system monitor,
 use the r command.
 Remote Terminal Monitoring
 The link command will connect a remote user's tty to your tty.  This will
 let you assist the remote user by being able to view the remote output.
     @ link <user or port>
 In this case, the other user would see something like
     %link from port 16 user forbin
 And their session from that point would be mirrored on the linking
 user's terminal.
 There is also a separate facility within ptycon to allow simultaneous
 monitoring of all connected ports.
 Finger from Outside
 Telehack also responds to finger requests from the outside Internet on port 79:
     $ finger
     TELEHACK SYSTEM STATUS  04-May-11  23:27:08
     4 users
       port  username   status               last  what     where
       ----  --------   ------               ----  ----     -----
       0     operator   System Operator      5m             console
       16    -                               3m    alice3   Lithuania
       17    forbin     Dr. Charles Forbin   13m            Provo, UT
       20    foo        Yoda Soda            19m   ptycon   Oakland, CA
     $ finger
     USER: forbin
        system level:          WIZARD
        account age:           95 days
        last login:            today
        system connects:       5
        commands executed:     143
        user status bits:
    HACK10      Hacked 10 network hosts          30-Jan-11  23:19:57
    HACK5       Hacked 5 network hosts           30-Jan-11  21:00:34
    HACKER      Hack the Planet                  29-Jan-11  22:31:48
    ACCT        Registered User                  29-Jan-11  22:23:17
     $ finger
     Login      Name                Tty      Idle  Login Time   Office     Office Phone
     vjs        Vernon Schryver     pts/10   3h    May 03 21:26 (
     rpw3       Rob Warnock         pts/13   6h    Apr 30 01:23 (
     vic        Victor Mitnick      pts/6    1     May 03 14:25 (
     greg       Greg Chesson        pts/9    3     May 02 05:57 (
     davidf     David Fenstemaker   pts/8    2d    Apr 28 20:02 (
     cjohnson   Chris Johnson       pts/12   4h    May 04 03:13 (
     ian        Ian Clements        pts/4    6h    Apr 28 12:55 (
     baskett    Forest Baskett      pts/2    29    May 01 15:46 (
     pchin      Phil Chin           pts/7    2h    May 04 19:23 (
     root       Superuser           pts/3    1d    May 02 23:19 (
     artibee    Mary Artibee        pts/1    3h    Apr 28 00:11 (
     wen        Wen-ching Chow      pts/5    2d    May 03 19:28 (
 Usenet Archive
 Type USENET to view the Usenet archive.
 The archive was originally collected by Henry Spencer at the University of
 Toronto beginning in 1981. Later it was rescued by David G. Wiseman from
 the University of Western Ontario, who drove two hours in a pickup truck to
 collect 141 magtapes and save them from destruction:
     If I recall correctly, the issue of Henry Spencer's (actually,
     the University of Toronto, Department of Zoology's) NetNews
     archive was raised at a Usenix conference in the early 90's.
     The question: can we get at them? Bruce Jones was especially
     interested in this. Henry's answer was that it really wasn't
     going to be easy because he had neither the disk space nor the
     tape drive to pull them all down to make them available.
     I, it turned out, did. So one bright winter day I drove from
     London (Ontario Canada) to Toronto (Ontario Canada) -- a two
     hour drive in my shiny new pickup truck and picked up 141
     magtapes from the Zoology department at UofT and brought them
     back to the Department of Computer Science at the University
     of Western Ontario. (A not unimpressive bandwidth, by the way,
     of some 18Mb/sec :-) never underestimate the bandwidth of a
     pickup truck on the highway )
 Some additions have been made to the usenet archive available on
 Telehack which have been provided from other sources.
 Halting the CPU to enter the system monitor is not advised.  However, if
 you do this, the operator will usually supply a monitor entry point to
 enable CPU restart and re-entry into the telehack exec.
     .     repeat last command
     w     systat
     w     finger
     l     dir
     ls    dir
     date  daytime
     cat   type
     cls   clear
     ?     command list
 How to enable telnet in Windows 7
 Windows 7 ships with a telnet client, but it is shut off by default.
 To enable it, do the following:
     Control Panel
     Programs And Features
     Turn Windows features on or off
     Check Telnet Client
     Hit OK
 After that, you can open a command prompt and type
 Privacy Policy
 See the PRIVACY command or privacy.txt, or visit the link below:
 See Also
 Movie List
 Colossus: The Forbin Project (1970)
 Scanners (1981)
 Tron (1982)
 Blade Runner (1982)
 WarGames (1983)
 Brainstorm (1983)
 Sneakers (1992)
 Hackers (1995)
 Tron: Legacy (2010)
 2001: A Space Odyssey (1968)
 Demon Seed (1977)
 Real Genius (1985)

Community content is available under CC-BY-SA unless otherwise noted.