[SCRIPT] Shell de démarage avec une phrase de connexion

Décrivez votre problème rencontré sur Urban Terror et partez à la rencontre du monde merveilleux des .cfg.
Rendez-vous dans Outils de communication & communautaires ou Au pays des geeks pour les autres problèmes informatiques.
Répondre
Bullet
Messages : 13
Enregistré le : 18 nov. 2009, 20:59

[SCRIPT] Shell de démarage avec une phrase de connexion

Message par Bullet » 14 mai 2010, 19:36

Bonjour à tous,

Les linuxiens trouvent généralement dérangeant le fait de ne pas pouvoir copier la phrase de connexion dans la console lors d'un pcw.
Le seul moyen d'y remédier est de lancer le jeux avec un script qui demande la phrase de connexion, ou de le lancer avec les paramètres à partir de la console.
Je suppose que certaines personnes habiles ont déjà du faire ce genre de script.

Je trouve utile de fournir le script aux personnes n'ayant les capacités de le faire.

Code : Tout sélectionner

#!/bin/bash

# Par Bullet le 14-05-2010
# accepte plusieurs type de phrase
# avec ou sans le /
# avec ou sans port
# avec ou sans password
# avec ou sans espaces a plusieurs endroits

executable="ioUrbanTerror.x86_64" # a changer en fonction de son système 32-64bit
cd ~/Games/UrbanTerror # a changer en fonction du répertoire ou se situe l'executable

zenity --question --title="Urban Terror" --text="Utiliser une Ip de connexion pour lancer le jeu?"

if [ $? = "0" ]
then 	
	correct="false"	
	while [ $correct = "false" ]
	do
		phrase=$(zenity --entry --title="Connexion Par IP" --text="Quelle est l'ip?")
		correct="false"
		regex=" */? ?connect ([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}(:[0-9]{1,5})?)( *; *password ([a-zA-Z0-9]+))? *"
		
		if [ $phrase = ""]
		then
			exit
		elif [[ $phrase =~ $regex ]]
		then
			correct="true"
			i=1
			match=${#BASH_REMATCH[*]}
			while [[ $i -lt $match ]]
			do
		 	    capture[$i]=${BASH_REMATCH[$i]}
			    let i++
			done
			./$executable +connect ${capture[1]} +password ${capture[4]}
		else
			zenity --info --title="Erreur" --text="Vous avez entré une phrase de connexion incorecte"
		fi
	done

else
	./$executable
fi
Le script propose premièrement si l'utilisateur veut se connecter avec une phrase ou sans.
Dans un cas une phrase de connexion est demandée, dans l'autre le jeu se lance normalement.

Je ne dis pas que mon script est le plus simple ni le meilleur possible, simplement qu'il marche très bien
Que les personnes ayant des alternatives n'hésitent pas à poster leur code :p

J'espère qu'il aidera certaines personnes

Répondre