commit dd0cded607212ff2444c4aa02d0ac72979055a25
parent cc0478f077a5bae2b0d6702599973ec7139ff2a5
Author: Pablo Murad <pablo@pablomurad.com>
Date: Fri, 27 Mar 2026 01:15:54 -0300
games
Diffstat:
4 files changed, 53 insertions(+), 3 deletions(-)
diff --git a/tools/bin/runv-games b/tools/bin/runv-games
@@ -0,0 +1,50 @@
+#!/bin/sh
+# runv.club — catálogo de jogos do servidor
+#
+# Ecrã simples: apresenta os jogos e devolve o utilizador à shell ao sair.
+
+R='\033[0m'
+G='\033[0;32m'
+C='\033[0;36m'
+Y='\033[0;33m'
+B='\033[1m'
+D='\033[2m'
+
+print_runv_art() {
+ while IFS= read -r line || [ -n "$line" ]; do
+ printf '%b%s%b\n' '\033[1;32m' "$line" '\033[0m'
+ done <<'RUNV_ART'
+██████╗ ██╗ ██╗███╗ ██╗██╗ ██╗
+██╔══██╗██║ ██║████╗ ██║██║ ██║
+██████╔╝██║ ██║██╔██╗ ██║██║ ██║
+██╔══██╗╚██╗ ██╔╝██║╚██╗██║╚██╗ ██╔╝
+██║ ██║ ╚████╔╝ ██║ ╚████║ ╚████╔╝
+╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═══╝ ╚═══╝
+RUNV_ART
+}
+
+if command -v clear >/dev/null 2>&1; then
+ clear
+fi
+
+print_runv_art
+printf '\n%s\n' '.club — jogos e pequenos mundos'
+printf '\n'
+
+printf '%b%bDisponíveis agora%b\n' "${Y}" "${B}" "${R}"
+printf ' %b%-12s%b %b—%b aventura clássica em texto (pacote bsdgames).\n' "${G}" "adventure" "${R}" "${D}" "${R}"
+printf ' %b%-12s%b %b—%b o seu bichinho virtual do servidor.\n' "${G}" "gotchi" "${R}" "${D}" "${R}"
+printf '\n'
+
+printf '%b%bComo abrir%b\n' "${Y}" "${B}" "${R}"
+printf ' %badventure%b inicia o jogo de exploração textual.\n' "${C}" "${R}"
+printf ' %bgotchi%b abre o runv-pet.\n' "${C}" "${R}"
+printf '\n'
+
+printf '%b%bVoltar%b\n' "${Y}" "${B}" "${R}"
+printf ' Prima %bEnter%b para regressar à shell.\n' "${C}" "${R}"
+printf '\n%s\n' '→ Escolha um jogo ou volte quando quiser.'
+
+if [ -t 0 ]; then
+ IFS= read -r _
+fi
diff --git a/tools/bin/runv-help b/tools/bin/runv-help
@@ -31,7 +31,7 @@ printf ' %btmux%b / %bbyobu%b Multiplexadores de terminal (várias sessões).
printf ' %bmutt%b E-mail no terminal.\n' "${G}" "${R}"
printf ' %bchat%b IRC da rede da casa (após o admin aplicar o patch no servidor).\n' "${G}" "${R}"
printf ' %btree%b Árvore de diretórios.\n' "${G}" "${R}"
-printf ' %badventure%b Jogo de aventura (bsdgames).\n' "${G}" "${R}"
+printf ' %brunv-games%b Jogos do servidor (inclui adventure e gotchi).\n' "${G}" "${R}"
printf '\n'
printf '%b%bSite pessoal (%b~/public_html/%b)%b\n' "${Y}" "${B}" "${C}" "${G}" "${R}"
diff --git a/tools/motd/60-runv b/tools/motd/60-runv
@@ -91,7 +91,7 @@ printf ' %b%-12s%b %b—%b barra de estado e atalhos sobre tmux/screen.\n' "${G
printf ' %b%-12s%b %b—%b cliente de e-mail no terminal.\n' "${G}" "mutt" "${R}" "${D}" "${R}"
printf ' %b%-12s%b %b—%b IRC da rede da casa.\n' "${G}" "chat" "${R}" "${D}" "${R}"
printf ' %b%-12s%b %b—%b um espaço digital de encontro, troca e comunidade.\n' "${G}" "square" "${R}" "${D}" "${R}"
-printf ' %b%-12s%b %b—%b jogo de aventura em texto (bsdgames).\n' "${G}" "adventure" "${R}" "${D}" "${R}"
+printf ' %b%-12s%b %b—%b catálogo de jogos do servidor.\n' "${G}" "runv-games" "${R}" "${D}" "${R}"
print_last_sessions_3x3
diff --git a/tools/tools.py b/tools/tools.py
@@ -208,7 +208,7 @@ def install_bin_scripts(
) -> None:
if not dry_run:
DEST_BIN_DIR.mkdir(parents=True, exist_ok=True)
- for name in ("runv-help", "runv-links", "runv-status", "chat"):
+ for name in ("runv-help", "runv-links", "runv-status", "runv-games", "chat"):
copy_one(
BIN_DIR / name,
DEST_BIN_DIR / name,