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

Having an issue installing Project Zomboid

Unable to find image 'ghcr.io/ich777/steamcmd:projectzomboid' locally
docker: Error response from daemon: Head "https://ghcr.io/v2/ich777/steamcmd/manifests/projectzomboid": denied: denied.
See 'docker run --help'


Has the image been locked or removed?

Thanks

EDIT: It was user error. I had a personal token for GH which was blocking installs via docker. Removing it from ./docker/config.json fixed it

Edited by korefuji

  • 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

Hey ich777,

I super appreciate all the containers you have created.

Given that you won't be making any new ones as the list is too large etc, which is totally understandable.

What is the best way to go about using your generic steamCMD image to start running other games.

I tried requesting to join the steam group a month or so ago, still waiting for approval to join.

Thanks

shamadeaus

  • Author
5 hours ago, shamadeaus said:

What is the best way to go about using your generic steamCMD image to start running other games.

Not sure if that's so easy since every game or better speaking each container has it's own little modifications so that the games will properly run, so to speak you most certainly will need to create containers yourself since it is very unlikely you get dedicated servers running with the generic container.

  • 2 weeks later...

Has anyone had any luck getting the new DLC Map to work for SoulMask? It says to change the parameter for the map in the server start parameters, but I cant seem to figure out the syntax, the container loads the Main map regardless of what I put.

According to the docs, you would add the map name at the start of the startup command. "DLC_Level01_Main" for the DLC map, and "Level01_Main" for the original map.

IE: ./WSServer.sh LEVELNAME -server -log -forcepassthrough -UTF8Output -SteamServerName='SERVERNAME' -MaxPlayers=10 -PSW='PASSWORD' -adminpsw='ADMINPASSWORD' -MULTIHOME=0.0.0.0 -Port=8777 -QueryPort=27015 -EchoPort=18888

I've tried just adding the DLC_Level01_Main to the beginning of the Start Parameters field in Unraid, but looking at the logs it still loads the Level01_Main map instead.

I've also tried shutting down the container, manually editing the ServerStart.sh in the app data folder to contain the DLC_Level01_Main at the start of it's run command as well, but I'm not exactly sure how that file is created/integrated with the launch, as it doesnt seem to be having an effect. The logs still show Level01_Main being loaded instead of DLC_Level01_Main.

Just wondering if anyone else has run into this yet, being as the DLC just dropped last night.

I'm happy to help troubleshoot this but not sure where to go from here.

Thanks,

EDIT: I figured it out. Looking at the docker tag in Docker Hub I noticed there is a preset environment variable for MAP as Level01_Main. I was able to add a variable to the unraid template called MAP and set it as DLC_Level01_Main and it looks like it loaded the proper map this time!

Edited by simon021

Having some issues with this docker running an Icarus dedicated server. I had a server running on my VM using WindowsGSM, and wanted to transfer it over to this docker to see if I get better performance.

Running the server off the docker and the server name is not updating. I have it as "pandora" in the ServerSettings file, but it is still the default "ICARUS DOCKER" when I try to connect.

Also, I can not get it to load any of my prospects. I have copied over prospect files from my server on my VM, and from my local machine but they will not show up in the load list on the server. I can create a new prospect on the server, and that will show up in the load screen if I go back to the lobby, but none of my copied over game files will load. I tried creating a new propsect, and then replacing the new prospect gamefile with a copied one and that did not work either. Any help would be appreciated.

Edit: I figured out the server name issue, it the server launch command overrode the serversettings for name. Still can't figure out why I can't open any of my copied over prospects/games. They work between my client machine running them and my server running on the VM just by copying them over from the save/DedicatedServer/Prospects folders, but I can't get any of them to show up on the load screen for the docker server. I can create a new prospect and that shows up fine. But I can't get any prospect moved over from other locations to show up.

Edited by JetPoweredSarcasm

On 4/11/2026 at 2:16 AM, simon021 said:

Has anyone had any luck getting the new DLC Map to work for SoulMask? It says to change the parameter for the map in the server start parameters, but I cant seem to figure out the syntax, the container loads the Main map regardless of what I put.

According to the docs, you would add the map name at the start of the startup command. "DLC_Level01_Main" for the DLC map, and "Level01_Main" for the original map.

IE: ./WSServer.sh LEVELNAME -server -log -forcepassthrough -UTF8Output -SteamServerName='SERVERNAME' -MaxPlayers=10 -PSW='PASSWORD' -adminpsw='ADMINPASSWORD' -MULTIHOME=0.0.0.0 -Port=8777 -QueryPort=27015 -EchoPort=18888

I've tried just adding the DLC_Level01_Main to the beginning of the Start Parameters field in Unraid, but looking at the logs it still loads the Level01_Main map instead.

