Integrations

Every optional resource oxide-phone works with — Hookr, Leakd and Glitch, pma-voice, target resources, photo storage, oxide-police, oxide-dispatch, oxide-drugselling, oxide-banking, oxide-tablet, the gig jobs and other phones — what each adds, what happens without it, and the setup it needs.

The phone needs only ox_lib, oxmysql and o-link. Everything on this page is optional. Each resource adds something when it runs, and the phone works without every one of them.

The phone looks for these resources while it runs, so you don't configure most of them. Where a step is needed, it is listed under Setup.

At a Glance

ResourceWith itWithout it
oxide-hookr, oxide-leakd, oxide-glitchEach one adds its app to the phone's StoreThe phone's own apps only
pma-voiceVoice calls"Calls are not available on this server." Everything else works
A target resourceForensics stations are a target optionForensics stations show an E prompt
Photo storageCamera, Photos, photos in texts and FeedThe camera says photos are not set up
oxide-policeReports go into police cases; warrants count as authorizationsReports stay in Forensics; authorizations are issued in Forensics
oxide-dispatch911/311 are dispatch calls with replies by text911/311 go to another dispatch resource as an alert, or to the listed jobs
oxide-drugsellingForensics processes and traces trap phonesForensics handles phones only
oxide-bankingIts Banking app can be installed, beside the phone's WalletThe phone's own Wallet app
oxide-tabletForensics is also on the tabletForensics is on the phone only
The gig jobsThe Gigs app; shift updates and job calls as Gigs notificationsNo Gigs app; the jobs don't reach the phone

Hookr, Leakd and Glitch

The three apps that come in the Oxide Phone package. Each is its own resource, and each works without the other two.

What they add

  • Hookr (oxide-hookr): a swipe-to-match dating app. See Hookr.
  • Leakd (oxide-leakd): photo and video sharing, with stories, going live and direct chats. See Leakd.
  • Glitch (oxide-glitch): live streaming from the phone's camera, with a simulated audience that pays the streamer. See Glitch.

Each app uses the phone's own accounts (one per SIM to start with), its Photos and Camera, and its notifications, and leaves what players do in it on the phone for police Forensics.

Without them

  • The phone has its own apps only. Nothing else changes.

Setup

  • Start each one after oxide-phone, see Installation → Load Order.
  • o-link must be 1.11.0 or newer, or the apps never appear in the Store.
  • Their photos and videos need the phone's photo storage. Live streams use the limits in Media → Live streams. See Installation → Apps.

pma-voice

What it adds

  • Voice for phone calls. When a call is answered, both players are put into a private pma-voice call channel.
  • A privacy guard: anyone who puts themselves into a call channel they are not part of is removed at once. Test it with /phone calltest (see Admin).

Without it

  • The Phone app says "Calls are not available on this server." Nobody can call.
  • Texts, contacts, mail, notifications and every other app work as normal.
  • Emergency numbers still work: they go to dispatch, not through voice.

Setup

  1. Start pma-voice in part 2 of your load order, above o-link.

  2. Keep pma-voice's phone calls turned on. If your server.cfg sets voice_enablePhones, it must be 1:

    server.cfg
    setr voice_enablePhones 1

Target Resources

The phone uses a target resource through o-link (for example ox_target), so any target resource o-link supports works.

What it adds

  • Each Forensics station (Config.Evidence.stations) becomes a target option, Extract a phone, that only police can use.

Without it

  • Police standing at a station see a prompt with E (Extract a phone). Pressing it does the same thing.

Setup

  • Start your target resource in part 2 of your load order, above o-link. Nothing else.

Photo Storage

The phone never stores photos itself. You pick a storage service in /phone settings → Media. See Installation → Photos for each one.

ServiceWhat you need
FivemanageA Fivemanage media API key in server.cfg
S3 or R2 compatibleA bucket served from a public https:// address, an access key and secret in server.cfg, and CORS allowing uploads from the game
CustomA resource of your own that hands out upload addresses (see Building Apps → Custom photo storage)

What it adds

  • The Camera and Photos apps, photos in texts, and photos on Feed posts.
  • Photos are uploaded straight from the player's game to your storage. The keys stay on your server and never reach players.

Without it

  • The Camera app says "Photos are not set up on this server" and tells admins what to do.
  • Texts and Feed posts work without photos. Everything else is unaffected.

oxide-police

What it adds

  • Reports into cases. Every extraction report is also attached to the police case whose number the officer typed as the case reference. oxide-police checks that the officer is on duty and that the case belongs to their department. In Forensics → Reports, each report shows whether oxide-police took it, or why not.
  • Warrants count. With Search authorization set to Built in, an active oxide-police warrant for the person a phone's SIM is registered to (or, without a registered SIM, the phone's registered owner) counts as a search authorization. The report shows it as "Warrant #" and the warrant number.

