Overview

Piximy Panel lets you run your FiveM server from a browser or phone, and works on QB-Core, Qbox and Meteo. The pack has two parts that work together:

PartWhere it goesWhat it does
piximy-connectYour game server's resources folderSends live players, logs and damage to the panel, and carries out the panel's actions in game
piximy-panelYour VPS, next to the game serverThe website you log in to

Requirements

  • A Linux VPS running your FiveM server (Ubuntu 22.04 or 24.04 recommended)
  • Node.js 18 or newer (node -v)
  • oxmysql on the game server
  • QB-Core, Qbox or Meteo with ox_inventory, qb-inventory, ps-inventory, lj-inventory or Meteo's inventory
  • Your game database login
  • Optional: a domain name for HTTPS

Install piximy-connect

  1. Download your purchase from the Cfx.re Portal under your purchased assets. Your server must use a license key from the same Cfx.re account you bought with.
  2. Put the piximy-connect folder in your resources folder. Upload every file, including the hidden .fxap file.
  3. Open piximy-connect/config.lua. The defaults work for most servers. Change Config.CoreResource or Config.InventoryResource only if you renamed them.
  4. Leave server.cfg for now. The panel setup prints the two lines to add.

On start the server console shows a line like [Piximy Connect] framework: qbox (core: qbx_core) | inventory: ox_inventory (ox). It creates its own database tables, so there is no SQL to run.

Install the panel

  1. Unzip piximy-panel.zip from your download and upload the folder to your VPS, for example /home/fivem/piximy-panel.
  2. Install its packages and run setup:
cd /home/fivem/piximy-panel
npm install
node setup.js

Setup asks for your server name, time zone, server folder, database login and an owner login. It tests the database and detects QB, Qbox or Meteo.

  1. Add the two lines setup prints to server.cfg, after oxmysql and your core:
set piximy_secret "the-secret-setup-printed"
ensure piximy-connect
  1. Restart the game server, then run npm start in the panel folder.
  2. Open http://YOUR-VPS-IP:40150/control-panel/ and log in as the owner.

Keep it running

sudo tee /etc/systemd/system/piximy-panel.service >/dev/null <<EOF
[Unit]
Description=Piximy Panel
After=network.target mariadb.service

[Service]
WorkingDirectory=/home/fivem/piximy-panel
ExecStart=/usr/bin/node server.js
Restart=always
User=fivem

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable --now piximy-panel

Change the folder and User= to match your VPS. Check it with systemctl status piximy-panel.

Domain and HTTPS

Log in at https://panel.yourserver.com/control-panel/ with nginx and a free Let's Encrypt certificate.

  1. At your domain provider, add an A record: name panel, value = your VPS IP.
  2. Install nginx and certbot: sudo apt install -y nginx certbot python3-certbot-nginx
  3. Create /etc/nginx/sites-available/piximy-panel:
