The sessionmanager is a core system resource in FiveM that ships with cfx-server-data. Many server owners encounter errors related to its client/empty.lua file and attempt to remove or rename the resource. This always causes problems.
What Is the Sessionmanager?
The sessionmanager is a Cfx.re system resource located at:
resources/[system]/sessionmanager/
It handles:
- Host lock management for non-OneSync servers
- Session initialization when players connect
- Scheduler callbacks for internal Cfx.re processes
- Remote callback routing between client and server
Why Does client/empty.lua Exist?
The file client/empty.lua exists as a hardcoded dependency in the sessionmanager's fxmanifest.lua. FiveM's resource system requires at least one client-side script to be declared for certain system resources to load properly. The empty.lua file satisfies this requirement without executing any code.
The fxmanifest.lua for sessionmanager declares:
client_script 'client/empty.lua'
This tells FiveM to load the resource on both client and server sides, ensuring the session management hooks are initialized correctly.
What Happens If You Remove or Rename It?
If you delete, rename, or modify the sessionmanager resource:
- Fatal server errors during startup
- Players cannot connect to the server
- "Sessionmanager" missing resource errors in the console
- Scheduler and remote callback failures
The sessionmanager is loaded before other resources. Many framework resources (QBCore, ESX) depend on the session system being active.
Common Mistakes
Trying to Reduce Resource Count
Some server owners see sessionmanager in their resource list and try to remove it to "optimize" their server. This breaks session handling entirely.
Solution: Leave all [system] resources untouched.
Renaming the Resource Folder
Renaming sessionmanager to something else breaks the hardcoded reference.
Solution: Keep the original folder name and path.
Overriding with Custom Scripts
Some developers try to replace client/empty.lua with custom code. This can interfere with internal Cfx.re processes.
Solution: Add your custom scripts in separate resources, not inside system resources.
How to Fix Sessionmanager Errors
- Re-download cfx-server-data from the official GitHub repository
- Place the [system] folder in your resources directory
- Ensure
ensure sessionmanageris in your server.cfg (or that it auto-starts) - Restart the server
cd resources
git clone https://github.com/citizenfx/cfx-server-data.git temp
cp -r temp/resources/[system]/sessionmanager ./[system]/
rm -rf temp
FAQ
What is the purpose of client/empty.lua in FiveM sessionmanager? It is a placeholder file required by fxmanifest.lua to ensure the resource loads on the client side. It contains no functional code.
Can I remove sessionmanager from my FiveM server? No. It is a core system resource. Removing it breaks player connections and session handling.
Does sessionmanager affect server performance? No. It is a lightweight system resource with minimal CPU and memory usage.
I see "sessionmanager" errors in my console. What do I do? Re-download the sessionmanager from cfx-server-data on GitHub and restore it to resources/[system]/sessionmanager/.
Related: fxmanifest.lua guide, FiveM crash troubleshooting, FiveM server requirements