Installation

Setting up Leakd on top of Oxide Phone — requirements, start order, database tables, getting the app on phones, photo storage and live video, checking it works and updating.

Leakd comes with Oxide Phone. Buying the phone gives you four resources, each its own download in your Cfx Portal assets: oxide-phone (the phone) and its three apps, oxide-hookr, oxide-leakd and oxide-glitch. Set up the phone first with its Installation guide. This page covers what Leakd adds.

Requirements

  • ox_lib, oxmysql and o-link. Leakd needs o-link 1.11.0 or newer: it reaches the phone through o-link's app services, which older versions do not have. Your version is on the version line of o-link/fxmanifest.lua.
  • Oxide Phone (oxide-phone), which hosts the app and carries live video. Without it Leakd does nothing.
  • QBCore, QBX or ESX (through o-link)
  • Photo storage set up in the phone (see Photos, videos and lives). Without it nobody can post.

Steps

Copy the oxide-leakd folder into your server's resources folder, next to oxide-phone. Keep the folder name oxide-leakd.

Open your server.cfg (the text file that lists the resources your server starts).

Add ensure oxide-leakd on its own line, below ensure oxide-phone:

server.cfg
ensure ox_lib
ensure oxmysql
# your framework and your other scripts
ensure o-link
ensure oxide-phone
ensure oxide-leakd

If you keep your Oxide resources in a folder named [oxide] and start them all with ensure [oxide], you can skip this line. Leakd does not have to start after the phone: it joins the phone whenever the phone starts, and again after the phone restarts.

Save server.cfg.

Start Leakd:

  • If the server is off, start it.
  • If the server is running and oxide-phone was already installed when it last started, type refresh in the server console (so the server notices the new folder), then type ensure oxide-leakd. No restart is needed.
  • If you are installing the phone at the same time, restart the whole server instead. Leakd reaches the phone through o-link, and o-link only finds the phone at the moment o-link itself starts.

Leakd creates its database tables (all named oxide_leakd_...) by itself the first time it starts. You do not need to import anything.

The same tables are in sql/migrations (0001_init.sql and 0002_blocks.sql) if you would rather create them yourself with your database tool (HeidiSQL, phpMyAdmin and the like). Import them in number order. Importing them is safe: they only create tables that are missing. Leakd still checks its tables at every start, so the database user in your oxmysql connection must be allowed to create tables either way.

Getting the app on phones

Players install Leakd themselves from the phone's Store app. You don't need to do anything.

To put Leakd on every phone instead (players can't remove it):

In game, as an admin, type /phone settings.

Open Home & Apps → Store.

Add leakd to Preinstalled apps.

Press Save Changes.

You can also add 'leakd' to Config.Store.preinstalled in oxide-phone/shared/config.lua, but that file only counts before the phone's first start. After that, the list saved in /phone settings is the one used (see the phone's Configuration).

If you turn the Store off (the Store switch in the same place), every app, Leakd included, is on every phone.

Leave Config.App.id as 'leakd'. The phone only serves the app id declared in Leakd's fxmanifest.lua (phone_app 'leakd'), so a different id cuts Leakd off from accounts, photos and live video.

Photos, videos and lives

Posts, stories, profile photos and chat photos come from the phone's Photos and Camera, and are kept in the photo storage you set up for the phone (Fivemanage, or S3 or R2 compatible storage). Leakd needs nothing extra. To set storage up, follow the Photos section of the phone's Installation guide. Until storage is set up, nobody can post.

Live video does not use that storage. It goes through the phone's live streams (/phone settings → Media → Live streams). Those settings decide how many people can watch one live, how many lives (in every app together) can run at once and how long a live can last (60 minutes by default). With live streams turned off, Go Live tells players so.

Check That It Works

Start the server and watch the console. There should be no red errors from oxide-leakd.

Join the server and open your phone.

Open the Store, find Leakd and install it (skip this if you made it preinstalled).

Open Leakd. You should see the Home screen (or a sign-in screen if the phone has no SIM).

If Leakd shows Can't reach Leakd and it doesn't go away:

  • Check that o-link is 1.11.0 or newer (see Requirements).
  • Look in the server console for an oxide-leakd error that mentions migrations failed. That means Leakd could not create its tables; check that your database user may create tables.

Updating

Copy your shared/config.lua and any locale files you changed somewhere safe.

Replace the oxide-leakd folder with the new one.

Put your changes back into the new files.

Restart oxide-leakd.

New tables or columns are added at start; your data stays.