Après une longue journée de travail, les administrateurs système méritent un peu de temps d'arrêt. Mais même les temps d'arrêt peuvent être l'occasion de mettre en pratique vos compétences d'administrateur système. Par exemple, j'ai créé un playbook Ansible pour installer un jeu classique pour m'aider à me détendre et à me vider l'esprit. Vous pouvez utiliser mon playbook pour vous entraîner à utiliser Ansible, et vous pouvez vous en inspirer pour écrire vos propres playbooks.
LBreakoutHD est un jeu simple, amusant et addictif développé pour Linux (donc "L" au début) mais maintenant également disponible pour d'autres plateformes. LBreakoutHD est un remake HD de LBreakout2, qui est lui-même un remake du classique Breakout développé dans les années 1970.
L'idée du jeu est d'utiliser une balle pour casser des briques en haut de l'écran en utilisant une raquette en bas pour faire rebondir et rediriger la balle. Vous montez d'un niveau après avoir cassé toutes les briques, et vous perdez la partie si vous laissez les balles tomber sous la raquette.
Certaines briques cachent des boîtes surprises qui peuvent vous donner des points ou des pouvoirs supplémentaires (comme une taille de pagaie plus grande ou des balles qui explosent) pour ajouter au plaisir. Il y a aussi de mauvaises surprises qui augmentent la difficulté du jeu, comme geler la raquette ou diminuer sa taille.
Vous pouvez trouver LBreakoutHD dans la collection LGames. Ces jeux sont développés par Michael Speck et sont open source, sous licence GPL.
[ Si vous vivez de toute façon dans votre émulateur de terminal, pourquoi ne pas vous amuser un peu pendant que vous y êtes ? Voir 5 jeux en ligne de commande pour les administrateurs système .]
Installer le jeu avec Ansible
Pour installer LBreakoutHD sur Linux, vous devez le compiler à partir de son code source. Vous avez également besoin du compilateur GCC, make
, et les bibliothèques de développement SDL2. Pour vous faciliter la tâche, vous pouvez utiliser ce playbook Ansible que j'ai conçu pour l'installer sur 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
Cette installation de playbook inclut des dépendances ; crée un répertoire temporaire ; télécharge et extrait la source ; et le configure, le compile et l'installe à l'aide du make
Ansible module avec la cible install
. Enfin, il supprime le répertoire temporaire et le code source qu'il contient pour nettoyer le système.
Maintenant, lancez le playbook pour installer le jeu. Utiliser ansible
option -K
pour activer l'élévation de privilèges requise pour installer les dépendances :
$ 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
Si vous souhaitez utiliser ce playbook sur d'autres distributions, mettez à jour la tâche Ensure requirements in place
pour utiliser les noms de modules et de packages corrects pour votre distribution. Par défaut, ce playbook installe LBreakoutHD dans le .local
sous-répertoire sous le répertoire personnel de l'utilisateur actuel. Vous pouvez le mettre à jour en modifiant la variable prefix_dir
. Si vous le définissez sur un répertoire système, vous devez exécuter le playbook avec un utilisateur privilégié. Vous pouvez également modifier d'autres variables pour modifier le comportement du playbook, par exemple en définissant make_action=uninstall
pour désinstaller le jeu ou cleanup_tmp=no
pour conserver le répertoire temporaire au lieu de le supprimer à la fin.
Jouer au jeu
Une fois installé, assurez-vous que le répertoire $HOME/.local/bin
est dans votre $PATH
, et démarrez le jeu en exécutant lbreakouthd
. Le script d'installation crée un raccourci pour le jeu dans $HOME/.local/share/applications
. Si votre système utilise cet emplacement pour les fichiers du bureau, vous pouvez lancer le jeu à l'aide des menus de votre bureau.
Lorsque le jeu démarre, sélectionnez Nouvelle partie pour démarrer une nouvelle partie, puis sélectionnez Démarrer les niveaux d'origine pour jouer aux niveaux conçus avec le jeu ou Démarrer un niveau personnalisé pour choisir parmi un grand nombre de niveaux personnalisés créés par les utilisateurs.
Ces niveaux personnalisés ajoutent du plaisir supplémentaire au jeu, car certains de ces niveaux sont difficiles ou très créatifs.
Désinstaller le jeu
Pour désinstaller le jeu, relancez le playbook, en définissant la variable make_action=uninstall
:
$ ansible-playbook -K lbreakout.yaml -e make_action=uninstall
Le playbook supprime tous les fichiers de jeu des répertoires d'installation, mais il laisse toutes les données de jeu enregistrées sous votre $HOME
répertoire intact.
[ Vous voulez tester vos compétences d'administrateur système ? Faites une évaluation des compétences aujourd'hui. ]
Amusez-vous
LBreakoutHD est un jeu amusant. C'est assez simple pour vous permettre de commencer à jouer rapidement, mais c'est assez stimulant pour rester divertissant. Il y a un peu d'apprentissage pour comprendre ce que font tous les pouvoirs et leur impact sur le jeu. Ces mêmes pouvoirs ajoutent au facteur de rejouabilité du jeu car ils changent les niveaux à chaque fois que vous jouez.
Dans l'ensemble, c'est un excellent jeu avec une certaine nostalgie tout en restant moderne avec de jolis graphismes et un son sympa. C'est formidable de se rafraîchir l'esprit après le travail et de pratiquer ses compétences d'administrateur système tout en s'amusant.