[Support] ich777 - Gameserver Dockers


Recommended Posts

3 minutes ago, domrockt said:

is it spossible to add this server to your list?

I will look into this, but I will create my own container since I run my containers differently then this one.

 

This will take a week or two since I'm currently really busy.

Link to comment
53 minutes ago, ich777 said:

I will look into this, but I will create my own container since I run my containers differently then this one.

 

This will take a week or two since I'm currently really busy.

 

Yes sure, would be great. No Hurry :D thank you for doing so.

  • Thanks 1
Link to comment
On 5/2/2022 at 10:37 PM, ich777 said:

This is the most definite solution to your issue, create a variable with the Key: FORCE_X86 and the Value: true like:

image.png.58e8824465e40bef0ba61c77fb52d331.png

 

For this game from what I know you need to provide a valid Steam account with the game in the library.

 

On what machine (CPU) do you try to run ARMA3?

I think that ARMA3 released a update in the last year so that a specific type of instruction is needed, so if you are trying to run this on something like an AMD Phenom it won't work, but I'm actually not quite sure about that...

 

It's running on a Xeon E5-1620 from what feels like 200 years ago :D
But indeed, after retrying with that x86 forced param it does seem to run stable now, though I'm positive I tried that before (hence why the parameter already existed buy I had changed it to false after it didn't help). Perhaps it was a combination of things, such as re-verifying files.

 

Either way, I just wanted to report back to mention that it does, indeed, run stable.

  • Like 1
Link to comment

Hello !

 

I am currently looking to up a Rust gameserver on a different branch but can't find a way to change the used branch.

 

The way to do it in steamcmd is to change the +app_update 258550 to +app_update 258550 -beta staging

 

Changing the game_id sadly seem to not work. I tried to change it to -beta prerelease aswell, the docker just get stuck into a loop restart.

 

 

Any ideas ? :D

Link to comment
13 hours ago, Niyah said:

Changing the game_id sadly seem to not work. I tried to change it to -beta prerelease aswell, the docker just get stuck into a loop restart.

This is usually not caused by adding this to the GAME_ID

Can you provide some logs?

Link to comment
On 3/27/2022 at 3:10 AM, ich777 said:

Simply drop in a sv6 file in .../saves/ and change this value:

image.thumb.png.495c7d57cc3fc2e665530cccfab101d7.png

(For OpenCTR2) Not the person who asked the question, but I'm also having that issue. I'm changing that value, as well as other values within /mnt/array_cache/appdata/openrct2/user-data/config.ini, such as default_password (that should require users to enter a password, right?) and it appears that the container is ignoring me partially. server_name, description is working, however.

Edited by joshbgosh10592
Clarified what game.
Link to comment

 

dontstarve needs a 64-bit version.

 

if you run the 32-bit server and use the 64-bit client, you would find you can walk on the sea, and could never save your profile in the server.

I realized this problem after several failures. You can refer to this commit to upgrade 32-bit to 64-bit, but the best practice should be to create another branch to maintain the 64-bit version.

https://github.com/VergilGao/docker-steamcmd-server/commit/7e09925ddae0db3849bcc1e4bdb854e340cd782b

Edited by VergilGao
Link to comment
4 hours ago, VergilGao said:

but the best practice should be to create another branch to maintain the 64-bit version.

Thank you for the report.

This is also solvable with a Variable, but what should it default to? Should it run by default 32bit or 64bit? I think 64bit should be the way to go...

 

4 hours ago, VergilGao said:

you would find you can walk on the sea

EDIT: I've now tried it and I can't walk over the sea...

grafik.thumb.png.95fc429cd99ee5bc306440d891b3220b.png

 

4 hours ago, VergilGao said:

and could never save your profile in the server.

I also tried this and I have no issue whatsoever (the screenshot was taken after a server restart):

grafik.thumb.png.0d3b63dd71530eda9538ef3423164d58.png

 

Also I'm running the 64bit client version.

 

 

