ich777 / docker-steamcmd-server

Simple Dockerfile that installs steamcmd and a selected game server
121 stars 98 forks source link

STN fails to loads server binary #14

Closed SteindelSE closed 2 years ago

SteindelSE commented 2 years ago

Branch:

stn

Issue:

Fails to load server binary:

Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
---Update Server---
Redirecting stderr to '/serverdata/serverfiles/Steam/logs/stderr.txt'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation
-- type 'quit' to exit --
Loading Steam API...OK

Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
---Prepare Server---
---Server ready---
---Start Server---
/opt/scripts/start-server.sh: line 73: /serverdata/serverfiles/Server_Linux_x64: No such file or directory

What I've tried:

Adding bash to the apt-get install in the dockerfile in case it was an issue with bashisms in the server binary.

How to reproduce:

git clone https://github.com/ich777/docker-steamcmd-server.git -b stn docker build -t user/imagename . docker run -d --restart always -p 7950:7950 -v /path/to/config/:/serverdata/serverfiles/Config --name survivethenights user/survivethenights:latest

ich777 commented 2 years ago

@SteindelSE Seems like you are using the container and the paths wrong...

Please use this docker run:

docker run --name SurviveTheNights -d \
    -p 7950-7951:7950-7951/udp \
    --env 'GAME_ID=1502300' \
    --env 'UID=99' \
    --env 'GID=100' \
    --volume /path/to/steamcmd:/serverdata/steamcmd \
    --volume /path/to/gamefiles:/serverdata/serverfiles \
    ich777/steamcmd:stn

Keep in mind the container downloads the entire game to the mounted volume /serverdata/serverfiles, don't mount only the config directory since this can cause problems. Would also recommend to mount /serverdata/steamcmd since you can use this across multiple containers. Also note that you have to use the ports UDP and not like in your case TCP. You are also missing the GAME_ID variable, you have to always specify it since the container will download maybe the wrong game.

Please report back if it is working. It runs just fine on my server and also on the server from the one that requested it: Click

Do you run this on unRAID or another OS?

SteindelSE commented 2 years ago

Perfect. I was able to get it running without further issue.

Do you run this on unRAID or another OS?

Archlinux


I highly recommend updating the README.md in the ich777/docker-steamcmd-server:stn github branch with your provided example.

docker run --name SurviveTheNights -d \
    -p 7950-7951:7950-7951/udp \
    --env 'GAME_ID=1502300' \
    --env 'UID=99' \
    --env 'GID=100' \
    --volume /path/to/steamcmd:/serverdata/steamcmd \
    --volume /path/to/gamefiles:/serverdata/serverfiles \
    ich777/steamcmd:stn

I'll be sure to keep this example in mind moving forward if I end up using it for another game!

The lack of documentation on the developer's end has been frustrating. They don't cover much. I know it's just an alpha game, but they made no mention that they were using UDP for the game port. Maybe I should have assumed that, but it wouldn't be hard for them to list it. I may see if I can update it on any wikis. Thank you very much for helping me.

ich777 commented 2 years ago

@SteindelSE I definetely want to update all the READMEs but I'm a standalone developer and every time that I try to update them something got in the way. My main issue is that I started this project only for CS:Source & CS:GO only for unRAID and then it got a bit out of control... :smile:

Is this dedicated server for StN even officially released? I couldn't find any documentation on this and if I had not done that many dedicated game containers I had given up on this...

Anyways if you look in my template repository for unRAID you can also extract the necessary variables for the containers starting at this line every relevant option is in these templates.

If you need anything else please feel free to contact me again.

SteindelSE commented 2 years ago

@ich777 Excellent. Thank you very much for your assistance. Your hard work has saved me the headache of developing my own docker image for this.

The dedicated server is officially released for linux. The game is still in early Alpha though, so I'm not at all surprised by the lack of documentation. What little I can find is here:

Official: https://survivethenights.fandom.com/wiki/Linux https://survivethenights.fandom.com/wiki/Hosting (even though these are fandom pages, they are referenced by the Game Devs in official posts, like this one)

SteindelSE commented 2 years ago

I'm a standalone developer and every time that I try to update them something got in the way.

I understand this all too well. I went ahead and did it for you if you like. Pull Request #15