code termine

This commit is contained in:
Lucas
2025-09-25 18:03:06 +02:00
parent 7e50d04393
commit 334310c3ac
3 changed files with 2208 additions and 127 deletions

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -7,96 +7,111 @@ VERSION=1.0
#Verification du stockage : OK #Verification du stockage : OK
#creation des dossiers : OK #creation des dossiers : OK
#creation de la config : OK #creation de la config : OK
#creation du compte : NOK #creation du compte : OK mais A VOIR
#sys de deplacement des files : NOK #sys de deplacement des files : OK
#sys de lancement/ telechargement du launcher : NOK #sys de lancement: OK
#telechargement du launcher : OK
#On verifie qu'il y a assez de place pour installer minecraft en plus de garder un peu de place pour le reste #On verifie qu'il y a assez de place pour installer minecraft en plus de garder un peu de place pour le reste
max_storage=2147483648 #2Go, le stockage max de l'afs, je deconseille fortement d'augmenter cette valeur ! max_storage=2147483648 #2Go, le stockage max de l'afs, je deconseille fortement d'augmenter cette valeur !
used_storage=$(du -sb "$HOME/afs" | awk '{print $1}') #La taille actuelle de votre afs used_storage=$(du -sb "$HOME/afs" | awk '{print $1}') #La taille actuelle de votre afs
minecraft_storage=943718400 #900Mo, j'utilise cette valeur si vous voulez jouer avec un modpack qui est lourd minecraft_storage=943718400 #900Mo, j'utilise cette valeur si vous voulez jouer avec un modpack qui est lourd
margin_storage=419430400 #400Mo, marge de securité pour que vous puissiez utiliser l'afs aprés l'installation du jeu, je deconseille de modifier cette valeur margin_storage=419430400 #400Mo, marge de securité pour que vous puissiez utiliser l'afs aprés l'installation du jeu, je deconseille de modifier cette valeur
afs="$HOME/afs" afs="$HOME/afs"
launcher_name="PrismLauncher" launcher_name="PrismLauncher"
minecraft_path="$afs/minecraft" minecraft_path="$afs/minecraft" #dossier qui contient minecraft la conf du launcher etc
launcher_config_path="$minecraft_path/config" launcher_config_path="$minecraft_path/config" #dossier qui contient les configurations du launcher
instances_path="$minecraft_path/Instances" instances_path="$minecraft_path/Instances" #dossier qui contient les instances minecraft
mods_path="$minecraft_path/mods" mods_path="$minecraft_path/mods" #Dossier qui contient les mods minecraft
java_path="$minecraft_path/java" java_path="$minecraft_path/java" #Dossier qui contient java(installe auto)
downloads_path="$HOME/Downloads" downloads_path="$HOME/Downloads"
prismlocal_path="$HOME/.local/share/PrismLauncher" prismlocal_path="$HOME/.local/share/PrismLauncher"
appimage="$minecraft_path/PrismLauncher-Linux-x86_64.AppImage" appimage="$minecraft_path/PrismLauncher-Linux-x86_64.AppImage" #Dossier sense contenir le .appimage du launcher
url="https://github.com/PrismLauncher/PrismLauncher/releases/download/9.4/PrismLauncher-Linux-x86_64.AppImage" url="https://github.com/PrismLauncher/PrismLauncher/releases/download/9.4/PrismLauncher-Linux-x86_64.AppImage" #URL du github pour telecharger le launcher
check_storage(){ total=$(($used_storage+$minecraft_storage+$margin_storage))
if [ $used_storage+$minecraftstorage+$margin_storage -gt "$max_storage" ]; then check_storage(){ #VALIDE
if [ $total-gt$max_storage ]; then
printf "Impossible d'installer minecraft, il n'y a pas assez de place." printf "Impossible d'installer minecraft, il n'y a pas assez de place."
printf "\tEssayez de supprimer quelques fichiers, regardez dans les configuration (du -h --max-depth=1 ~/.confs) pour connaitre la taille des differentes configuration" printf "\n\tEssayez de supprimer quelques fichiers, regardez dans les configuration (du -h --max-depth=1 ~/.confs) pour connaitre la taille des differentes configuration"
printf "\tNote: Chez moi la configuration de Discord faisait plus de 700Mo et celle de Firefox plus de 600Mo" printf "\n\tNote: Chez moi la configuration de Discord faisait plus de 700Mo et celle de Firefox plus de 600Mo"
return 1 return 1
else else
return 0 return 0
fi fi
} }
check_path(){ check_path(){ #VALIDE
#Verfication de l'arbo du dossier minecraft #Verfication de l'arbo du dossier minecraft
if [ -f "$minecraft_path" ]; then if [ ! -f "$minecraft_path" ]; then
mkdir -p $minecraft_path $launcher_config_path $instances_path $mods_path $java_path mkdir $minecraft_path $launcher_config_path $instances_path $mods_path $java_path
else else
if [ ! -f "$instances_path" ]; then if [ ! -f "$instances_path" ]; then
mkdir -p $instances_path mkdir $instances_path
fi fi
if [ ! -f "$mods_path" ]; then if [ ! -f "$mods_path" ]; then
mkdir -p $mods_path mkdir $mods_path
fi fi
if [ ! -f "$java_path" ]; then if [ ! -f "$java_path" ]; then
mkdir -p $java_path mkdir $java_path
fi fi
if [ ! -f "$launcher_config_path" ]; then if [ ! -f "$launcher_config_path" ]; then
mkdir -p $launcher_config_path mkdir $launcher_config_path
fi fi
if [ ! -f "$downloads_path" ]; then if [ ! -f "$downloads_path" ]; then
mkdir -p $downloads_path mkdir $downloads_path
fi fi
fi fi
} }
check_config(){ check_config(){ #VALIDE
if [ ! -f "launcher_config_path/prismlauncher.cfg" ]; then if [ ! -f "launcher_config_path/prismlauncher.cfg" ]; then
curl -L -o "$launcher_config_path/" "https://github.com/PixPix20/Minecraft-Installer/blob/main/prismlauncher.cfg" wget -P "$launcher_config_path/" "https://raw.githubusercontent.com/PixPix20/Minecraft-Installer/refs/heads/main/prismlauncher.cfg"
awk -F '=' -v varname=="DownloadsDir" -v varvalue="$downloads_path" '$1 == varname { $2 = "\""varvalue"\"" } { print }' "$launcher_config_path/prismlaucnher.cfg" sed -i "s|DownloadsDir=|DownloadsDir=$downloads_path|" $launcher_config_path/prismlauncher.cfg
awk -F '=' -v varname=="InstanceDir" -v varvalue="$instances_path" '$1 == varname { $2 = "\""varvalue"\"" } { print }' "$launcher_config_path/prismlaucnher.cfg" sed -i "s|InstanceDir=|InstanceDir=$instances_path|" $launcher_config_path/prismlauncher.cfg
awk -F '=' -v varname=="CentralModsDir" -v varvalue="$mods_path" '$1 == varname { $2 = "\""varvalue"\"" } { print }' "$launcher_config_path/prismlaucnher.cfg" sed -i "s|CentralModsDir=|CentralModsDir=$mods_path|" $launcher_config_path/prismlauncher.cfg
awk -F '=' -v varname=="JavaDir" -v varvalue="$java_path" '$1 == varname { $2 = "\""varvalue"\"" } { print }' "$launcher_config_path/prismlaucnher.cfg" sed -i "s|JavaDir=|JavaDir=$java_path|" $launcher_config_path/prismlauncher.cfg
fi fi
} }
check_account(){ check_account(){
#TODO: A voir #TODO: A voir
while [ ! -f "$launcher_conig_path/accounts.sh" ]; do while [ ! -f "$launcher_config_path/accounts.sh" ]; do
sleep 2 sleep 2
done done
cp $HOME/.local/share/PrismLauncher/accounts.json $launcher_config_path cp $HOME/.local/share/PrismLauncher/accounts.json $launcher_config_path
} }
check_launcher(){ check_launcher(){ #VALIDE
if [ ! -f "$appimage" ]; then if [ ! -f "$appimage" ]; then
echo "Téléchargement de PrismLauncher..." echo "Téléchargement de PrismLauncher..."
mkdir -p "$(dirname "$appimage")" mkdir -p "$(dirname "$appimage")"
curl -L -o "$appimage" "$url" #curl -L -o "$appimage" "$url"
chmod +x "$appimage" wget -P "$appimage" "$url"
chmod +x "$appimage"
fi fi
} }
cop_files(){ cop_files(){ #VALIDE
if [ ! -f "$prismlocal_path" ]; then if [ ! -f "$prismlocal_path" ]; then
mkdir -p $prismlocal_path mkdir -p $prismlocal_path
fi fi
cp $launcher_config_file/* $prismlocal_path cp $launcher_config_path/* $prismlocal_path
} }
start_launcher(){
nix-shell -p appimage-run --run "appimage-run $appimage"
}
#installation
#check_storage
check_path
check_config
cop_files
check_launcher
echo fin
start_launcher && check_account # doit se faire en para