diff --git a/ArchiSteamFarm/overlay/generic-netf/ArchiSteamFarm-Service.sh b/ArchiSteamFarm/overlay/generic-netf/ArchiSteamFarm-Service.sh index 2bb9d4a20..7ee70923d 100755 --- a/ArchiSteamFarm/overlay/generic-netf/ArchiSteamFarm-Service.sh +++ b/ArchiSteamFarm/overlay/generic-netf/ArchiSteamFarm-Service.sh @@ -22,6 +22,7 @@ fi cd "$SCRIPT_DIR" BINARY_ARGS="" +SERVICE=0 PATH_NEXT=0 PARSE_ARG() { @@ -37,6 +38,7 @@ PARSE_ARG() { cd "$(echo "$1" | cut -d '=' -f 2-)" fi ;; + --service) SERVICE=1 ;; *) if [ "$PATH_NEXT" -eq 1 ]; then PATH_NEXT=0 @@ -85,7 +87,7 @@ fi mono --version while :; do - if [ -f "$CONFIG_PATH" ] && grep -Eq '"Headless":\s+?true' "$CONFIG_PATH"; then + if [ "$SERVICE" -eq 1 ] || ([ -f "$CONFIG_PATH" ] && grep -Eq '"Headless":\s+?true' "$CONFIG_PATH"); then # We're running ASF in headless mode so we don't need STDIN # Start ASF in the background, trap will work properly due to non-blocking call if [ -n "$BINARY_PREFIX" ]; then diff --git a/ArchiSteamFarm/overlay/generic-netf/ArchiSteamFarm.sh b/ArchiSteamFarm/overlay/generic-netf/ArchiSteamFarm.sh index a6819ad22..2ef40abe6 100755 --- a/ArchiSteamFarm/overlay/generic-netf/ArchiSteamFarm.sh +++ b/ArchiSteamFarm/overlay/generic-netf/ArchiSteamFarm.sh @@ -22,6 +22,7 @@ fi cd "$SCRIPT_DIR" BINARY_ARGS="" +SERVICE=0 PATH_NEXT=0 PARSE_ARG() { @@ -37,6 +38,7 @@ PARSE_ARG() { cd "$(echo "$1" | cut -d '=' -f 2-)" fi ;; + --service) SERVICE=1 ;; *) if [ "$PATH_NEXT" -eq 1 ]; then PATH_NEXT=0 @@ -84,7 +86,7 @@ fi mono --version -if [ -f "$CONFIG_PATH" ] && grep -Eq '"Headless":\s+?true' "$CONFIG_PATH"; then +if [ "$SERVICE" -eq 1 ] || ([ -f "$CONFIG_PATH" ] && grep -Eq '"Headless":\s+?true' "$CONFIG_PATH"); then # We're running ASF in headless mode so we don't need STDIN # Start ASF in the background, trap will work properly due to non-blocking call if [ -n "$BINARY_PREFIX" ]; then diff --git a/ArchiSteamFarm/overlay/generic/ArchiSteamFarm-Service.sh b/ArchiSteamFarm/overlay/generic/ArchiSteamFarm-Service.sh index e25d800a9..277362e1e 100755 --- a/ArchiSteamFarm/overlay/generic/ArchiSteamFarm-Service.sh +++ b/ArchiSteamFarm/overlay/generic/ArchiSteamFarm-Service.sh @@ -22,6 +22,7 @@ fi cd "$SCRIPT_DIR" BINARY_ARGS="" +SERVICE=0 PATH_NEXT=0 PARSE_ARG() { @@ -37,6 +38,7 @@ PARSE_ARG() { cd "$(echo "$1" | cut -d '=' -f 2-)" fi ;; + --service) SERVICE=1 ;; *) if [ "$PATH_NEXT" -eq 1 ]; then PATH_NEXT=0 @@ -85,7 +87,7 @@ fi dotnet --info while :; do - if [ -f "$CONFIG_PATH" ] && grep -Eq '"Headless":\s+?true' "$CONFIG_PATH"; then + if [ "$SERVICE" -eq 1 ] || ([ -f "$CONFIG_PATH" ] && grep -Eq '"Headless":\s+?true' "$CONFIG_PATH"); then # We're running ASF in headless mode so we don't need STDIN # Start ASF in the background, trap will work properly due to non-blocking call if [ -n "$BINARY_PREFIX" ]; then diff --git a/ArchiSteamFarm/overlay/generic/ArchiSteamFarm.sh b/ArchiSteamFarm/overlay/generic/ArchiSteamFarm.sh index e5572e091..1b774f654 100755 --- a/ArchiSteamFarm/overlay/generic/ArchiSteamFarm.sh +++ b/ArchiSteamFarm/overlay/generic/ArchiSteamFarm.sh @@ -22,6 +22,7 @@ fi cd "$SCRIPT_DIR" BINARY_ARGS="" +SERVICE=0 PATH_NEXT=0 PARSE_ARG() { @@ -37,6 +38,7 @@ PARSE_ARG() { cd "$(echo "$1" | cut -d '=' -f 2-)" fi ;; + --service) SERVICE=1 ;; *) if [ "$PATH_NEXT" -eq 1 ]; then PATH_NEXT=0 @@ -84,7 +86,7 @@ fi dotnet --info -if [ -f "$CONFIG_PATH" ] && grep -Eq '"Headless":\s+?true' "$CONFIG_PATH"; then +if [ "$SERVICE" -eq 1 ] || ([ -f "$CONFIG_PATH" ] && grep -Eq '"Headless":\s+?true' "$CONFIG_PATH"); then # We're running ASF in headless mode so we don't need STDIN # Start ASF in the background, trap will work properly due to non-blocking call if [ -n "$BINARY_PREFIX" ]; then diff --git a/ArchiSteamFarm/overlay/linux/ArchiSteamFarm-Service.sh b/ArchiSteamFarm/overlay/linux/ArchiSteamFarm-Service.sh index af9570f7c..090de2840 100755 --- a/ArchiSteamFarm/overlay/linux/ArchiSteamFarm-Service.sh +++ b/ArchiSteamFarm/overlay/linux/ArchiSteamFarm-Service.sh @@ -22,6 +22,7 @@ fi cd "$SCRIPT_DIR" BINARY_ARGS="" +SERVICE=0 PATH_NEXT=0 PARSE_ARG() { @@ -37,6 +38,7 @@ PARSE_ARG() { cd "$(echo "$1" | cut -d '=' -f 2-)" fi ;; + --service) SERVICE=1 ;; *) if [ "$PATH_NEXT" -eq 1 ]; then PATH_NEXT=0 @@ -78,7 +80,7 @@ CONFIG_PATH="$(pwd)/${CONFIG_PATH}" trap "trap - TERM && kill -- -$$" INT TERM while :; do - if [ -f "$CONFIG_PATH" ] && grep -Eq '"Headless":\s+?true' "$CONFIG_PATH"; then + if [ "$SERVICE" -eq 1 ] || ([ -f "$CONFIG_PATH" ] && grep -Eq '"Headless":\s+?true' "$CONFIG_PATH"); then # We're running ASF in headless mode so we don't need STDIN # Start ASF in the background, trap will work properly due to non-blocking call if [ -n "$BINARY_PREFIX" ]; then diff --git a/ArchiSteamFarm/overlay/osx/ArchiSteamFarm-Service.sh b/ArchiSteamFarm/overlay/osx/ArchiSteamFarm-Service.sh index 36e20ee7e..17ba13cf0 100755 --- a/ArchiSteamFarm/overlay/osx/ArchiSteamFarm-Service.sh +++ b/ArchiSteamFarm/overlay/osx/ArchiSteamFarm-Service.sh @@ -22,6 +22,7 @@ fi cd "$SCRIPT_DIR" BINARY_ARGS="" +SERVICE=0 PATH_NEXT=0 PARSE_ARG() { @@ -37,6 +38,7 @@ PARSE_ARG() { cd "$(echo "$1" | cut -d '=' -f 2-)" fi ;; + --service) SERVICE=1 ;; *) if [ "$PATH_NEXT" -eq 1 ]; then PATH_NEXT=0 @@ -69,7 +71,7 @@ CONFIG_PATH="$(pwd)/${CONFIG_PATH}" trap "trap - TERM && kill -- -$$" INT TERM while :; do - if [ -f "$CONFIG_PATH" ] && grep -Eq '"Headless":\s+?true' "$CONFIG_PATH"; then + if [ "$SERVICE" -eq 1 ] || ([ -f "$CONFIG_PATH" ] && grep -Eq '"Headless":\s+?true' "$CONFIG_PATH"); then # We're running ASF in headless mode so we don't need STDIN "$BINARY" $BINARY_ARGS & # Start ASF in the background, trap will work properly due to non-blocking call wait $! # This will forward dotnet error code, set -e will abort the script if it's non-zero diff --git a/run.sh b/run.sh index 6fb8965c5..85ad76cc1 100755 --- a/run.sh +++ b/run.sh @@ -28,6 +28,7 @@ fi cd "$BINARY_DIR" BINARY_ARGS="" +SERVICE=0 PATH_NEXT=0 PARSE_ARG() { @@ -43,6 +44,7 @@ PARSE_ARG() { cd "$(echo "$1" | cut -d '=' -f 2-)" fi ;; + --service) SERVICE=1 ;; *) if [ "$PATH_NEXT" -eq 1 ]; then PATH_NEXT=0 @@ -81,7 +83,7 @@ fi dotnet --info -if [ -f "$CONFIG_PATH" ] && grep -Eq '"Headless":\s+?true' "$CONFIG_PATH"; then +if [ "$SERVICE" -eq 1 ] || ([ -f "$CONFIG_PATH" ] && grep -Eq '"Headless":\s+?true' "$CONFIG_PATH"); then # We're running ASF in headless mode so we don't need STDIN dotnet "$BINARY" $BINARY_ARGS & # Start ASF in the background, trap will work properly due to non-blocking call wait $! # This will forward dotnet error code, set -e will abort the script if it's non-zero