> ## Documentation Index
> Fetch the complete documentation index at: https://docs.allthingslinux.org/llms.txt
> Use this file to discover all available pages before exploring further.

# User Guide

> Everything you need to know to get started on atl.sh.

## Getting Started

Welcome to atl.sh! You have a shell account on the All Things Linux community pubnix server.

### Connecting

* **SSH**: `ssh your-username@atl.sh` (port 22 or 2222 if 22 is blocked)
* **FTP/S**: Use an FTP client (like FileZilla) with **Explicit FTP over TLS** on port 21.
* **SFTP**: `sftp your-username@atl.sh` (uses your SSH key, no separate password)

### Your Directories

| Directory          | Purpose           | Public URL                           |
| ------------------ | ----------------- | ------------------------------------ |
| `~/public_html/`   | Personal web page | `https://atl.sh/~your-username`      |
| `~/public_gemini/` | Gemini capsule    | `gemini://atl.sh/~your-username`     |
| `~/public_gopher/` | Gopher hole       | `gopher://atl.sh/~your-username`     |
| `~/public_html/`   | FTP/S root        | `ftp://atl.sh` (port 21, forced TLS) |
| `~/.plan`          | Finger profile    | `finger your-username@atl.sh`        |

### Available Tools

Run `menu` for an interactive guide to everything on the server. Here's a summary:

* **Shells**: bash, zsh, fish, mksh, tcsh, ksh93, rc, elvish, nushell, dash
* **Editors**: vim, neovim, nano, emacs, micro, joe, vis, kakoune
* **File managers**: ranger, lf, mc, nnn, vifm
* **Languages**: Python, Node.js, Ruby, Go, Rust, C/C++, Haskell, Elixir, and many more
* **Utilities**: tmux, git, htop, btop, ripgrep, fzf, jq, pandoc, miller, taskwarrior, and more
* **Networking**: gping, trippy, xh, drill, prettyping, fping, sipcalc, termshark, speedtest-cli, rclone
* **Browsers**: lynx, w3m, elinks, links, amfora (Gemini)
* **Mail**: alpine, neomutt, aerc
* **Fun**: nethack, crawl, angband, botany, cbonsai, boxes, asciinema, fortune, cowsay, figlet

### Social Commands

```bash theme={null}
menu            # Interactive guide to all server features
online          # Who's logged in with their .plan summary
community       # List all members and their status
plan <user>     # Read someone's .plan
lastplan        # Recent .plan updates across all users
```

### Dictionary

Look up words, computing terms, jargon, and acronyms — all offline:

```bash theme={null}
dict hello              # Search all 7 databases
dict -d jargon hacker   # Hacker jargon only
dict -d foldoc TCP      # Computing encyclopedia
dict -d vera HTTP       # Acronym lookup
dict -D                 # List all available databases
```

Databases: English (GCIDE), WordNet, Jargon File, FOLDOC, V.E.R.A. acronyms, Devil's Dictionary, Periodic Table.

## Finger

The finger protocol is one of the oldest social features on Unix — predating the web by two decades. It lets anyone look up what you're working on right now.

```bash theme={null}
# Look up someone on atl.sh
finger username@atl.sh

# List all users currently logged in
finger @atl.sh
```

Your finger profile is built from two plain text files in your home directory:

* **`~/.plan`** — What you're working on, thinking about, or planning. Updated whenever you like. The original microblog.
* **`~/.project`** — A one-line description of your current project.

Both files are created automatically with placeholder text when your account is made. Edit them with any text editor:

```bash theme={null}
nano ~/.plan
```

### Custom finger output

For full control over your finger output, create an executable `~/.efingerd` script. When present, efingerd runs it instead of reading your `.plan` and `.project` files directly. The script receives two arguments: `$1` is the username being queried and `$2` is the requesting host.

```bash theme={null}
#!/bin/bash
# ~/.efingerd — custom finger output
echo "Login: $1"
echo "Last seen: $(last -1 $1 | head -1 | awk '{print $4, $5, $6, $7}')"
echo ""
cat ~/.plan
```

Make it executable: `chmod +x ~/.efingerd`

## Talking to Other Users

Since everyone's on the same server, you can communicate directly with other logged-in users without IRC.

```bash theme={null}
# See who's currently logged in
w
who

# Send a message to everyone logged in
wall "anyone want to play nethack?"

# Real-time two-way chat with another user
talk username
```

`wall` broadcasts a message to every logged-in terminal. `talk` opens a split-screen two-way chat session with another user.

## Games

### Nethack

The classic roguelike — and a rite of passage on any pubnix. All games write to a shared high score table, so your victories (and your deaths on level 1 to a newt) are visible to everyone.

```bash theme={null}
nethack
```

The server provides a site-wide config with sensible defaults (color, time display, experience). Add a `~/.nethackrc` to override or extend it:

```
OPTIONS=autopickup
OPTIONS=name:YourName
```

View the current high scores without starting a game:

```bash theme={null}
nethack -s
```

### Botany

A virtual plant that lives in your terminal. Water it once a day or it slowly dies. When you'll be away, neighbors on the server can water it for you — which is exactly the kind of social mechanic that makes a pubnix feel alive.

```bash theme={null}
botany
```

On first run, botany creates your plant and a `~/.botany/` directory to store its state. To let neighbors water your plant, `~/.botany/visitors.json` must be world-writable — botany creates it that way by default, so don't change its permissions.

Neighbor watering is done from inside the game via the visit menu. Enter a neighbor's username and botany will show their plant and let you water it.

### Other games

* **Roguelikes**: `angband`, `crawl` (Dungeon Crawl Stone Soup), `slashem` (NetHack variant)
* **Arcade**: `ninvaders`, `moon-buggy`, `nsnake`, `bastet`, `netris`, `vitetris`
* **Puzzle**: `nudoku` (sudoku), `typespeed`, `dopewars`
* **BSD Games**: `bsdgames` — \~40 classic games including `hunt`, `adventure`, `backgammon`, `trek`, and more
* **Novelty**: `asciiquarium`, `cmatrix`, `sl`, `cowsay`, `fortune`, `figlet`, `lolcat`, `cbonsai`, `boxes`, `nyancat`

## Log Management

We provide a standardized way for you to manage logs from your own processes (like CGI scripts or cron jobs):

* **Private Logs**: Store your log files in `~/.local/state/log`.
* **Auto-Rotation**: We provide a `.logrotate.conf` template in your home directory. If you configure it, the system will automatically rotate your logs daily to help you stay within your quota.

## Community

* **Social commands**: `menu`, `online`, `community`, `plan`, `lastplan`
* **Messaging**: `talk` (two-way chat), `wall` (broadcast)
* **Webring**: Join with `touch ~/.ring` — browse at `https://atl.sh/ring/`
* **IRC**: `#support` on `irc.atl.chat` (port 6697, SSL)
* **Web**: [allthingslinux.org](https://allthingslinux.org)

## Rules

* Be respectful and follow the [Code of Conduct](/sh/code-of-conduct)
* No cryptocurrency mining
* No network abuse (scanning, DoS, spam)
* No illegal content
* Share and learn — that's what we're here for!
