Open MrSnake0208 opened 4 months ago
As long as the -tcp argument is still in the entrypoint.sh in the start command, this will probably be a different problem. Have you opened the necessary ports (by default 27015 and 7777 UDP) in your firewall?
Yes, I have already opened them, do you need me to open TCP?
After changing the ports to 37304 and 38304, the error disappeared, but I am unable to connect directly via IP in the Steam server list
Does the following message appear in the output after the start?:
LogOnlineSession: Warning: STEAM: Server setting ,StoryProgress_s:Tarasque overflows Steam SetGameTags call
LogOnlineSession: Warning: STEAM: Server setting ,ModifiedRuleset_i:3 overflows Steam SetGameTags call
LogOnlineSession: Display: OSS: Session creation completed. Automatic start is turned on, starting session now.
LogOnlineSession: Warning: STEAM: Server setting ,StoryProgress_s:Tarasque overflows Steam SetGameTags call
LogOnlineSession: Warning: STEAM: Server setting ,ModifiedRuleset_i:3 overflows Steam SetGameTags call
If so, you should be able to connect via IP:QueryPort. Otherwise, have a look at the server list ingame. The server should also appear there under the specified name.
What also works is to add +connect IP:QueryPort
as a start parameter in Steam. The game will then automatically connect to the server at startup.
Yes, the following messages appear after startup, I tried +connect IP:QueryPort
but it didn't work, should I send you my server IP?
LogOnlineSession: Warning: STEAM: Server setting ,StoryProgress_s:Office overflows Steam SetGameTags call LogOnlineSession: Warning: STEAM: Server setting ,ModifiedRuleset_i:0 overflows Steam SetGameTags call LogOnlineSession: Display: OSS: Session creation completed. Automatic start is turned on, starting session now. LogOnlineSession: Warning: STEAM: Server setting ,StoryProgress_s:Office overflows Steam SetGameTags call LogOnlineSession: Warning: STEAM: Server setting ,ModifiedRuleset_i:0 overflows Steam SetGameTags call
Yes, send me the IP. Maybe I will have more success connecting
It's already quite late here, so I'm going to bed, sorry to trouble you!
Nothing runs under the ports. Are you sure that the ports are open? Have you also adjusted the ports in the docker-compose file under both environment
and ports
, such as here:
services:
abiotic-server:
image: "ghcr.io/pleut/abiotic-factor-linux-docker:latest"
restart: unless-stopped
volumes:
- "./gamefiles:/server"
- "./data:/server/AbioticFactor/Saved"
environment:
- MaxServerPlayers=6
- Port=38304
- QueryPort=37304
- ServerPassword=password
- SteamServerName=Linux Server
- UsePerfThreads=true
- NoAsyncLoadingThread=true
- WorldSaveName=Cascade
ports:
- "0.0.0.0:38304:7777/udp"
- "0.0.0.0:37304:27015/udp"
I made the changes, but then it started showing a failed issue.
I seem to have found a solution to the issue. By using TCPDUMP to analyze the communication packets, I discovered that in some specific network environments, the server fails to obtain the correct external IP. Adding the MULTIHOME startup parameter can solve this problem.
Here's the updated docker-compose.yml
configuration:
services:
abiotic-server:
image: "ghcr.io/pleut/abiotic-factor-linux-docker:latest"
restart: unless-stopped
volumes:
- "./gamefiles:/server"
- "./data:/server/AbioticFactor/Saved"
environment:
- MaxServerPlayers=6
- Port=38304
- QueryPort=37304
- ServerPassword=password
- SteamServerName=Linux Server
- UsePerfThreads=true
- NoAsyncLoadingThread=true
- WorldSaveName=Cascade
- AdditionalArgs=-MULTIHOME=external_IP
ports:
- "0.0.0.0:38304:38304/udp"
- "0.0.0.0:37304:37304/udp"
I seem to have found a solution to the issue. By using TCPDUMP to analyze the communication packets, I discovered that in some specific network environments, the server fails to obtain the correct external IP. Adding the MULTIHOME startup parameter can solve this problem.
This solution doesn't work for me. I set multihome to my servers external IP, but whenever I try to run the server I get the following error:
LogNet: Warning: Could not create socket for bind address *my IP*, got error WinSock: binding to port 7777 failed (5)
LogNet: Warning: Encountered an error while creating sockets for the bind addresses.
At first I thought it was due to using ufw, but even after disabling it for testing purposes I still get the same error. Not sure what else to do here, the IP is definitely correct and the server has worked before (without setting multihome), but after restarting it I got the Async task 'FOnlineAsyncTaskSteamCreateServer bWasSuccessful: 0'
error out of nowhere. Didn't change anything in the meantime, just started happening randomly.
I've also found some posts regarding the same issue in other unreal games. Someone mentioned increasing the AsyncTaskTimeout
via a server ini file, but I couldn't find anything like that in the server files. I also tried setting it via AdditionalArgs=-AsyncTaskTimeout=3600
in the docker compose file, but that doesn't work either.
Interestingly, the setup has been working fine (without -MULTIHOME) until some time around 2024-08-24T12:00:00Z.
Now I am getting FOnlineAsyncTaskSteamCreateServer bWasSuccessful: 0
, without any changes to the configurations
(It might be worth noting that Steam experienced downtime around 2024-08-24T10:00:00Z to 2024-08-24T12:00:00Z)
Adding AdditionalArgs=-ini:Engine:[OnlineSubsystemSteam]:AsyncTaskTimeout=360 gets past the FOnlineAsyncTaskSteamCreateServer async timeout for me. Default 15 seconds are not enough when steam is not doing too well.
If I understand correctly it will show the following message if the steam server is created successfully:
LogOnlineSession: Display: OSS: Session creation completed. Automatic start is turned on, starting session now.
I still have this problem.
LogOnline: Warning: OSS: Async task 'FOnlineAsyncTaskSteamCreateServer bWasSuccessful: 0' failed in 15