Docs
RARX Phone cover

RARX Phone · Usage

Built-in apps

What each RARX Phone app lets players do, from calls and Lenz to bank, garage, rides and services, plus the config keys that control them.

  • Qbox
  • QBCore
  • ESX
  • v2.0.0
  • rarx_phone

Overview#

RARX Phone ships with 37 apps. Every app has two designs: an iFruitOS-style one on the iFruit 17 and iFruit Duo, and an Andromeda-style one on the iFruit S26 and iFruit Z Fold. When a foldable is opened, most apps switch to a wide layout: list and detail side by side, or a map with a side panel.

Apps by group:

Apps are listed in config/apps.lua. Turn one off with Config.Apps.Disabled and change its settings with Config.Apps.Overrides. Rename it for one language with Config.Locale.Overrides, limit it by job or gang with Config.AppRules, and ban players from the social apps with Config.Moderation.BanApps. Apps marked fija (Phone, Messages, Apps, Widgets, Settings, Find Device) cannot be uninstalled.

Phone#

This section covers video calls and voice effects.

  • In a one-to-one video call, the other person fills the screen and your own view is a small window you can drag. It snaps to the nearest corner, and a tap swaps the two views. On an open foldable, the screen splits into two halves.
  • An outgoing video call shows your camera full screen while it rings. Incoming video calls have their own call screen with a camera answer button.
  • Controls: mute, camera on/off, flip camera, speaker, add a person, voice effect, and hang up. The controls hide after a few seconds while video is playing.
  • Group calls show a grid with one tile per person, each with their name and mute and pause markers.
  • Video is sent peer to peer with WebRTC when it can be. Otherwise, and in group calls, the server relays frames. A quality badge shows Good, Fair or Weak, and whether the call is direct or going through the server.
  • Voice effects: None, Deep, High, Robot and Radio. They are available during an active call.
  • Config: Config.Calls.AllowVideo, Config.Calls.AllowVoiceFilter, Config.Calls.MaxParticipants, Config.WebRTC.Enabled, Config.WebRTC.Turn and Config.WebRTC.MaxKbit.

Mail#

  • Players create an address on your server's domain the first time they open the app (Config.Mail.Domain).
  • Folders: Inbox, Sent and Trash. Players can search, filter to unread only, and swipe a row to mark it read or move it to the trash. They can also restore mail or empty the trash.
  • Write, reply, reply all and forward. Mail can go to several recipients at once, with suggestions from contacts and the address directory. Players can attach photos from the gallery.
  • After sending, the phone lists any recipients that do not exist.
  • Config: Config.Mail.MaxLength, Config.Mail.MaxRecipients and Config.Mail.MaxAttachments.
  • Deep link: openApp('mail', { to, subject, body }) opens a pre-filled draft.

Lenz#

Lenz is the photo and video network.

  • Home feed with stories and suggested accounts. Posts can hold up to 10 photos in a carousel. Players double-tap to like, and can save posts or share them to a DM or to their own story.
  • Comments come with threaded replies, likes and @mentions.
  • Explore and search, a full-screen vertical Clips feed, and one composer for posts, stories, clips and live streams.
  • Profiles show counters, followers and following, a saved tab, and private accounts with follow requests.
  • The story viewer has progress bars, pause on hold and replies. Players can see who viewed their own stories.
  • Activity notifications and direct messages.
  • Live streams show the game camera, with live chat, hearts and a viewer count. Config: Config.RRX.Live.Enabled, Fps, MaxConcurrent and MaxViewers.
  • Account rules: Config.RRX.UsernameMin, UsernameMax, MaxCaption, MaxMediaPerPost and StoryHours.

Birdy#

Birdy is a microblog in the style of X/Twitter.

  • Each character can have several accounts and switch between them with one tap. Usernames are checked as the player types.
  • For You ranks recent posts by engagement. Following shows posts from accounts you follow, plus their reposts.
  • Posts are up to 280 characters with up to 4 photos or 1 video. Players can reply, repost, quote, like, save and pin. @mentions and #hashtags are links.
  • Explore has search, 24-hour trends and accounts to follow. Notifications are grouped, for example "Lola and 2 others liked your post".
  • Profiles have a cover image, bio and verified badge, and accounts can be protected with follow requests.
  • Players can report posts. Admins can remove posts and verify accounts from inside the app.
  • Posts can be mirrored to Discord with Config.Logs.Feeds.birdy. Push alerts are set per type in Config.Birdy.Push.