I've also tried shutting down the container, manually editing the ServerStart.sh in the app data folder to contain the DLC_Level01_Main at the start of it's run command as well, but I'm not exactly sure how that file is created/integrated with the launch, as it doesnt seem to be having an effect. The logs still show Level01_Main being loaded instead of DLC_Level01_Main.

Just wondering if anyone else has run into this yet, being as the DLC just dropped last night.

I'm happy to help troubleshoot this but not sure where to go from here.

Thanks,

EDIT: I figured it out. Looking at the docker tag in Docker Hub I noticed there is a preset environment variable for MAP as Level01_Main. I was able to add a variable to the unraid template called MAP and set it as DLC_Level01_Main and it looks like it loaded the proper map this time!

I had the same problem - thanks for outlining your solution! Worked for me as well without modifying any files on first startup.

Hi!

I'm having an issue with the unrealtournament99 image, it seems the download links from the website it uses have changed.

  • Author
13 hours ago, Boulbizor said:

I'm having an issue with the unrealtournament99 image, it seems the download links from the website it uses have changed.

I'll look into that, give me a few days.

Soulmask: Game updated today but docker not pulling updated dedicated server files. Is this a docker issue or has the dedicated server not updated by devs yet on steam? Just a waiting game?

On 4/12/2026 at 3:53 AM, paced said:

I had the same problem - thanks for outlining your solution! Worked for me as well without modifying any files on first startup.

I dont suppose you figured out how to get the server to update properly after todays update? I've tried deleteing the steamcmd folder contents and letting it redownload, but i still get a version mismatch when trying to connect. Kinda of stumped on this one...

  • Author
2 hours ago, HeavyG123 said:

Soulmask: Game updated today but docker not pulling updated dedicated server files. Is this a docker issue or has the dedicated server not updated by devs yet on steam? Just a waiting game?

  1. Please stop the container

  2. Delete the steamapps folder in your game directory

  3. Start the container again

  • Author
18 minutes ago, simon021 said:

I dont suppose you figured out how to get the server to update properly after todays update? I've tried deleteing the steamcmd folder contents and letting it redownload, but i still get a version mismatch when trying to connect. Kinda of stumped on this one...

Most of the time this is a CDN/SteamCMD issue that not all CDN's are updated yet, please wait a few more hours and try later.

1 hour ago, ich777 said:
  1. Please stop the container

  2. Delete the steamapps folder in your game directory

  3. Start the container again

AMAZING! Thank you for such a speedy response. This worked!🙌

Any idea how to get Windrose up and running? )

Update: Never mind, not available for linux yet (

Edited by Source011

32 minutes ago, Source011 said:

Any idea how to get Windrose up and running? )

Update: Never mind, not available for linux yet (

Just a heads-up, I'm playing it via Proton on steam RN, I used the "Enshrouded-Proton" template to create a server and so far it looks as if its working,
I have tried to connect to the server, but I require a code and cannot join via IP as far as I can see, not sure where to find this code as of yet, I'm still looking.

Also, a docker container has been made for it already see https://github.com/indifferentbroccoli/windrose-server-docker

Hope this helps and someone is able to create a more permanent solution.

2 hours ago, Frag-O-Byte said:

Just a heads-up, I'm playing it via Proton on steam RN, I used the "Enshrouded-Proton" template to create a server and so far it looks as if its working,
I have tried to connect to the server, but I require a code and cannot join via IP as far as I can see, not sure where to find this code as of yet, I'm still looking.

Also, a docker container has been made for it already see https://github.com/indifferentbroccoli/windrose-server-docker

Hope this helps and someone is able to create a more permanent solution.

I found the same image and got it up and running ;D You need to add the code yourself as an env var

INVITE_CODE

yourOwnCode

Invite code players use to connect. Min 6 characters, 0-9 a-z A-Z, case sensitive

Edited by Source011

3 minutes ago, Source011 said:

I found the same image and got it up and running ;D You need to add the code yourself as an env var

Hi, I wasn't able to get it running via proton direct from steam, but I pulled the template from docker, but I still don't have it working, any chance you can explain it to me like I'm five lol, a screenshot of your template would suffice if you don't mind sharing?

Edit -

I have set up the var's in the correct way now, (I didn't put them under "KEY"), now it's working to a paint where its downloaded the server files, but when starting the ServerDescription.json file is unable to be created, this then causes the server to shut down after 120 seconds, I'm assuming it's a permissions issue..

Update-

Can confirm the template works, and I managed to get a friend to join and have a play for an hour as a tester, no issues were highlighted.

Edited by Frag-O-Byte
Update

Can you update TShock to 6.1?

11 hours ago, Frag-O-Byte said:

