From 7640eb1f3d0d1e057bb585ceca69f208e73e2c70 Mon Sep 17 00:00:00 2001 From: calrock27 <46657562+calrock27@users.noreply.github.com> Date: Wed, 22 Feb 2023 22:44:04 -0500 Subject: [PATCH] Satisfactory example for Lazytainer 2.0 (#18) * Reworked satisfactory example with v2.0 * README.md creation --- examples/satisfactory/README.md | 21 ++++++++++++ examples/satisfactory/docker-compose.yml | 43 ++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 examples/satisfactory/README.md create mode 100644 examples/satisfactory/docker-compose.yml diff --git a/examples/satisfactory/README.md b/examples/satisfactory/README.md new file mode 100644 index 0000000..621235b --- /dev/null +++ b/examples/satisfactory/README.md @@ -0,0 +1,21 @@ +# Lazy Load Docker Satisfactory Server +## Startup +``` +git clone https://github.com/vmorganp/Lazytainer +cd Lazytainer/examples/satisfactory +docker compose up +``` + +or + +#### Deploy with Portainer, etc +Copy contents of docker-compose.yml into a stack, it should automatically deploy + +## Notes +- "lazytainer.group.satisfactory.inactiveTimeout=120" + +This may need to be adjusted based on your physical hardware. If you have slower hardware, the server client may not start with enough time to accept clients and create additional traffic. +In my experience, players can expect a 45 second delay after opening the Satisfactory client and navigating to the server manager before the server actually accepts clients. From the time clients are accepted, this gives players about a minute and a half to login before the container will try to shutdown again. +This could very well change based on hardware specifications, you may need to adjust. + +Don't forget to portforward diff --git a/examples/satisfactory/docker-compose.yml b/examples/satisfactory/docker-compose.yml new file mode 100644 index 0000000..06a2828 --- /dev/null +++ b/examples/satisfactory/docker-compose.yml @@ -0,0 +1,43 @@ +version: "3" + +services: + satisfactory-server: + container_name: 'satisfactory' + image: 'wolveix/satisfactory-server:latest' + volumes: + - /your/game_files/satisfactory:/config # Path must be changed to your satisfactory save mount + environment: + - MAXPLAYERS=8 + - PGID=1000 + - PUID=1000 + - STEAMBETA=false + restart: unless-stopped + deploy: + resources: + limits: + memory: 20G + reservations: + memory: 16G + network_mode: service:lazytainer + labels: + - "lazytainer.group=satisfactory" + depends_on: + - lazytainer + + lazytainer: + container_name: lazytainer + image: ghcr.io/vmorganp/lazytainer:master + environment: + - VERBOSE=true + ports: + - '15777:15777/udp' # This is the query port, supplies packets when the server browser is used. + - '7777:7777/udp' # This port handles the actual game traffic + - '15000:15000/udp' # This port handles outbound check-ins "beacon", etc. + volumes: + - /var/run/docker.sock:/var/run/docker.sock:ro + labels: + - "lazytainer.group.satisfactory.ports=15777,7777,15000" + - "lazytainer.group.satisfactory.inactiveTimeout=120" # A value of two minutes is safe on my hardware but this may need to be raised based on satisfactory container startup time on slower hardware + - "lazytainer.group.satisfactory.minPacketThreshold=500" + - "lazytainer.group.satisfactory.pollRate=1" + - "lazytainer.group.satisfactory.sleepMethod=stop" # This is the default but important to reclaim memory with such high usage. Changing this to sleep may speed up reload times?