AMP can not start the Counter Strike Source Server instance with a different Datastore. The Datastore is mounted at /mnt/amp_data and the user amp has all the permissions. AMP is able to download at write all the gamefiles to /mnt/amp_data. I tried with and without GSLT. The issue does not occur on internal default Datastore.
cat /etc/debian_version
11.7
The instance Console is empty (aside from the download / update / verify progress of gameserver data). AMP log shows nothing special:
[14:00:17] [Logger Info] : Starting AMP version 2.4.6.6 (Decadeus), built 05/10/2023 11:56
[14:00:17] [Logger Info] : Stream: Mainline / Release - built by CUBECODERS/buildbot on CCL-DEV
[14:00:17] [Logger Info] : Running in a Docker environment.
[14:00:18] [Logger Info] : OS: Linux / x86_64
[14:00:18] [Logger Info] : CPU: Genuine Intel(R) CPU 0000 @ 1.70GHz (6C/12T)
[14:00:18] [Logger Info] : RAM: 9947MB
[14:00:18] [Logger Info] : AMP Instance ID: af7b24bc-eba8-4bd5-aeb5-666b3df2644d
[14:00:20] [Logger Info] : Loaded srcdsModule version 1.0.0.1 by CubeCoders Limited
[14:00:20] [Logger Info] : Metrics publishing is enabled at udp://localhost:12820.
[14:00:21] [Logger Info] : Loaded FileManagerPlugin by CubeCoders Limited
[14:00:21] [Logger Info] : Loaded EmailSenderPlugin by CubeCoders Limited
[14:00:21] [Logger Info] : Loaded WebRequestPlugin by CubeCoders Limited
[14:00:21] [Logger Info] : Loaded LocalFileBackupPlugin by CubeCoders Limited
[14:00:21] [Logger Info] : Loaded CommonCorePlugin by CubeCoders Limited
[14:00:21] [Logger Info] : srcdsModule requests dependency steamcmdplugin…
[14:00:21] [Logger Info] : Loaded steamcmdplugin by CubeCoders Limited
[14:00:22] [Logger Info] : srcdsModule requests dependency RCONPlugin…
[14:00:22] [Logger Info] : Loaded RCONPlugin by CubeCoders Limited
[14:00:23] [Logger Info] : Licence Present: AMP Professional Edition
[14:00:23] [Logger Notice] : Using keypair with fingerprint CxcsLmN9IXPlyxDyFKKchWUg0OHaIdH85Jrad3mwdm8=
[14:00:23] [Logger Info] : SFTP Server started on 0.0.0.0:2224
[14:00:23] [Webserver Info] : Websockets are enabled.
[14:00:24] [Logger Info] : Webserver started on http://xxxxxxxx:8081
[14:00:24] [Logger Info] : RouterTimer@10Hz with 2 jobs started
[14:00:24] [Core Info] : Checking for AMP updates…
[14:00:24] [Logger Info] : Startup mode is StartApplication.
[14:00:25] [Core Info] : AMP is up to date.
[14:00:31] [Logger Activity] : Authentication attempt for user xxxxxxxx from xxxxxxxx
[14:00:33] [Core Activity] : Authentication success
[14:00:45] [Logger:xxxxxxxx Activity] : Changing setting srcdsModule.SRCDSSettings.ServerIPBinding to xxxxxxxx
[14:00:59] [API:xxxxxxxx Activity] : Starting the application.
[14:01:08] [Logger Warning] : Server failed to start 1/5 times…
[14:01:17] [Logger Warning] : Server failed to start 2/5 times…
[14:01:27] [Logger Warning] : Server failed to start 3/5 times…
[14:01:37] [Logger Warning] : Server failed to start 4/5 times…
[14:01:47] [Logger Warning] : Server failed to start 5/5 times…
[14:01:58] [Logger Warning] : Server failed to start 6/5 times…
[14:01:58] [Logger Warning] : Server failed to start 5 times, not restarting.
Any help is appreciated.
Thanks.
Kinds Regards.
Reproduction Steps
Create data share on unRAID host system for new AMP Datastore
Mount data share in Debian 11 x64 AMP VM via fstab at /mnt/amp_data
Change permissions and owner of /mnt/amp_data to amp:amp and 755
Verified, that user amp is allowed to create directories and files
Add new Datastore and point it to /mnt/amp_data
Create new instance in AMP with CS:Source with new Datastore selected, start instance, do nothing
Try to manage instance, but error “Invalid Username or password”
Run “ampinstmgr --nocache upgradeall” as amp user
Instance can now be managed
Edit Source Server Settings via GUI
Change Server Name, Set Server Password, add GSLT (also tried without it), set Server IP Address, Click Download / Update
Verified, that files are being put in /mnt/amp_data, looks all good
Indeed, the problem was the filesystem. CS:S server starts fine now.
This seems to be an unRAID specific problem, since there is a difference between access a disk directly (btrfs in my case) and access a share (fuse.shfs):
root@xxxx:~# df -T /mnt/nvme_pool/amp_data/
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/mapper/nvme0n1p1 btrfs 500090200 377488328 121472232 76% /mnt/nvme_pool
root@xxxx:~# df -T /mnt/user/amp_data/
Filesystem Type 1K-blocks Used Available Use% Mounted on
shfs fuse.shfs 500090200 377488328 121472232 76% /mnt/user
Looks like srcds (or AMP) doesn’t like it’s files to be written to fuse.shfs, but btrfs is fine.
For anyone else having these issues in unRAID, all I did was changing the Unraid Source Path in VM settings from /mnt/user/amp_data/ to /mnt/nvme_pool/amp_data/. In this case, unRAID doesn’t manage, which files are being written to which disk, which is fine for me.
The mount point in the VM in fstab stays the same.
old:
On host:
root@xxxxxx:~# df -T /mnt/user/amp_data/srcds01/
Filesystem Type 1K-blocks Used Available Use% Mounted on
shfs fuse.shfs 500090200 377538632 121421752 76% /mnt/user