EDIT2: I have now updated the container with a Variable that will default to 64bit mode in the first place (even if the users don't have the value in the template) without any change needed by the user itself (also updated the template so that the user can switch it back to 32bit mode if needed):

grafik.thumb.png.3cfe4561dbbdc9d26c82a4a935837aa7.png

 

As soon as the contianer is updated the container will run in 64bit mode without any user interaction where they can switch back to 32bit mode with this variable, this should not break anything from my testing (wether you play with a 64bit client and 32bit server or 32bit client and 64bit server).

Link to comment
3 minutes ago, joshbgosh10592 said:

the appdata share is set to prefer. I'm assuming it should be only?

No, prefer is also fine.

 

3 minutes ago, joshbgosh10592 said:

There's been plenty of room on that cache pool though, so it shouldn't have moved to an HDD.

Sure, I will test this, give me a few minutes... Doing some tests currently at Don'tStarveTogether.

Link to comment
12 minutes ago, joshbgosh10592 said:

appdata

Have you stopped the server before editing the file or did you let it run, edited the file and then simply restarted it?

If you did the last thing, please stop the server in the first place, edit the file and then start it again.

 

I hope you can see it in the screenshot, made a special server for you... :D

grafik.thumb.png.a9fdfc8d11d91639103739c1c9c192a4.png

Link to comment

Hi @ich777 I've been trying to get the Assetto Corsa image to work, but of course I have Steam Guard enabled and it fails no matter what I've tried.

 

So I have a few questions that maybe you might be able to enlighten me with your experience?

 

I saw that (within the image) in the `/opt/scripts/start-server.sh` file contains everything for running steamcmd and the various steps including `---Update SteamCMD---` and `---Update Server---` and I've been trying to add `+set_steam_guard_code ${STEAM_GUARD_CODE} \` in there so that I could add a `STEAM_GUARD_CODE` variable in the Unraid template and make that work. I couldn't get this to work, mostly because restarting the docker container refreshes the files in `/opt/scripts/`.

image.png.0631636edc8b0406741f20c74fce136c.png

 

I tried adding the Path to the template, so that I could manually edit the scripts persistently (To add a couple lines in):

image.png.951fdaefc0cbde70e19df5ef40c888f8.png

 

But alas, this did not work, and presents an "Execution error" that I cannot solve, but works again when I remove the Path:

image.png.5674f6a532b2450be07c28942d051310.png

 

I would like to test further but this has me stuck.

Do you know how I can make that Path work?

 

I also looked up the Valve Developer wiki and saw that the SteamCMD section specifies the `set_steam_guard_code` is available, but also specifies to check the latest version and commands on the GitHub repo, which specifies there that the `set_steam_guard_code` is also present, but isn't in practice.

 

In practice, the syntax for `steamcmd login` specifies `login : <username> [<password>] [<Steam guard code>]` so this line worked for me in the command console: `/serverdata/steamcmd/steamcmd.sh +login MYSTEAMUSER MYPASSWD GUARDCODE +quit`

 

I found that I could make this work by using the Steam Android app authenticator, I could wait for the Steam Guard code to reset then in the template IMMEDIATELY AND QUICKLY specify my `PASSWRD` (Steam-Password) variable as `MYPASSWD GUARDCODE` to authenticate with Steam Guard still enabled. This is time sensitive because the Steam Guard code resets within 30 SECONDS. Within this 30 seconds, both the `---Update SteamCMD---` and `---Update Server---` steps need to authenticate (login) in time before the Steam Guard code changes.

 

Within `/opt/scripts/start-server.sh` the step `---Update SteamCMD---` doesn't require authentication and should be faster to run with `/serverdata/steamcmd/steamcmd.sh +login anonymous +quit` (At least in my testing), but the second step `---Update Server---` seems to require authentication and work with the command:

 

```/serverdata/steamcmd/steamcmd.sh +@sSteamCmdForcePlatformType windows \
+force_install_dir /serverdata/serverfiles \
+login MYSTEAMUSER MYPASSWD GUARDCODE +app_update 302550 \
+quit
```

 

With all that in mind, could the variable STEAM_GUARD_CODE be added to the template as a variable immediately after the actual password?

 

Here is an example of what I mean:

```${STEAMCMD_DIR}/steamcmd.sh \
+login ${USERNAME} ${PASSWRD} ${STEAM_GUARD_CODE}\
+quit
```

 

I could put together a PR reflecting this, if you would consider this for advanced users? I would DEFINITELY consider using Steam Guard or such a variable advanced.

 

I'm just trying to get this to work.

Edited by KptnKMan
Link to comment
20 hours ago, ich777 said:

Have you stopped the server before editing the file or did you let it run, edited the file and then simply restarted it?

If you did the last thing, please stop the server in the first place, edit the file and then start it again.

 

I hope you can see it in the screenshot, made a special server for you... :D

grafik.thumb.png.a9fdfc8d11d91639103739c1c9c192a4.png

Thank you for looking into it!

So, the server customization, such as the name and description (even though it's not prompting for a password or a welcome message, maybe because my client is already a known client with a key?), however the save file specified in the Docker settings isn't being honored for some reason. It keeps defaulting to "docker.sv6" instead of the filename I have listed.

Somehow, even after I overwrite the "docker.sv6" with my own file. I'm confused on how that's even possible, unless that save file is cached somewhere..?

 

Might also be something to note, when I do connect to the server running within Docker, I get a "unable to connect to server" red error right away, but it connects anyway.

Edited by joshbgosh10592
Link to comment
4 hours ago, KptnKMan said:

With all that in mind, could the variable STEAM_GUARD_CODE be added to the template as a variable immediately after the actual password?

The answer to this is simply no, you are overcomplicating this a bit too much and this is really nothing that should be done, I will explain it at the end.

 

4 hours ago, KptnKMan said:

I could put together a PR reflecting this, if you would consider this for advanced users? I would DEFINITELY consider using Steam Guard or such a variable advanced.

You don‘t have to create a new variable nor a PR, think simple…

 

4 hours ago, KptnKMan said:

+login MYSTEAMUSER MYPASSWD GUARDCODE

If this is the way to go then simply put your Steam Guard code in the password field at the end separated with a space, that‘s there is to it.

 

 

The reasen why this isn‘t present in the templates and in my Containers in general is that because you can lock out yourself from your Steam account for example on a server restart.

 

Take it that way, you reboot your server and have autostart from the container enabled.

After the server started the container will of course try to connect to Steam with the old SteamGuard code that you‘ve entered and it ultimately fails and will maybe loop because it can‘t pull the updated because -restart=unless-stopped is enabled too in the template and it will try over and over again and this means that Steam will lock your IP after 5 or 10 failed login attempts I think for an hour from logging in to your Steam account and this will upset many, many users and this is something I really don‘t want to integrate.


Basically the same is if you enter the Steam Guard code to slow in your template and/or the container starts to slowly it will be the same and if you don‘t have the log open because you are thinking all is good, well…

 

Best practice would be to create a dedicated Steam account for your dedicated Servers (that‘s also how Steam recommends it) with Steam Guard disabled and with the games in the library who needs the game in the library (that‘s only a hand full ArmA3, AssettoCorsa and a few others from my containers).

This is also a reson why I don‘t want to actively support steam Guard with my containers because there are only a few out there which need the game in the library.

maybe try to ask the Developers from AssettoCorsa why you need to have the game in the Library and if they can remove that requirement…

 

What I can recommend is that you go to mmoga.com and buy AssettoCorsa there for a dedicated Steam Account, it is only a few € there and I have never had an issue with this site.

  • Like 1
Link to comment
1 hour ago, joshbgosh10592 said:

So, the server customization, such as the name and description (even though it's not prompting for a password or a welcome message, maybe because my client is already a known client with a key?), however the save file specified in the Docker settings isn't being honored for some reason. It keeps defaulting to "docker.sv6" instead of the filename I have listed.

Somehow, even after I overwrite the "docker.sv6" with my own file. I'm confused on how that's even possible, unless that save file is cached somewhere..?

I think there is something else wrong in this case and the data isn‘t stored where it should be because when you overwrite the save file it has to use your save file.

 

I‘ve also seen a few servers out there which are definitely my container because I named them the same.

The server has a default password which is Docker and is by default always enabled, a Server discription and also a custom server name.

 

Can you look into your config.ini which values are set for these three entries?

Link to comment

Thanks, I appreciate you responding with an explanation and I appreciate your following advice but I have looked through the template trying to find a solution, and I have to say that your reasoning here contradicts just a couple things (This is just my opinion, I'm not the supporter of this template so it doesn't matter in that regard).

 

On 5/8/2022 at 6:16 AM, ich777 said:

you are overcomplicating this a bit too much

You say that this overcomplicates things, but I would argue that a separate variable is arguably more simple.

There are variables similar to this throughout your base template, that are unused, such as "GAME_PARAMS".
I'm just saying, it's a little inconsistent with your implementation that there are variables unused, that can be enabled by what I would call "advanced users", which I assume would be "at your own risk".

 

On 5/8/2022 at 6:16 AM, ich777 said:

You don‘t have to create a new variable nor a PR, think simple…

Again, just my opinion, but a separate variable is arguably a lot simpler and consistent.

 

On 5/8/2022 at 6:16 AM, ich777 said:

Best practice would be to create a dedicated Steam account for your dedicated Servers (that‘s also how Steam recommends it) with Steam Guard disabled

I couldn't agree more, I'm not arguing against best practice, this was just me trying to get the functionality to work.

 

On 5/8/2022 at 6:16 AM, ich777 said:

This is also a reson why I don‘t want to actively support steam Guard with my containers because there are only a few out there which need the game in the library.

That's fair enough, I completely understand you don't want to support something that could potentially lock someone's account. In my opinion, a disclaimer that "This is unsupported" would be clear that this is functional but most definitely "Unsupported and at your own risk. Don't ask me for help if you lock your account". It would also help to answer questions about Steam Guard that I have already seen people asking here without doing any research (I tried to do research before asking).

 

On 5/8/2022 at 6:16 AM, ich777 said:

maybe try to ask the Developers from AssettoCorsa why you need to have the game in the Library and if they can remove that requirement…

I couldn't agree more! 😁

 

On 5/8/2022 at 6:16 AM, ich777 said:

What I can recommend is that you go to mmoga.com and buy AssettoCorsa there for a dedicated Steam Account, it is only a few € there and I have never had an issue with this site.

Thanks, I'll check this out. Definitely good advice for an alternative. I've already been looking into setting up a second account for this purpose.

 

Lastly, once again this is all just my opinion, so I'm just trying to test and ask questions.

I appreciate you working hard on this template, and my request and offer for a PR is meant to be constructive not to indicate that there is something wrong with your template.

I don't think that functionality that is "unsupported" is a bad thing, as long as that is clearly stated, because it may give a better understanding to other people. Saying that, I understand why you want to stay clear of it because of the potential hassle. I just wish that it was there because I am someone who genuinely wants to use it.

 

Anyhow, thanks anyway. 👍

Edited by KptnKMan
  • Like 1
Link to comment
On 5/8/2022 at 12:21 AM, ich777 said:

I think there is something else wrong in this case and the data isn‘t stored where it should be because when you overwrite the save file it has to use your save file.

 

I‘ve also seen a few servers out there which are definitely my container because I named them the same.

The server has a default password which is Docker and is by default always enabled, a Server discription and also a custom server name.

 

Can you look into your config.ini which values are set for these three entries?

Assuming you mean /mnt/user/appdata/openrct2/user-data/config.ini, they are set to what I customized it to:

player_name = "Josh"
default_password = "CustomSecret"
server_name = "CustomName"
server_description = "Custom Description.
advertise = true
advertise_address = ""
master_server_url = ""

 

That's strange that since the password is on by default for your container, yet I am not prompted to enter it..

 

I also should note that currently I do not have ports forwarded so I manually entered my NAS's IP address in my OpenRCT2 client to connect locally. However I don't see my server being advertised within the master server. Maybe because the address property is null?

Edited by joshbgosh10592
Link to comment
2 hours ago, joshbgosh10592 said:

That's strange that since the password is on by default for your container, yet I am not prompted to enter it..

Can you try to remove the container, then remove the openrct2 folder that's located in your appdata directory and then try to pull a fresh copy from the CA App.

After that let it fully start, stop it, edit your config, start the container and try to connect.

 

2 hours ago, joshbgosh10592 said:

I also should note that currently I do not have ports forwarded so I manually entered my NAS's IP address in my OpenRCT2 client to connect locally.

This will make no difference in terms of the password.

 

2 hours ago, joshbgosh10592 said:

However I don't see my server being advertised within the master server.

Yes because you don't did the necessary port forwarding, it will only show up when the master server is actually able to connect back to your server and that's only possible if you did the port forwarding properly.

 

2 hours ago, joshbgosh10592 said:

Maybe because the address property is null?

!!!! Please leave this value at null otherwise it won't work properly !!!!

 

As said above I tried this on my server with a fresh pulled copy from the CA App, let it start, stopped it, changed the config (only edited the server name), did the port forwarding and started the container again.

Link to comment

Looking for some help on Valheim server. I had this running Valheim Plus on my unraid server about a year ago and wanted to get it started again. I ended up purging the install from my personal machine and my server to try starting from scratch cause something was broken. I got it installed on the server again but I cannot see the server in local servers on steam and can't figure out if it is failing somewhere or just not launching at all.

Ports are all forwarded and both the server and personal machine im trying to connect with have Valheim plus installed and are on the same network. Any help would be greatly appreciated.

I will attach the Log output:

---Ensuring UID: 99 matches user---
---Ensuring GID: 100 matches user---
---Setting umask to 000---
---Checking for optional scripts---
---No optional script found, continuing---
---Taking ownership of data...---
---Starting...---
---Update SteamCMD---
Redirecting stderr to '/serverdata/serverfiles/Steam/logs/stderr.txt'
[ 0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1648077083
-- type 'quit' to exit --
Loading Steam API...OK

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

Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Update state (0x3) reconfiguring, progress: 0.00 (0 / 0)
Update state (0x5) verifying install, progress: 19.01 (227121459 / 1194900573)
Update state (0x5) verifying install, progress: 61.67 (736842548 / 1194900573)
Update state (0x5) verifying install, progress: 98.92 (1182053481 / 1194900573)
Success! App '896660' fully installed.
---Prepare Server---
---ValheimPlus enabled!---
---ValheimPlus Version Check---
---ValheimPlus v0.9.9.8 up-to-date---
---Server ready---
---Starting Backup daemon---
---Start Server---
---with Valheim Plus---
---Update Check for Valheim enabled, running automatically every 60 minutes.---

Link to comment
30 minutes ago, Kvo1087 said:

Ports are all forwarded and both the server and personal machine im trying to connect with have Valheim plus installed and are on the same network. Any help would be greatly appreciated.

Have you changed anything in the template? Maybe please post a screenshot.

 

30 minutes ago, Kvo1087 said:

I got it installed on the server again but I cannot see the server in local servers on steam and can't figure out if it is failing somewhere or just not launching at all.

From what I see in your logs it started successful.

I think the dedicated server doesn't show up in your local available servers in your Steam Server Browser.

 

Try to add the server in the Steam Server Browser at the Favorites tab and click on Add Server and enter:

YOURUNRAIDIP:2457

 

Link to comment

Would it be possible to add Core Keeper dedicated server?
AppID 1963720

I've been playing with it a little and have almost got it starting. They do some unconventional stuff with their launch.sh script (launch.sh calls gnome-terminal with $PWD/_launch.sh - gnome-terminal isn't present for obvious reasons so that bombs out) I'll keep plugging at it and see if I can get it rolling on my own.

Thanks for the existing dockers!

Link to comment
10 hours ago, ich777 said:

Have you changed anything in the template? Maybe please post a screenshot.

 

From what I see in your logs it started successful.

I think the dedicated server doesn't show up in your local available servers in your Steam Server Browser.

 

Try to add the server in the Steam Server Browser at the Favorites tab and click on Add Server and enter:

YOURUNRAIDIP:2457

 

I tried adding the server to favorites and looking for games at this address but it says the server is not responding. this is my setup in the edit logs, is this the template you were referring to? 
In the past when I had a hard time finding the server for Valheim or Lost Ark I could see it under local servers. I am really at a loss about this one. 

 

image.png

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.