server {
    listen 80;
    server_name panel.yourserver.com;
    location /control-panel/ { proxy_pass http://127.0.0.1:40150; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; client_max_body_size 300m; }
    location /api/           { proxy_pass http://127.0.0.1:40150; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; client_max_body_size 300m; }
    location /socket.io/     { proxy_pass http://127.0.0.1:40150; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }
    location = /             { return 302 /control-panel/; }
}
  1. Turn it on and get HTTPS:
sudo ln -s /etc/nginx/sites-available/piximy-panel /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo certbot --nginx -d panel.yourserver.com
  1. Add PX_LISTEN_HOST=127.0.0.1 to the panel's .env and restart it, so the panel is only reachable through your domain.

Using Cloudflare? Set the record to DNS only while certbot runs, then turn the proxy back on with SSL mode Full (strict).

Game host servers

Game hosts like Zap-Hosting run FiveM only, not Node.js. Rent a small Linux VPS for the panel and connect it to your game database:

  • Ask your host to allow remote database access, and use those details in node setup.js.
  • In piximy-connect/config.lua, set Config.PanelUrl = 'https://panel.yourserver.com'.
  • Setup needs a server folder: point it at an empty folder with a resources folder inside.

On a separate machine the panel can't reach your server files, so Config Editor, Script Settings, Maps & MLOs, the jobs file editor and the Meteo settings pages won't work. Everything else does.

Sections

The panel only shows sections your server can use, and prints which are off when it starts.

SectionNeeds
Dashboard, live players and map, profiles, inventories, logs, damage logs, bans, announcements, restarts, console, jobs, commandsAny server
Live stash and trunk editing, inventory logsox-based inventory
Database browser, config editor, backups, staff accounts, Section AccessAny server · owner only
Weatherweathersync
Economy, Payouts, Money flow, Heist police, Crime Tablet, Leaderboards, City Hall, Mechanic, Motels, Houses, Loading screenMeteo
Piximy add-onsThat add-on installed

Force a section on or off in .env, then restart the panel:

PX_MODULES_ON=weather
PX_MODULES_OFF=leaderboards,motels

Panel settings (.env)

Setup writes .env for you. Never share .env or staff.json: they hold your passwords.

SettingDefaultWhat it does
PX_SERVER_NAMEMy Roleplay ServerName shown across the panel
PX_WEBSITE_URLemptyYour website, used for links
PX_TIMEZONEUTCTime zone for times and daily stats
PX_FRAMEWORKautoauto, qb, qbox or meteo
PORT / PX_LISTEN_HOST40150 / 0.0.0.0Panel port; use 127.0.0.1 behind nginx
DB_HOST DB_PORT DB_NAME DB_USER DB_PASSWORD—Your game database
PIXIMY_INTERNAL_SECRETmade by setupMust match piximy_secret in server.cfg
PX_SERVER_DATA/home/fivem/server-dataFolder with resources and server.cfg
PX_CORE_RESOURCEqbx_coreYour core's name, e.g. qb-core
PX_METEO_PREFIXmeteo-Meteo only: change if you renamed Meteo resources
PX_RESET_SPAWNCity HallWhere Reset spawn sends a character: x,y,z,heading
PX_MODULES_ON / PX_MODULES_OFFemptyForce sections on or off

Game settings (config.lua)

SettingDefaultWhat it does
Config.PanelUrlhttp://127.0.0.1:40150Panel address as seen from the game server
Config.Frameworkautoauto, qb, qbox or meteo
Config.CoreResourcenilOnly if you renamed your core
Config.InventoryResourcenilOnly if you renamed your inventory
Config.ReviveEventhospital:client:ReviveEvent the Revive button triggers
Config.DamageLogs / DamageLogDaystrue / 30Damage logs on or off, days kept
Config.PlayerSyncSeconds10How often the live player list updates
Config.PlayerIdKeyfalseKey to show nearby player IDs, e.g. 'U'

The secret is not in config.lua. It goes in server.cfg as set piximy_secret "…".

For developers

Write a line to the panel's Logs page from your own scripts (server side):

exports['piximy-connect']:Log('player', 'bought_house', source, { house = 'Vinewood 12', price = 250000 })

Add your own panel action:

exports['piximy-connect']:RegisterCommandHandler('give_vip', function(data, cmd)
    local id = tonumber(data.id)
    if not id or not GetPlayerName(id) then return false, 'Player is not online' end
    -- your code
    return true
end)

Tables created by piximy-connect: piximy_logs, piximy_ops_commands, piximy_damage_logs, piximy_connect_info.

Updating

  1. Back up your database (Owner Control → Backups, or mysqldump).
  2. Replace the panel files but keep .env, staff.json, data/ and storage/.
  3. Run npm install, then restart the panel.
  4. Replace piximy-connect but keep your config.lua, then restart the game server.

Troubleshooting

ProblemFix
Panel says "not set up yet"Run node setup.js in the panel folder
Module errors when startingRun npm install; check node -v is 18 or newer
Can't open the panelOpen port 40150 in your firewall, or set up the domain
Player list and map stay emptypiximy_secret must match PIXIMY_INTERNAL_SECRET; check Config.PanelUrl
"panel sync failed (HTTP 401)"The secrets don't match; copy it again and restart both
"Is piximy-connect running?"Look for [Piximy Connect] framework: in the console; ensure piximy-connect must come after oxmysql and your core
"no QB-Core, Qbox or Meteo core found"Set Config.CoreResource to your core's folder name
"You lack the required entitlement"Your license key must come from the Cfx.re account that bought the pack
A section is missingCheck the panel's start line; force it with PX_MODULES_ON

Still stuck? Get support.