Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] ich777 - Gameserver Dockers

Featured Replies

  • Author
6 hours ago, joshbgosh10592 said:

 /mnt/array_cache/appdata/openrct2/user-data/config.ini

Is this share set to Use Cache Only or Prefer?

  • Replies 12.5k
  • Views 2.2m
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Just thought I'd share my experience setting up a Valheim server with this docker app from @ich777(thank you!)   You don't need to worry about Steam authentication for Valheim, the default a

  • Dockers Available:   SteamCMD DedicatedServers: CounterStrike: Source CounterStrike 2 TeamFortress 2 ArmA3 - requested by @MrSage Deathmatch Classic

  • This will hopefully shed some light on the underside working bits of building a cluster of servers for ARK:SurvivalEvolved.   With the inspiration (read thievery) from @growlith I present th

Posted Images

  • Author
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).

19 minutes ago, ich777 said:

Is this share set to Use Cache Only or Prefer?

the appdata share is set to prefer. I'm assuming it should be only? There's been plenty of room on that cache pool though, so it shouldn't have moved to an HDD.

  • Author
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.

  • Author
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

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

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

  • Author
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.

  • Author
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?

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

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

  • Author
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.

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.---

  • Author
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

 

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!

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

  • Author
19 minutes ago, Kvo1087 said:

this is my setup in the edit logs, is this the template you were referring to?

Yes, please read the description from the variables too, your server password is too short.

  • Author
42 minutes ago, Xaero said:

Would it be possible to add Core Keeper dedicated server?

Already at work.

Reading is apparently hard for me. Thank you so much! I am sorry for such a stupid mistake.

  • Author
12 minutes ago, Kvo1087 said:

Reading is apparently hard for me. Thank you so much! I am sorry for such a stupid mistake.

No worries, does it work now as expected?

  • Author

@tiphae & @MrInhumane & @Xaero CoreKeeper container is done and should be available in the next few hours in the CA App.

 

Please note that you don't have to forward any ports for this game because it uses the Steam Network and the GameID to establish the connection.

You can get your GameID in the logs from the container after it successfully started.

 

Have fun!

2 hours ago, ich777 said:

@tiphae & @MrInhumane & @Xaero CoreKeeper container is done and should be available in the next few hours in the CA App.

 

Please note that you don't have to forward any ports for this game because it uses the Steam Network and the GameID to establish the connection.

You can get your GameID in the logs from the container after it successfully started.

 

Have fun!

Thanks for this, all working here.

Is there a way to import a current game save?

I've been playing with some friends online and ideally would like to move our current save into the dedicate server if possible.

I’m currently having an issue with the Killing floor 1 server, it’s a little weird but I’ll summarize it as best I can.
 

As far as I can tell the docker runs perfectly fine without any issue, only problem is I can’t find the actual server files in the mounted directory. The steam CMD directory is populated as expected but no matter where I mount the server files directory no files ever show up in the folder.
 

I’ve tried mounting the server files to the following directories with no luck;

• /mnt/cache/appdata/killingfloor (default)

• /mnt/user/appdata/killingfloor

• /mnt/disks/Samsung_SSD/killingfloor (Unassigned Device)

All of which result in the folder being created but with no files present.

I’ve checked the directories via SMB, Krusader, and the Unraid GUI with no luck.

 

I’ve included the docker log from a completely default set up with the only changes being the addition of Steam account login info needed to download the server files.

 

Personally, I have never had an issue like this with any other docker, nor do I know anyone else who has. I’m kind of at a loss with this.

Log.txt

Edited by Steven O'Connell
small typo fix

On 5/10/2022 at 1:27 AM, ich777 said:

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.

 

This will make no difference in terms of the password.

 

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.

 

!!!! 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.

I removed the container and openrct2 folder and was able to get it to read an old .sv6 file I had previously, but I still get the "Unable to connect to server" error when I connect, but it lets me right in anyway without any other issues.

Also, because OpenRCT2 now has their own save format, Name.park, is there anything besides changing the filename within the Docker settings that needs done to get the server to use that file? I tried and it just reverted to my old save file (not the docker default). But if I try to revert the save to the docker default's "docker.sv6", it doesn't honor my change....

Thank you, I really appreciate the help so far!

4 hours ago, olipassey said:

Thanks for this, all working here.

Is there a way to import a current game save?

I've been playing with some friends online and ideally would like to move our current save into the dedicate server if possible.

Launch it as it is for now, Join your server and wait a bit for it to generate a Worlds folder in the /Save folder.

Now stop the container, find your own non dedicated server Worlds folder and copy it in the appdata/corekeeper/Save/worlds folder (overwrite the world with yours!) - Start the container and it should work. - Spent a bit figuring this out tonight and got my world in.

Windows: C:\Users\USERNAME\AppData\LocalLow\Pugstorm\Core Keeper\Steam\28378246\worlds

Edited by CypherColt

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...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.