Privé#

Privé is a creator platform with paid posts.

  • When players sign up, they choose to be a fan or a creator.
  • The feed can show everyone or only accounts you follow. A paid post shows a blurred preview until the player unlocks it, and the exact price is confirmed before paying.
  • Creators publish free or paid photo posts, receive tips, and see their earnings: net, gross, sales, tips and commission.
  • Players can search creators, follow them and message them in private chats with photos.
  • A Purchased tab lists the content a player has unlocked.
  • Config: Config.Fans.Commission, MinPrice, MaxPrice, MinTip, MaxTip and CommissionAccount.

Flechazo#

Flechazo is a dating app.

  • Players set up a profile with name, age, gender, bio, up to Config.Dating.MaxPhotos photos and who they are looking for.
  • Swipe deck with like and pass. Players can tap a card to change photo or open the full profile.
  • On a match, an animation plays with a shortcut to the chat. Players can clear a chat or unmatch.
  • Likes per day are capped by Config.Dating.DailyLikes. VIP (Config.Dating.VipPrice and VipDays) unlocks Likes you.
  • Players can hide their profile from the deck at any time.
  • Config: Config.Dating.Genders and Config.Dating.VipLabel.

DarkChat#

  • Anonymous rooms with an alias and a terminal-style look.
  • Players create a room and share its code, or join one by entering a code.
  • Self-destructing messages, chosen per room from Config.DarkChat.BurnOptions (from "never" up to 1 day).
  • Players can send images and locations. Tapping a location sets a GPS route.
  • Room owners can invite a player standing next to them, wipe the history, close the room, and copy the code. Ownership passes to another member when the owner leaves.
  • Config: Config.DarkChat.Enabled, CodeLength, MaxMembers, MaxRooms and InviteRadius.

Bank#

  • Account cards with the balance. Players with several accounts can swipe between them, and can hide the balance.
  • Bars show how much the player has sent today and this week against the limits.
  • Transactions are grouped by day, with incoming and outgoing filters and search. Each transaction has a detail screen with Return or Repeat, Message and Call.
  • Transfers take four steps: recipient (contacts, recent or a typed number), amount, review and confirmation. Players can send money to someone who is offline, who gets it the next time they turn on their phone.
  • Shortcuts open Invoices and Fines.
  • Config: Config.Bank.MaxTransfer, MaxDaily, MaxWeekly and Offline.
  • Deep link: openApp('bank', { number, amount }) opens a pre-filled transfer.

Invoices#

  • A summary card shows the total pending. Invoices are split into Pending and History tabs, and players can clear their history.
  • Each invoice opens as a receipt: issuer, amount, status, reason, dates and reference.
  • Players can pay from any of their accounts, or refuse an invoice if it can be refused.
  • Players with a job allowed in Config.Bills.Issuers can issue invoices to a number. Issuing checks the amount (Config.Bills.MaxAmount) and a cooldown (Config.Bills.Cooldown).
  • Deep link: openApp('invoices', { id }) opens that invoice.

Fines#

Fines works the same way as Invoices, but has its own list and icon.

  • Fines cannot be refused.
  • On-duty police and sheriff (the fine entry in Config.Bills.Issuers) can issue fines. The issuer confirms the amount, the recipient and the reason before sending.
  • Paid fines go to the society account set in Config.FineAccount. See also Config.Bills.FinesToIssuer.

Crypto#

  • Portfolio: total value, change for the day, and invested amount and return for each coin.
  • Market: your server's own coins and real-market coins, each with its 24-hour change and a mini chart.
  • Coin detail: an interactive chart over 24 hours, 7 days or 30 days, the player's position, and their activity in that coin.
  • Players can buy and sell by cash amount or by coin amount, and send coins to a phone number. Before trading, a summary shows the fee and the total.
  • Real prices come from CoinGecko and are cached on the server. If a price is out of date, that coin cannot be traded until it updates.
  • Config: Config.Crypto.Enabled, Mode ('real', 'custom' or 'both'), Coins, Custom, Fee, MaxPerTrade, MinTrade, MaxDailyBuy, MaxDailySell and Transfer.
  • Deep link: openApp('crypto', { coin }).

