engine/Sandbox.Filesystem/LocalFileSystem.cs:14- Removed.ToLowerInvariant()that was incorrectly lowercasing paths- This was the main issue causing
/home/davidg/documentsinstead of/home/davidg/Documents
engine/Sandbox.Engine/Sandbox.Engine.csproj- Removed unconditional WIN constant that was applied to all platforms- This prevented Windows-only code (like ScreenRecorder) from running on Linux
engine/Sandbox.Engine/Systems/Filesystem/EngineFileSystem.cs- Fixed/addons/base/assets→/addons/base/Assetsengine/Sandbox.GameInstance/GameInstanceDll.cs- Fixed/base/assets→/base/Assets,/citizen/assets→/citizen/Assetsengine/Sandbox.Menu/MenuDll.cs- Fixed/menu/code→/menu/Code,/menu/assets→/menu/Assets, etc.engine/Sandbox.Tools/FileSystem.cs- Fixed/addons/base/assets→/addons/base/Assets
engine/Sandbox.Engine/Interop.Engine.cs- Added early return forReloadSymlinkedResidentResources()on Linux- The native C++ code has a bug that crashes when handling symlinks
Create relative symlinks in game/ pointing to game/bin/linuxsteamrt64/:
cd game
ln -sf bin/linuxsteamrt64/*.so .
ln -sf bin/linuxsteamrt64/steamclient.so .
ln -sf bin/linuxsteamrt64/libSkiaSharp.so.116.0.0 libSkiaSharp.so
ln -sf bin/linuxsteamrt64/libHarfBuzzSharp.so.0.60830.0 libHarfBuzzSharp.so
ln -sf libsteam_api.so steam_api64.soLD_LIBRARY_PATH="$PWD/game/bin/linuxsteamrt64" ./game/sbox-serverFor full server functionality, the game requires backend API access (API key, etc.).