runv-server

server tooling for runv.club
Log | Files | Refs | README

commit dd0cded607212ff2444c4aa02d0ac72979055a25
parent cc0478f077a5bae2b0d6702599973ec7139ff2a5
Author: Pablo Murad <pablo@pablomurad.com>
Date:   Fri, 27 Mar 2026 01:15:54 -0300

games

Diffstat:
Atools/bin/runv-games | 50++++++++++++++++++++++++++++++++++++++++++++++++++
Mtools/bin/runv-help | 2+-
Mtools/motd/60-runv | 2+-
Mtools/tools.py | 2+-
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,