Dopo una lunga giornata di lavoro, gli amministratori di sistema meritano un po' di tempo di inattività. Ma anche i tempi di inattività possono essere un'opportunità per esercitare le tue capacità di amministratore di sistema. Ad esempio, ho creato un playbook Ansible per installare un gioco classico che mi aiuti a rilassarmi e liberare la mente. Puoi usare il mio playbook per esercitarti con Ansible e puoi usarlo come ispirazione per scrivere i tuoi playbook.
LBreakoutHD è un gioco semplice, divertente e avvincente sviluppato per Linux (quindi "L" all'inizio) ma ora disponibile anche per altre piattaforme. LBreakoutHD è un remake in HD di LBreakout2, che è esso stesso un remake del classico Breakout sviluppato negli anni '70.
L'idea del gioco è quella di usare una palla per rompere i mattoni nella parte superiore dello schermo usando una paletta nella parte inferiore per far rimbalzare e reindirizzare la palla. Sali di livello dopo aver rotto tutti i mattoni e perdi la partita se lasci cadere le palline sotto la racchetta.
Alcuni mattoncini nascondono scatole a sorpresa che possono darti punti o poteri extra (come una paletta più grande o palline che esplodono) da aggiungere al divertimento. Ci sono anche brutte sorprese che aumentano la difficoltà del gioco, come congelare la pagaia o ridurne le dimensioni.
Puoi trovare LBreakoutHD nella collezione LGames. Questi giochi sono sviluppati da Michael Speck e sono open source, rilasciati con licenza GPL.
[ Se stai comunque vivendo la tua vita con il tuo emulatore di terminale, perché non divertirti un po' mentre sei lì? Vedi 5 giochi da riga di comando per amministratori di sistema.]
Installazione del gioco tramite Ansible
Per installare LBreakoutHD su Linux, devi compilarlo dal suo codice sorgente. Hai anche bisogno del compilatore GCC, make
e le librerie di sviluppo SDL2. Per semplificare, puoi utilizzare questo playbook Ansible che ho progettato per installarlo su Fedora 34:
- name: Manages a local source install of lbreakouthd
hosts: localhost
gather_facts: yes
vars:
prefix_dir: "{{ ansible_env.HOME }}/.local/"
version: "1.0.8"
make_action: "install"
cleanup_tmp: yes
tasks:
- name: Ensure requirements in place
dnf:
name:
- SDL2
- SDL2_image
- SDL2_mixer
- SDL2_ttf
- SDL2-devel
- SDL2_ttf-devel
- SDL2_image-devel
- SDL2_mixer-devel
- make
- gcc
- gcc-c++
update_cache: yes
state: present
become: yes
- name: Create temporary directory
file:
path: /tmp/lbreakout
state: directory
mode: 0770
- name: Download and extract source code
unarchive:
src: "https://sourceforge.net/projects/lgames/files/lbreakouthd/lbreakouthd-{{ version }}.tar.gz"
dest: /tmp/lbreakout/
remote_src: yes
- name: Configure the build
command: ./configure --prefix={{ prefix_dir }}
args:
chdir: "/tmp/lbreakout/lbreakouthd-{{ version }}"
creates: "/tmp/lbreakout/lbreakouthd-{{ version }}/Makefile"
- name: Make game according to defined make_action install / uninstall
make:
chdir: "/tmp/lbreakout/lbreakouthd-{{ version }}"
target: "{{ make_action }}"
- name: Ensure temporary directory is deleted
file:
path: /tmp/lbreakout
state: absent
when: cleanup_tmp | bool
Questa installazione del playbook include le dipendenze; crea una directory temporanea; scarica ed estrae la fonte; e lo configura, lo compila e lo installa usando Ansible make
modulo con la destinazione install
. Infine, rimuove la directory temporanea e il codice sorgente in essa contenuto per ripulire il sistema.
Ora, esegui il playbook per installare il gioco. Usa ansible
opzione -K
per abilitare l'escalation dei privilegi richiesta per installare le dipendenze:
$ ansible-playbook -K lbreakout.yaml
BECOME password:
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
PLAY [Manages a local source install of lbreakouthd] ************************
TASK [Gathering Facts] ******************************************************
ok: [localhost]
TASK [Ensure requirements in place] *****************************************
ok: [localhost]
TASK [Create temporary directory] *******************************************
changed: [localhost]
TASK [Download and extract source code] *************************************
changed: [localhost]
TASK [Configure the build] **************************************************
changed: [localhost]
TASK [Make game according to defined make_action install / uninstall] *******
changed: [localhost]
TASK [Ensure temporary directory is deleted] ********************************
changed: [localhost]
PLAY RECAP ******************************************************************
localhost: ok=7 changed=5 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Se desideri utilizzare questo playbook su altre distribuzioni, aggiorna l'attività Ensure requirements in place
per utilizzare i nomi di modulo e pacchetto corretti per la tua distribuzione. Per impostazione predefinita, questo playbook installa LBreakoutHD in .local
sottodirectory nella directory home dell'utente corrente. Puoi aggiornarlo cambiando la variabile prefix_dir
. Se lo imposti su una directory di sistema, devi eseguire il playbook con un utente privilegiato. Puoi anche modificare altre variabili per modificare il comportamento del playbook, come l'impostazione di make_action=uninstall
per disinstallare il gioco o cleanup_tmp=no
per preservare la directory temporanea invece di eliminarla alla fine.
Giocare
Una volta installato, assicurati la directory $HOME/.local/bin
è nel tuo $PATH
e avvia il gioco eseguendo lbreakouthd
. Lo script di installazione crea una scorciatoia per il gioco in $HOME/.local/share/applications
. Se il tuo sistema utilizza questa posizione per i file del desktop, puoi avviare il gioco utilizzando i menu del desktop.
All'avvio del gioco, seleziona Nuovo gioco per iniziare una nuova partita, quindi seleziona Inizia livelli originali per giocare ai livelli progettati con il gioco o Inizia livello personalizzato per scegliere tra un gran numero di livelli personalizzati forniti dagli utenti.
Questi livelli personalizzati aggiungono ulteriore divertimento al gioco, poiché alcuni di questi livelli sono impegnativi o molto creativi.
Disinstallazione del gioco
Per disinstallare il gioco, esegui nuovamente il playbook, impostando la variabile make_action=uninstall
:
$ ansible-playbook -K lbreakout.yaml -e make_action=uninstall
Il playbook rimuove tutti i file di gioco dalle directory di installazione, ma lascia tutti i dati di gioco salvati sotto il tuo $HOME
directory intatta.
[ Vuoi testare le tue capacità di amministratore di sistema? Fai una valutazione delle abilità oggi. ]
Divertiti
LBreakoutHD è un gioco divertente. È abbastanza semplice da permetterti di iniziare a giocare velocemente, ma è abbastanza impegnativo da essere comunque divertente. C'è un po' da imparare per capire cosa fanno tutti i poteri e come influiscono sul gioco. Questi stessi poteri si aggiungono al fattore di replay del gioco poiché cambiano i livelli ogni volta che giochi.
Nel complesso, questo è un gioco eccellente con un po' di nostalgia mentre è ancora moderno con una bella grafica e un suono fantastico. È fantastico rinfrescare la mente dopo il lavoro e mettere in pratica le tue abilità di amministratore di sistema divertendosi.