Classifieds#

  • Browse listings by category, with search over the title, description and items.
  • A listing can be informational or sell items straight from the inventory, in one or more lots, with live stock. Buyers see the exact price before they confirm, and the items are delivered instantly.
  • Players can message or call the seller from a listing.
  • My listings lets players manage and remove their own listings.
  • Config: Config.Ads.Categories, Days, MaxPerPhone and Cost, plus Config.Market.MaxItems and MaxStock.

Black Market#

  • Players trade under an anonymous alias, and buyers rate sellers with stars.
  • The seller lists a lot of inventory items with a price for each lot.
  • Escrow: the buyer pays and the money is held. The seller drops the goods at their current location. The buyer gets a route there and confirms the pickup on site.
  • The Deals tab shows each deal's status (Paid, At the drop, Collected). Either side can cancel with a refund before the drop; after the drop, only the buyer can cancel.
  • Config: Config.BlackMarket.Enabled, Commission, DropMinutes, PickupMinutes, DropRadius, MaxItems, MaxStock and Blocked.

Services#

  • Emergencies: a 911 button and one card for each service, showing how many staff are on duty. Alert sends a message with the player's location, and can be anonymous.
  • My alerts: the status of each alert (Pending, On the way, Closed) and who is handling it. Players can cancel their own alerts.
  • Respond: on-duty workers see incoming alerts with their distance and a mini map. They can accept, set a route, call, message or close the alert.
  • Businesses: open or closed status, call, message, directions, alert, and a read-only catalog.
  • Config: Config.Services.List, Cooldown, AlertMinutes and MaxMessage.
  • Deep link: openApp('services', { tab: 'incoming' }) opens the Respond tab.

Garage#

  • Owned vehicles, with search and the filters All, Stored, Out and Impounded.
  • Each vehicle has a detail screen: plate, state, engine, body and fuel gauges, garage, impound fee, and a map of its location.
  • Locate centres the map on the vehicle. Route sets a GPS waypoint to the car or its garage.
  • Valet brings a stored vehicle to the player for a fee. The player can follow the car on the map while it drives over.
  • Config: Config.Valet.Enabled, Price, Distance and Cooldown, plus the garage integration in Config.Integrations.Garage.

Property#

This app requires rarx_housing (Config.Integrations.Housing).

  • Lists the homes a player owns or has keys for, with filters for All, Mine and With key.
  • The detail screen shows a map, zone, value, interior type, lock state, and who has keys.
  • Players can lock or unlock the door remotely and set a route to the property.
  • Owners can give a key to a contact or number, who must be online, and can remove keys.

Taxi#

Taxi and GO share the same ride system.

  • Ride: pickup is the player's position and the destination is the GPS waypoint. The app shows an instant quote with price, distance, time and drivers on duty.
  • When a driver accepts, the app shows the driver's card with photo, rating, Message and Call. The car moves on the map until it arrives.
  • Drive: drivers create a profile, go on duty and see open requests. The first driver to accept gets the ride. Drivers mark the passenger as on board, then finish and charge.
  • Activity: ride history for passengers and drivers, earnings, and star ratings after each ride.
  • Only employees of the taxi business can drive (Config.Rides.Taxi.employer).
  • Config: Config.Rides.Taxi.base and perKm, Config.Rides.DriverCut, Config.Rides.MinDistance and Config.Rides.Timeout.

GO#

GO is the same app as Taxi with its own branding.

  • Anyone can sign up and drive (Config.Rides.Go.employer = false).
  • It has its own pricing in Config.Rides.Go (base and perKm).
  • A player can have only one active request across Taxi and GO.

News#

  • Front page with a top story and the latest articles. Players can filter by section chips and search.
  • The article view has adjustable text size and a copy-text option.
  • Allowed jobs or businesses can publish articles with a cover image from the gallery, and delete their own.
  • Config: Config.News.Publishers, MaxPerDay and MaxLength. New articles can be mirrored to Discord with Config.Logs.Feeds.news.