Without it

  • Forensics works on its own. Reports stay in Forensics → Reports, where officers can copy them as text.
  • Search authorizations are issued in Forensics by the Authorizers you set.

Setup

  • oxide-police is already in Evidence → Report destinations (Config.Evidence.backends). Leave it there and enabled.
  • oxide-police must be installed when the phone starts. If you add it to a running server, restart oxide-phone afterwards.

oxide-dispatch

What it adds

  • 911 and 311 become dispatch calls. A call from the phone goes through oxide-dispatch's own 911/311 system, at the caller's position, with the caller's number unless they ticked Do not send my name or number. oxide-dispatch applies its own rules and may turn a call down; the caller then sees "Dispatch did not take the call."
  • Replies by text. When a responder replies to the call in oxide-dispatch, the reply arrives on the caller's phone as a text from the responder group.

Without it

  • With another dispatch resource, the call arrives there as an alert at the caller's position.
  • With no dispatch resource at all, players with the jobs listed for the number (Config.Emergency.numbers) get a notification and a map blip for 30 seconds.

Setup

  • Nothing on the phone's side. Set up oxide-dispatch as its own guide says.

oxide-drugselling

What it adds

  • Trap phones in Forensics. The trap phones an officer carries appear in Forensics → Phones as "Trap phone", with their number and owner.
  • Extraction. An authorized extraction of a trap phone builds its report through oxide-drugselling. The report lands in Forensics → Reports and goes to your report destinations like any other.
  • Tracing trap numbers. Records → Trace also finds trap phone numbers.

Without it

  • Forensics handles the phone's own phones only. Nothing else changes.

Setup

  • oxide-drugselling must be installed when the phone starts. If you add it to a running server, restart oxide-phone afterwards.

oxide-banking

What it adds

  • oxide-banking's own Banking app (app ID banking) appears in the phone's Store.
  • The phone's own Wallet stays beside it, so sending and requesting money by phone number keep working on every phone.

Without it

  • The phone's own Wallet app shows the balance of your framework's bank account and sends money to phone numbers. See Features → Wallet.

Setup

  • Nothing on the phone's side.

oxide-tablet

What it adds

  • The Forensics app is also on the tablet, for the same police jobs. Police install it from the tablet's Store.
  • With Debug mode on, the phone's Demo app is also offered on the tablet.
  • Apps from other resources that follow the shared app format can run on both. See Building Apps.

Without it

  • Forensics is on the phone only. Nothing else changes.

Setup

  • Nothing. The phone adds its apps to the tablet whenever both run, whichever starts first.

The Gig Jobs

The seven Oxide gig jobs (oxide-pizzajob, oxide-landscapingjob, oxide-postaljob, oxide-roadsideassistancejob, oxide-animalcontroljob, oxide-newspaperjob and oxide-pestcontroljob) talk to players through the phone when their own usePhone setting is on (it is on by default).

What it adds

  • The Gigs app. While at least one of the jobs runs, the Gigs app is on every phone. It lists the running jobs with their pay and status, shows the shift in progress (also as a home-screen widget), each job's start locations with Set GPS and Show on Maps, and the player's level with each job. The jobs keep their own data; the app reads it from them each time. Shifts still start and end in person at the job. See Features → Gigs.
  • Shift updates as Gigs notifications. The welcome, incidents and the roadside and animal control job calls arrive as Gigs notifications. Each update arrives once: in the Gigs app, or as a text or mail when the phone does not take it. The pay summary at clock-out stays a text from the job, as the receipt with every deduction.
  • Mail instead. A player who carries no phone gets the update as mail. It waits for their next phone.
  • Texts instead. With Apps → Gigs off (Config.Apps.gigs.enabled), the jobs text their updates from their own name (for example "Pizza This! - Downtown Pizza This"), in a conversation the player can read but not answer, and ring through for job calls.

Without it

  • No Gigs app. The jobs don't reach the phone. What each job shows instead is described in that job's own documentation.

Setup

  • Keep usePhone on in each job's settings. o-link must be 1.11.0 or newer for the jobs to reach this phone.
  • The Gigs app needs the job versions that answer it. An older version of a job keeps texting its updates and does not appear in the Gigs app; the server console notes it once.

Other Resources and Other Phones

  • Any resource that uses olink.phone reaches this phone: texts, mail (also to offline players), notifications, apps and widgets. See Exports and Building Apps.
  • Scripts written for qb-phone mail keep working, and an optional layer answers common LB-Phone exports. See Compatibility.
  • Another phone resource. If gksphone, lb-phone, okokPhone, qs-smartphone, qs-smartphone-pro or yseries is also running, o-link sends other resources' texts, mail and notifications to that phone instead. Run one phone only.

Next Steps