#! /bin/bash # conan server install/update /usr/games/steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir /data/conan_exiles +login anonymous +app_update 443030 +quit # mod 300 level /usr/games/steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir /data/conan_exiles +login anonymous +workshop_download_item 440900 1386174080 +exit # Функция для запуска сервера start_server() { # conan server start xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine /data/conan_exiles/ConanSandboxServer.exe -log | tee /var/log/conan.log & SERVER_PID=$! } while true; do start_server # Мониторинг логов на наличие ошибки tail --pid=$SERVER_PID -n 0 -F /var/log/conan.log | while read LINE; do echo "$LINE" | grep "Cannot allocate memory" if [ $? = 0 ]; then echo "Error 'Cannot allocate memory' detected. Kill $SERVER_PID, restarting server ..." pkill Xvfb break fi done # Ждем, пока сервер завершит работу wait $SERVER_PID # Задержка перед перезапуском sleep 1 done