#!/bin/bash # Set the container name as a variable CONTAINER_NAME="lgsm-cs" # Function to check if the container is running is_container_running() { docker inspect -f '{{.State.Running}}' "${CONTAINER_NAME}" 2>/dev/null } # Function to wait for the container to be fully up and running wait_for_container() { echo "Waiting for container ${CONTAINER_NAME} to be fully up and running..." while ! docker exec "${CONTAINER_NAME}" /bin/sh -c "exit" &> /dev/null; do sleep 1 done echo "Container ${CONTAINER_NAME} is now up." } # Function to execute commands in the container execute_in_container() { docker exec -d "${CONTAINER_NAME}" sh -c "$1" } # Check if container is running if [ "$(is_container_running)" != "true" ]; then echo "Container ${CONTAINER_NAME} is not running. Starting it..." docker start "${CONTAINER_NAME}" wait_for_container fi # Moving and copying libstdc++.so.6 execute_in_container "mv /data/serverfiles/libstdc++.so.6 /data/serverfiles/libstdc++.so.6.bak && cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /data/serverfiles/" execute_in_container "mv /data/.local/share/Steam/steamcmd/linux32/libstdc++.so.6 /data/.local/share/Steam/steamcmd/linux32/libstdc++.so.6.bak && cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /data/.local/share/Steam/steamcmd/linux32/" # Moving and copying libgcc_s.so.1 execute_in_container "mv /data/serverfiles/libgcc_s.so.1 /data/serverfiles/libgcc_s.so.1.bak && cp /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 /data/serverfiles/" # Shutdown the container after the fixes echo "Shutting down the container ${CONTAINER_NAME}..." docker stop "${CONTAINER_NAME}"