How to Set Up txAdmin on a FiveM Server with Ubuntu 24.04
Step-by-step guide to install and configure txAdmin on a Linux VPS — FXServer, official artifacts, and access to the FiveM web panel from your browser.
txAdmin is the official management panel for FXServer — the runtime that powers FiveM and RedM servers. It wraps into a single web interface tasks that historically required SSH and manual file editing: live console, scheduled restarts, database backups, admin management, resource monitor, and a guided server template installer.
This tutorial is for anyone setting up their first FiveM server on a Linux VPS and wants to avoid the risky shortcuts (running as root, opening all ports, leaving the panel exposed without a password). The whole process takes between 20 and 30 minutes, depending on your VPS download speed for the artifacts.
The focus is Ubuntu 24.04 LTS because it is the current long-term support release with libraries compatible with recent FXServer builds. Older distributions (Ubuntu 20.04, Debian 11) still work but require adjustments in libssl and glibc that are not covered here.
Prerequisites
You need a Ubuntu 24.04 LTS VPS with at least 2 vCPU, 4 GB of RAM, and 60 GB of disk space. SSH access with a sudo-enabled user configured. A stable connection (FXServer downloads around 200 MB of artifacts). A FiveM license key, generated for free at keymaster.fivem.net.
Values you will reference throughout the procedure:
40120/tcp 30120/tcp+udp fivem /home/fivem/server Running FXServer as root is a classic attack vector. We will create a dedicated user without administrative privileges.
System Preparation
The first step is to bring the system up to date and install the runtime dependencies that FXServer requires — mainly libssl and xz-utils, the latter needed to decompress the artifacts tarball.
Update the package index and installed packages:
sudo apt update && sudo apt upgrade -yRestart if the kernel was updated (you will see a message indicating this). On a VPS without a graphical console, sudo reboot is safe.
Install the required dependencies:
sudo apt install -y curl wget xz-utils screen libssl-dev ca-certificates ufwscreen will be used to keep FXServer running after you disconnect from SSH. More robust alternatives exist (systemd, tmux), but for beginners screen has the gentlest learning curve.
Create the dedicated fivem user:
sudo adduser --disabled-password --gecos "" fivem
sudo usermod -aG sudo fivemThe --disabled-password flag prevents password-based login — you access the account only via sudo su - fivem from your main user. This is safer than leaving a weak password on the server user.
Downloading FXServer Artifacts
Artifacts are the official FXServer binaries maintained by Cfx.re. You should always use the recommended version or a recent latest build — older versions have known security bugs.
Switch to the fivem user and create the directory structure:
sudo su - fivem
mkdir -p ~/server ~/server-data
cd ~/serverThe server directory holds the FXServer binary. server-data holds your server configuration, resources (scripts), and cache. Keeping them separate makes updates easier — you can swap the binary without touching your data.
Find the recommended artifact URL at https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/ and download it. At the time of writing, a valid example:
wget https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/12913-d4e6759b1c8fa1bdee75e0f87b6e7e2e7b78cd5a/fx.tar.xzReplace this with the current URL marked as LATEST RECOMMENDED on the official site. Each build has a different hash, so do not copy this blindly.
Extract the artifacts:
tar xf fx.tar.xz
rm fx.tar.xzYou should see run.sh, FXServer, and the alpine/ folder in the current directory. If any are missing, the download was interrupted — rerun the wget command.
Firewall Configuration
Before starting the server, open only the required ports. Leaving everything open is an unnecessary risk.
Return to your main sudo user and configure UFW:
exit # exit the fivem user
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 30120/tcp
sudo ufw allow 30120/udp
sudo ufw allow 40120/tcp
sudo ufw enableThe ufw enable command can drop active connections if the SSH rule is not already in place. Confirm with sudo ufw status that port 22 shows as ALLOW before closing the terminal — otherwise you will lock yourself out.
Starting txAdmin
This is the key step: the FXServer run.sh script starts txAdmin automatically on first run, with no separate installation needed. The web panel appears on port 40120 and generates a unique PIN for the initial setup.
Switch back to the fivem user and open a screen session:
sudo su - fivem
screen -S fivem
cd ~/server
bash run.sh +set serverProfile defaultIn the first lines of output you will see something like:
[txAdmin] PIN code is: 1234
[txAdmin] Please open http://your-ip:40120/ on your browserNote that PIN — it is used only once to create the admin account.
Detach the screen without killing the process: press Ctrl+A then D. The server keeps running in the background. To return to the console, use screen -r fivem.
Open http://YOUR_VPS_IP:40120/ in your browser — replace with your VPS public IP. txAdmin will ask for the PIN that appeared in the console, then prompt for an email and password to create the master account.
In the next step, it asks for your keymaster.fivem.net license key (cfxk_xxxx). Paste it and continue.
On the Setup screen, set the paths:
- Server Data Folder:
/home/fivem/server-data - CFG File Path:
/home/fivem/server-data/server.cfg(created by the template)
Choose a template — “vMenu Recipe” and “ESX Legacy” are the most popular starting points. txAdmin downloads the resources automatically. This takes a few minutes.
Verification
The server is working correctly when three things happen simultaneously.
First, in the txAdmin panel, the “Live Console” tab shows active logs with no critical red errors. Yellow warning messages are normal.
Second, the server appears as online in the FiveM public server list at https://servers.fivem.net/ — search by the name configured in server.cfg. It can take up to 5 minutes to propagate.
Third, you can connect using the FiveM client with the direct IP: press F8 in-game and type connect YOUR_IP:30120.
# In SSH, confirm the ports are listening:
sudo ss -tulpn | grep -E '30120|40120'
The expected output shows LISTEN on both ports with FXServer or node as the owning process.
Troubleshooting
txAdmin does not respond in the browser
UFW is likely blocking the port or the service has crashed. Confirm with sudo ufw status that 40120/tcp is allowed. Reattach the screen with screen -r fivem and check whether the process exited with an error. If there is no active screen session, the server is not running — restart it with bash run.sh.
Error “Could not load citizen:/scripting/…”
This usually means the artifacts are corrupted or incomplete. Re-download from the official site — do not use third-party mirrors. Delete the ~/server directory before extracting again to avoid mixing old and new files.
Server does not appear in the public list
Verify that the license key in server.cfg is correct (the sv_licenseKey line). Each key works on one IP at a time — if you reused a key from another server, generate a new one on keymaster.
screen does not survive system restarts. In production, configure a systemd service that runs run.sh automatically. txAdmin has specific documentation at https://aka.cfx.re/txadmin-systemd with a ready-to-use .service file.
Next Steps
With txAdmin operational, the following areas are worth exploring:
- Set up a local MySQL/MariaDB instance to support frameworks like ESX and QBCore — without a database, those scripts do not persist player data.
- Add additional admins through the panel (“Players” tab → “Admin Manager”) with granular permissions.
- Configure automatic backups of
server-datato external storage. txAdmin has a built-in snapshot feature, but a local-only snapshot does not protect against disk failure. - Study
server.cfgline by line — understandingsv_maxClients,onesync, andsv_scriptHookAllowedprevents insecure configurations inherited from templates.
If you are putting the server into production with real players, a Hostini VPS comes with network-level DDoS protection and NVMe storage — relevant for FiveM because FXServer does heavy random writes to its resource cache.
Frequently asked questions
Do I need to pay for txAdmin?
No. txAdmin is distributed alongside FXServer and is free. What can be paid is the server priority tier on keymaster (OneSync above 32 slots), but the panel itself is open source.
Can I run txAdmin on Windows instead of Linux?
Yes, FXServer has an official Windows build and txAdmin works identically. Linux is preferred in production due to lower RAM usage (roughly 30% less under the same load) and better scheduler stability for long-running workloads.
What is the difference between the 'recommended' and 'latest' artifact?
'Recommended' is the build marked as stable by the Cfx.re team — it has gone through extended testing. 'Latest' includes newer features but may contain regressions. For a server with active players, always use recommended; for testing experimental mods, latest is acceptable.
How do I change the default txAdmin port?
Set the `TXADMIN_PORT` environment variable before starting run.sh, for example `TXADMIN_PORT=8080 bash run.sh`. Remember to update the UFW rule to allow the new port and block 40120.
Does txAdmin replace a native FiveM web panel?
FXServer has no built-in web panel — historically all management was done via RCON and file editing. txAdmin was adopted as the official solution in 2021 and now ships embedded inside FXServer itself, not as separate software.
How many player slots can a 4 GB VPS handle?
It depends heavily on the resources running. A vanilla server with vMenu handles 32–48 players comfortably on 4 GB. Heavy frameworks like ESX Legacy with 50+ custom scripts need 8 GB for the same 32 slots without hitting swap.