#!/bin/bash # Set the container name CONTAINER_NAME="csserver" SCRIPT_NAME=me=$(basename "$0") # Function to display [INFO] in blue and the message in default color info() { printf "\033[0;34m[INFO]\033[0m %s\n" "$1" } # Function to check if the container is running is_container_running() { [ "$(docker-compose ps -q ${CONTAINER_NAME} | xargs docker inspect -f '{{.State.Status}}' 2>/dev/null)" = "running" ] } # Function to execute commands in the container execute_in_container() { info "Executing command in container: $1" docker-compose exec -T "${CONTAINER_NAME}" sh -c "$1" } # Check if the container is running if ! is_container_running; then info "Warning: Container ${CONTAINER_NAME} is not running. Please start the container and rerun the script." exit 1 fi # FIX 1: Copying libstdc++.so.6 & libgcc_s.so.1 from other source #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/" #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/" # FIX 2: Removing libstdc++.so.6 & libgcc_s.so.1 and let them get recreated on next container start execute_in_container "rm /data/serverfiles/libstdc++.so.6" execute_in_container "rm /data/serverfiles/libgcc_s.so.1" docker-compose down info "${SCRIPT_NAME} completed successfully."