Skip to content

Commit

Permalink
Satisfactory example for Lazytainer 2.0 (#18)
Browse files Browse the repository at this point in the history
* Reworked satisfactory example with v2.0

* README.md creation
  • Loading branch information
calrock27 authored Feb 23, 2023
1 parent 671edc0 commit 7640eb1
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 0 deletions.
21 changes: 21 additions & 0 deletions examples/satisfactory/README.md
Original file line number Diff line number Diff line change
@@ -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
43 changes: 43 additions & 0 deletions examples/satisfactory/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -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?

0 comments on commit 7640eb1

Please sign in to comment.