Hi, I wasn't able to get it running via proton direct from steam, but I pulled the template from docker, but I still don't have it working, any chance you can explain it to me like I'm five lol, a screenshot of your template would suffice if you don't mind sharing?

Edit -

I have set up the var's in the correct way now, (I didn't put them under "KEY"), now it's working to a paint where its downloaded the server files, but when starting the ServerDescription.json file is unable to be created, this then causes the server to shut down after 120 seconds, I'm assuming it's a permissions issue..

Update-

Can confirm the template works, and I managed to get a friend to join and have a play for an hour as a tester, no issues were highlighted.

Yes you also need to set the the env vars PUID and PGID. Here is the variables I use

SERVER_NAME

SERVER_PASSWORD

INVITE_CODE

MAX_PLAYERS

P2P_PROXY_ADDRESS=127.0.0.1

GENERATE_SETTINGS=true (keep this even after the generation is done)

UPDATE_ON_START=true

PUID=99

PGID=100

Port=7777

The only thing that bothers me is the high CPU usage even when the server is idling 🥴

  • Author
10 hours ago, SemiNormal said:

Can you update TShock to 6.1?

No, I can't since the container is self maintaining and it should pull the updates automatically.

What does your log say?

Is maybe a static version set in the template?

5 hours ago, ich777 said:

No, I can't since the container is self maintaining and it should pull the updates automatically.

What does your log say?

Is maybe a static version set in the template?

It is throwing an error because it doesn't have .NET 9

---Starting...---

---Version Check of TShock Mod---

---TShock Mod Version up-to-date---

---Prepare Server---

---Server ready---

---Checking for old logs---

---Start Server---

.NET location: /usr/share/dotnet

The following frameworks were found:

6.0.36 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]

Learn about framework resolution:

https://aka.ms/dotnet/app-launch-failed

To install missing framework, download:

https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=9.0.0&arch=x64&rid=debian.12-x64

  • Author
7 minutes ago, SemiNormal said:

It is throwing an error because it doesn't have .NET 9

Okay, this is something I can fix. :)

I have no issues with Abiotic Factor since I played it in October 2025. I loaded it today and

1) can no longer see the server in the server browser list by friends

2) I can see it but cannot connect to it

3) it no longer shows in steam server browser either

I think the latest update possibly did something?

Things I have tried:

Deleted SteamApps folder.
Deleted the entire folder after backing up.
Installed a new fresh copy and still get the same output except a new world is generated.


Here is the output of the log file after starting it seems shorter than normal

LogIoDispatcher: Display: Reading toc: ../../../AbioticFactor/Content/Paks/global.utoc

LogIoDispatcher: Display: Toc signature hash: 0000000000000000000000000000000000000000

LogIoDispatcher: Display: Mounting container '../../../AbioticFactor/Content/Paks/global.utoc' in location slot 0

LogPakFile: Display: Initialized I/O dispatcher file backend. Mounted the global container: ../../../AbioticFactor/Content/Paks/global.utoc

LogPakFile: Display: Found Pak file ../../../AbioticFactor/Content/Paks/pakchunk0-WindowsServer.pak attempting to mount.

LogPakFile: Display: Mounting pak file ../../../AbioticFactor/Content/Paks/pakchunk0-WindowsServer.pak.

LogIoDispatcher: Display: Reading toc: ../../../AbioticFactor/Content/Paks/pakchunk0-WindowsServer.utoc

LogIoDispatcher: Display: Toc signature hash: 0000000000000000000000000000000000000000

LogIoDispatcher: Display: Mounting container '../../../AbioticFactor/Content/Paks/pakchunk0-WindowsServer.utoc' in location slot 0

LogPakFile: Display: Mounted IoStore container "../../../AbioticFactor/Content/Paks/pakchunk0-WindowsServer.utoc"

LogPakFile: Display: Mounted Pak file '../../../AbioticFactor/Content/Paks/pakchunk0-WindowsServer.pak', mount point: '../../../'

LogSteamShared: Display: Loading Steam SDK 1.57

LogOnline: Warning: OSS: [FOnlineUserEOSPlus::Initialize] BaseUserInterface delegates not bound. Base interface not valid

LogOnline: Warning: OSS: [FOnlineStoreEOSPlus::Initialize] BaseStoreInterface delegates not bound. Base interface not valid

LogOnline: Warning: OSS: [FOnlineStoreEOSPlus::Initialize] BasePurchaseInterface delegates not bound. Base interface not valid

LogOnline: Warning: OSS: [FOnlineExternalUIEOSPlus::Initialize] BaseExternalUIInterface delegates not bound. Base interface not valid

LogOnline: Warning: OSS: [FOnlineVoiceEOSPlus::Initialize] BaseVoiceInterface delegates not bound. Base interface not valid

