Admin Menu File Permissions
The Admin Menu writes your configuration straight back to disk. On Linux that write can fail even though the panel looks like it worked — the config files stay untouched and your changes are gone after the next restart. Almost always the cause is ownership: the files belong to a different user than the one the FXServer process runs as.This is rarely an issue on Windows, because the server usually runs under the same account that uploaded the files. On Linux those are two different users more often than not.
Which Files Need To Be Writable
The panel saves through FiveM’sSaveResourceFile, relative to the RoadPhone-Pro resource folder:
The server process needs write permission on those files and on the directories containing them.
Diagnosing
1
Read the error
A failed save reports the reason in the panel and in the server console:If you see this, continue below. If saving reports success but the values are back after a restart, you simply forgot to
restart roadphone — see Admin Menu → Troubleshooting.2
Find out which user runs FXServer
3
Locate the resource folder
4
Confirm it really is a permission problem
Test as the server user instead of guessing — replace
fivem and the path with your own values:NOT_WRITABLE confirms it. WRITABLE means the permissions are fine and you should jump to Permissions Look Correct.The Fix: Ownership
Give the resource folder to the user the server runs as. Substitutefivem and the path:
root, while the server runs as fivem. 644 root:root leaves fivem with read-only access — exactly enough to start the resource, not enough to save from the panel.
Group write instead of ownership
If you would rather not transfer ownership, group write works too:Docker and txAdmin Containers
Inside a container the permissions are often correct and the mount is read-only anyway. Check what the volume actually allows:RW: falseon the resources mount, or a:rosuffix on the resources volume in yourdocker-compose.yml, means nochmodwill ever help — the:rohas to go.- The numeric UID has to match, not the user name. Compare
docker exec <container> idagainstls -non the host.
Permissions Look Correct
If the write test passes and saving still fails:SELinux (RHEL, AlmaLinux, Rocky)
SELinux (RHEL, AlmaLinux, Rocky)
SELinux can deny the write regardless of the file mode.If saving works with SELinux permissive, set a proper file context for the folder rather than disabling SELinux permanently.
Immutable flag
Immutable flag
i in the output means the file is immutable. Clear it with sudo chattr -i "$RES/config.lua".Escrowed resource
Escrowed resource
An encrypted release build cannot be written to by
SaveResourceFile at all. This fails on Windows the same way, so it only explains the problem if your Windows test server runs an unprotected build.Read-only or full filesystem
Read-only or full filesystem
ro mount option or a full disk both produce the same silent failure.