Camera#

  • Takes photos and videos of the game view. What the player sees in the viewfinder is exactly what gets saved.
  • Selfie mode, zoom, flash, 7 filters and a 3x3 grid. Aim mode lets the player move the camera: Alt returns and Enter shoots.
  • Uploads run in a queue, so the player can keep shooting. Every shot is saved to Photos, and the thumbnail opens it there.
  • Config: Config.Camera.MaxVideoSeconds and the Config.Uploader settings.
  • A library grouped by day, with favourites and videos.
  • Players can select photos one by one or by day, then share, favourite, add to an album or move them to the trash.
  • Full-screen viewer with swipe, double-tap zoom and info. Players can set a photo as the home or lock screen wallpaper.
  • Albums can be created, renamed and deleted. Deleting an album keeps the photos.
  • Recently deleted photos stay restorable for Config.Uploader.TrashDays days.
  • Config: Config.Uploader.MaxPhotos and MaxAlbums.

Music#

  • Live radio stations with Featured and All lists, genre chips and search.
  • A mini player and a Now Playing screen with previous and next station, volume and stop. Audio keeps playing when the player leaves the app.
  • Stations are set in Config.Music.Stations. With Config.Music.AllowCustomUrl, players can also play their own stream URL.

Recorder#

  • Records voice memos with a live waveform, pause and resume. Each memo can be up to 5 minutes long.
  • The player can name the memo while recording and rename it later.
  • Playback has a real waveform, scrubbing and 15-second skip. Players can share a memo to Messages or delete it.
  • If an upload fails, the recording is kept so the player can retry.
  • Config: Config.VoiceMemos.Max.

Maps#

  • Satellite and atlas styles, with the player's position and heading.
  • Players tap anywhere to drop a pin. The pin shows the zone name and distance, and the player can set a route.
  • Search over Los Santos and Blaine County zones and places.
  • Saved places can be renamed and deleted (Config.Maps.MaxPlaces).
  • Deep link: openApp('map', { x, y, label }) drops a pin there. openApp('map', { search }) searches for a place.

Weather#

  • Shows the current conditions, a temperature range, day and night, and sunrise and sunset.
  • Temperatures are shown for county zones and for the player's location, adjusted for altitude. Players can switch between °C and °F.
  • When the server's weather sync is available, the app uses its data: temperature, rain, wind direction and the time until the next change.

Clock#

  • Clock: the current Los Santos game time and the next alarm.
  • Alarms: time, repeat days and label. Players can snooze an alarm or stop it.
  • Stopwatch with laps, and a Timer with recent timers and a +1:00 button.
  • Config: Config.Alarms.Max and Config.Alarms.RingSeconds.

Calendar#

  • A month view that follows the game date, and an agenda of upcoming events.
  • Players create and edit events with a title, date, and either a time or all day.
  • Config: Config.Calendar.Max.

Notes#

  • Notes save automatically while the player types.
  • Players can pin notes, sort them into folders (iFruitOS-style) or labels (Andromeda-style), and colour them on Andromeda.
  • Search, grouping by date, and copy.
  • Config: Config.Notes.Max and Config.Notes.MaxLength.

Calculator#

  • A basic calculator and a scientific mode with trigonometry, logarithms, powers, factorial and percent.
  • Results use the player's language's number format.
  • History keeps the last 40 calculations.

Browser#

  • An address bar with search. Text that is not a URL is searched through your configured search engine.
  • Home page with bookmarks set by the server, back and forward, reload and copy link.
  • The server checks every address and search. Blocked pages show a "cannot open" screen.
  • Config: Config.Browser.Enabled, Home, Sites (an empty list allows every site that is not blocked), Bookmarks, SearchEngine, CX, SafeSearch, BlockedDomains and BlockedWords.
  • Deep link: openApp('browser', { url }).

Apps#

  • Lists every app in config/apps.lua, with search and the filters All, Installed and Not installed.
  • Players install optional apps (shown with progress) and uninstall them. System apps cannot be uninstalled.
  • Each app has a detail screen showing its category, price (free) and whether it is a system or optional app.

Widgets#

  • Players choose and order the widgets on their home screen, with a live preview on their own wallpaper.
  • The widget catalog comes from config/widgets.lua.
  • Other resources can fill external widgets with exports.rarx_phone:SetWidgetData.