From 1fc6ac77e2769b5fa9aad6b7d31920aa3194b5af Mon Sep 17 00:00:00 2001 From: Matthew Tran Date: Wed, 6 Sep 2023 13:21:48 +0000 Subject: [PATCH] graceful terraria shutdown --- terraria/Dockerfile | 2 +- terraria/entry.sh | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/terraria/Dockerfile b/terraria/Dockerfile index 1666469..f37ef5d 100644 --- a/terraria/Dockerfile +++ b/terraria/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:22.04 WORKDIR /root RUN apt-get update && apt-get upgrade -RUN apt-get install -y wget unzip tmux +RUN apt-get install -y wget unzip # from https://terraria.fandom.com/wiki/Server (currently 1.4.4.9) RUN wget https://terraria.org/api/download/pc-dedicated-server/terraria-server-1449.zip diff --git a/terraria/entry.sh b/terraria/entry.sh index faba006..98396c1 100644 --- a/terraria/entry.sh +++ b/terraria/entry.sh @@ -1,12 +1,13 @@ #!/bin/sh cleanup() { - echo "TODO" + echo "exit\n" > cmd } trap 'cleanup' TERM -# TODO use tmux so can send exit -./TerrariaServer.bin.x86_64 -config config.txt -pass $(cat password.txt) & +mkfifo cmd +./TerrariaServer.bin.x86_64 -config config.txt -pass $(cat password.txt) < cmd & +echo "help\n" > cmd # shell waits for FIFO to be opened for writing before starting program! wait $! # wait for SIGTERM -# wait $! # wait for server to stop +wait $! # wait for server to stop