42 lines
1.7 KiB
Bash
42 lines
1.7 KiB
Bash
#!/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."
|