LogOnline: Warning: OSS: [FOnlineUserCloudEOSPlus::Initialize] BaseUserCloudInterface delegates not bound. Base interface not valid

LogHAL: Display: Platform has ~ 63 GB [66806472704 / 68719476736 / 63], which maps to Largest [LargestMinGB=32, LargerMinGB=12, DefaultMinGB=8, SmallerMinGB=6, SmallestMinGB=0)

LogTextureEncodingSettings: Display: Texture Encode Speed: Final (cook).

LogTextureEncodingSettings: Display: Oodle Texture Encode Speed settings: Fast: RDO Off Lambda=0, Effort=Normal Final: RDO Off Lambda=0, Effort=Normal

LogTextureEncodingSettings: Display: Shared linear texture encoding: Disabled

LogAudioCaptureCore: Display: No Audio Capture implementations found. Audio input will be silent.

LogAudioCaptureCore: Display: No Audio Capture implementations found. Audio input will be silent.

LogGameAnalyticsAnalytics: Display: FAnalyticsGameAnalytics Constructor

LogAudio: Display: Registering Engine Module Parameter Interfaces...

LogAssetManager: Display: Ignoring PrimaryAssetType PlayerCharacterVoice - Conflicts with PlayerCharacterVoiceDataAsset - Asset: PlayerCharacterVoice_FemaleA

LogAbiotic: Display: Game version is 1.2.0.23023

LogAbioticRemoteConsole: Warning: Remote console through HTTPS is explicitly disabled.

LogAbiotic: Display: WorldSaveName set from param: HamHouse

LogInit: Display: Game Engine Initialized.

LogInit: Display: Starting Game.

LogGameMode: Display: Match State Changed from EnteringMap to WaitingToStart

LogAbiotic: Display: Steam Sockets Initialized!

LogAbiotic: Display: Dedicated Server entered ServerEntry, checking world save for corruption

LogAbiotic: Display: World save: HamHouse

LogAbiotic: Display: World save Integrity State: Playable

LogAbiotic: Display: Dedicated Server is now loading the main map

LogInit: Display: Engine is initialized. Leaving FEngineLoop::Init()

LogGameMode: Display: Match State Changed from WaitingToStart to LeavingMap

PacketHandlerLog: Warning: PacketHandler encryption component is configured as DTLSHandlerComponent, but it won't be used because the cvar net.AllowEncryption is false.

LogAbiotic: Warning: Session short code: WA35S

LogGameMode: Display: Match State Changed from EnteringMap to WaitingToStart

AdvancedSessionsLog: Warning: GetLocalPlayerNameFromController Bad Player Controller!

LogOnlineSession: Warning: EOS: FOnlineSessionSettings::bUsesPresence is set to false, bAllowJoinViaPresence and bAllowJoinViaPresenceFriendsOnly will be automatically set to false as well

LogStreaming: Error: CreateExport: /Game/Blueprints/DeployedObjects/Furniture/Deployed_CraftedChargingStation (0x87894D47E1FC2906) /Game/Blueprints/DeployedObjects/Furniture/Deployed_CraftedChargingStation (0x87894D47E1FC2906) - Could not find template object for NiagaraDataInterfaceSkeletalMesh_1

LogStreaming: Error: CreateExport: /Game/Blueprints/DeployedObjects/Furniture/Deployed_CraftedChargingStation (0x87894D47E1FC2906) /Game/Blueprints/DeployedObjects/Furniture/Deployed_CraftedChargingStation (0x87894D47E1FC2906) - Could not find template object for NiagaraDataInterfaceStaticMesh_1

LogOnline: Warning: OSS: [FOnlineVoiceEOSPlus::GetNumLocalTalkers] Unable to call method in base interface. Base interface not valid

LogOnline: Warning: OSS: [FOnlineVoiceEOSPlus::ClearVoicePackets] Unable to call method in base interface. Base interface not valid

LogEOSSDK: Warning: LogEOSSessions: Invites Allowed was enabled on a session which is not the presence session. Only the presence session will advertise that invites are allowed.

LogEOSSDK: Warning: LogEOSSessions: Invites Allowed was enabled on a session which is not the presence session. Only the presence session will advertise that invites are allowed.

LogEOSSDK: Warning: LogEOSRTC: TickTracker Tick is delayed. TimePeriod=[10.006323s] TickIntervalThreshold=[0.100000s] MaxTickInterval=[0.106456s] MaxExecutionTime=[0.000017s] TicksCount=[6140] ExpectedTicksCount=[1000]

LogOnline: Warning: OSS: Async task 'FOnlineAsyncTaskSteamCreateServer bWasSuccessful: 0' failed in 15.001502 seconds

Edited by korefuji

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.