Эх сурвалжийг харах

copy mods from user to server global mod server + symlinks

clement 1 жил өмнө
parent
commit
e41c197ce3

+ 19 - 7
jeux.lan.btz.alsace/mods.sh

@@ -1,13 +1,25 @@
 #!/bin/bash
+# Don't forget the setuid
 if [ "$EUID" -ne 0 ]
   then echo "Lancer en root"
   exit
 fi
 
-cd /srv/docker/arma3/antistasi/
-docker compose down
-rm -rf /srv/data/arma3/antistasi/arma3/mods/*
-rm -rf /srv/data/arma3/antistasi/arma3/servermods/*
-mv /srv/data/arma3/antistasi/tempmods/mods/* /srv/data/arma3/antistasi/arma3/mods/
-mv /srv/data/arma3/antistasi/tempmods/servermods/* /srv/data/arma3/antistasi/arma3/servermods/
-docker compose up -d
+if [ "$#" -ne 2 ]; then
+    echo "Usage: $0 <list of mods> <A3 server>"
+    exit 1
+fi
+
+MODS_LIST=$1
+A3_SERVER=$2
+
+cd /srv/docker/arma3/$A3_SERVER
+docker compose stop
+rm -rf volumes/mods/*
+#rm -rf /srv/data/arma3/$A3_SERVER/arma3/servermods/*
+
+for id in $MODS_LIST ; do
+       ln -s /srv/data/arma3/mods/$id volumes/mods/
+done
+
+docker compose start

+ 14 - 5
script_utilisateur/mods-copy.sh

@@ -1,13 +1,22 @@
 #!/bin/bash
-if [ "$#" -ne 3 ]; then
-    echo "Utilisation : $0 utilisateur ip port"
+if [ "$#" -ne 6 ]; then
+    echo "Usage: $0 <user> <ip> <port> <source file> <mods folder> <a3 server>"
+    echo "Example : $0 $USER 10.0.1.9 22 mods.txt ~/.steam/steam/steamapps/workshop/content/107410/ antistasi"
     exit 1
 fi
+
 USER=$1
 IP=$2
 PORTSSH=$3
+SOURCE_FILE=$4
+MODS_FOLDER=$5
+A3_SERVER=$6
+
+#reading source file
+mods_id=$(cat $SOURCE_FILE | cut -d "=" -f2 | tail -n+3 | tr -d "\r")
 
-rsync -avz mods/ -e "ssh -p $PORTSSH" $USER@$IP:/srv/data/arma3/antistasi/tempmods/mods/ || exit 1
-rsync -avz servermods/ -e "ssh -p $PORTSSH" $USER@$IP:/srv/data/arma3/antistasi/tempmods/servermods/ || exit 1
-ssh $USER@$IP -p $PORTSSH /srv/data/scripts/mods.sh || exit 1
+for id in $mods_id ; do
+       rsync -avz --delete-after $MODS_FOLDER$id -e "ssh -p $PORTSSH" $USER@$IP:/srv/data/arma3/mods || exit 1	
+done
 
+ssh $USER@$IP -p $PORTSSH /srv/data/scripts/mods.sh $mods_id $A3_SERVER || exit 1