35 lines
1.1 KiB
Bash
35 lines
1.1 KiB
Bash
#! /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
|