Skip to content

About

SD OS for FiveM: a full desktop on any computer prop or location - mail, System Logs, Command Prompt hacking and a Business Manager

Resources

Stars

17 stars

Watchers

2 watching

Forks

Latest commit

 

History

42 Commits

Folders and files

Repository files navigation

sd-computers

sd-computers banner: Computers for FiveM, with the three desktop looks

Browser demo

Open the live demo

The whole desktop runs here with sample data, in all three looks, and so does the admin panel. Sign in, open the apps, write a document, play a hacking minigame. Nothing to install.

fivem.samueldev.shop/computer

sd-computers trailer: in game at a Mission Row desk, then the apps, the city's websites, security cameras, the three looks, signing a printed page, hacking minigames and the admin panel

sd-computers puts a working desktop on any computer in your city. Players walk up to a prop or a place, sign in and use real apps: Mail, a document editor that prints to paper, a browser for the city's own sites, banking, a job's notice board and boss menu, security cameras, that machine's own logs, and a Command Prompt that launches hacking minigames. It runs on QBOX and QBCORE, and on ESX without the Business Manager.

Every computer opens in one of three original looks, picked per computer: a current desktop, a 1991 one inside a CRT, and one with a dock and a menu bar. Admins place computers, security cameras and printers in game with /computeradmin, without touching a config file.

The screen on the prop is real too. Sit down at a computer and the camera goes up to it: the desktop is inside the prop's own bezel, with the room still there around it. A computer nobody is using shows its lock screen, and one somebody is using shows what they are doing, live, to anyone standing nearby.

So is the paper. A page waits in the printer's tray, is taken as an item, and opens as a sheet of A4 that can be handed to somebody else and signed.

And it takes your own apps. Any resource can put a program of its own on the desktop: a web page in its own window, with an icon on the desktop, taskbar and dock, the desktop's dialogs, notifications and printing, and calls to its own server. Start from the app templates, in plain JavaScript, React, Vue or Svelte.

Stars Discord Documentation

Framework Target Pairs with Custom apps

Live demo · Documentation · Store · Discord

Works together: sd-phone · sd-tablet · sd-computers


Support Me

If you're enjoying sd-computers and want to support my work, consider picking up a script from Samuel's Development. Every purchase helps me keep building and improving resources like sd-computers. Browse Petty Crimes, Advanced Crafting, Horde, Smash Down, and more to find something for your server.

In game

On a server, at a desk in Mission Row. Click any image for the full-size version.

A desk at Mission Row with the computer's lock screen on its monitor, and another one through the window

Nobody at the desk: the monitor shows its lock screen to the room, and so does the one through the window

The sign-in screen inside the monitor's bezel
Sitting down: the camera goes up to the monitor, and the desktop is inside its bezel
Security Cameras showing the station's front entrance live
Security Cameras: the station's front entrance, live
The Browser on marketplace.ls, with listings from sd-phone
Browser: marketplace.ls, the phone's Marketplace as a website
A printed page held up to read
Printed: a page from the printer's tray, held up to read

See it move

Recorded from the browser demo, with sample data.

Starting up, signing in and looking round

Signing in to SD OS Pro, reading a mail and opening Weazel News in the Browser

Formatting a document in Files and adding a line to sign on
Files: a part in its own typeface and ink, and a line to sign on
Signing a printed page that is held in the hand
On paper: the printed page in the hand, and a line of it signed
SD Desktop 3.11 starting up from its DOS boot
SD Desktop 3.11: the CRT warming up, the DOS boot, the log on box
The same Mail app in the three looks
Three looks: the same Mail, on the same server

Screenshots

Captured from the browser demo using sample data. Click any image for the full-size version.

Jump to: SD OS Pro · SD OS Harbor · SD Desktop 3.11 · Printed pages · Hacking minigames · Admin panel · Props

SD OS Pro (modern)

A current desktop: centred taskbar, Start menu with search, rounded translucent windows, dark and light themes.

SD OS Pro desktop

SD OS Pro: Mail
Mail
SD OS Pro: Files
Files
SD OS Pro: Weazel News
Weazel News
SD OS Pro: Messages
Messages
SD OS Pro: Bank
Bank
SD OS Pro: Business Manager
Business Manager
SD OS Pro: Photos
Photos
SD OS Pro: Command Prompt
Command Prompt
SD OS Pro: Games
Games
Every screen of SD OS Pro (36)
SD OS Pro: Lock screen
Lock screen
SD OS Pro: Sign in
Sign in
SD OS Pro: Start menu
Start menu
SD OS Pro: Mail
Mail
SD OS Pro: New mail
New mail
SD OS Pro: Messages
Messages
SD OS Pro: Notes
Notes
SD OS Pro: Contacts
Contacts
SD OS Pro: Photos
Photos
SD OS Pro: Files
Files
SD OS Pro: Print
Print
SD OS Pro: Notepad
Notepad
SD OS Pro: Browser
Browser
SD OS Pro: Weazel News
Weazel News
SD OS Pro: Marketplace
Marketplace
SD OS Pro: Yellow Pages
Yellow Pages
SD OS Pro: Business Directory
Business Directory
SD OS Pro: Squawk
Squawk
SD OS Pro: Laws and Fines
Laws and Fines
SD OS Pro: Stock Market
Stock Market
SD OS Pro: Bank
Bank
SD OS Pro: Company Board
Company Board
SD OS Pro: Security Cameras
Security Cameras
SD OS Pro: Business Manager
Business Manager
SD OS Pro: Employees
Employees
SD OS Pro: Finances
Finances
SD OS Pro: Event Viewer
Event Viewer
SD OS Pro: Command Prompt
Command Prompt
SD OS Pro: Calculator
Calculator
SD OS Pro: Settings
Settings
SD OS Pro: Personalization
Personalization
SD OS Pro: Phone Link
Phone Link
SD OS Pro: Games
Games
SD OS Pro: Mines
Mines
SD OS Pro: Solitaire
Solitaire
SD OS Pro: Snake
Snake

SD OS Harbor (mac)

A top menu bar, a dock that magnifies, traffic-light window buttons and a search overlay.

SD OS Harbor desktop

SD OS Harbor: Lock screen
Lock screen
SD OS Harbor: Mail
Mail
SD OS Harbor: Files
Files
SD OS Harbor: Marketplace
Marketplace
SD OS Harbor: Messages
Messages
SD OS Harbor: Personalization
Personalization
Every screen of SD OS Harbor (35)
SD OS Harbor: Lock screen
Lock screen
SD OS Harbor: Sign in
Sign in
SD OS Harbor: Mail
Mail
SD OS Harbor: New mail
New mail
SD OS Harbor: Messages
Messages
SD OS Harbor: Notes
Notes
SD OS Harbor: Contacts
Contacts
SD OS Harbor: Photos
Photos
SD OS Harbor: Files
Files
SD OS Harbor: Print
Print
SD OS Harbor: Notepad
Notepad
SD OS Harbor: Browser
Browser
SD OS Harbor: Weazel News
Weazel News
SD OS Harbor: Marketplace
Marketplace
SD OS Harbor: Yellow Pages
Yellow Pages
SD OS Harbor: Business Directory
Business Directory
SD OS Harbor: Squawk
Squawk
SD OS Harbor: Laws and Fines
Laws and Fines
SD OS Harbor: Stock Market
Stock Market
SD OS Harbor: Bank
Bank
SD OS Harbor: Company Board
Company Board
SD OS Harbor: Security Cameras
Security Cameras
SD OS Harbor: Business Manager
Business Manager
SD OS Harbor: Employees
Employees
SD OS Harbor: Finances
Finances
SD OS Harbor: Event Viewer
Event Viewer
SD OS Harbor: Command Prompt
Command Prompt
SD OS Harbor: Calculator
Calculator
SD OS Harbor: Settings
Settings
SD OS Harbor: Personalization
Personalization
SD OS Harbor: Phone Link
Phone Link
SD OS Harbor: Games
Games
SD OS Harbor: Mines
Mines
SD OS Harbor: Solitaire
Solitaire
SD OS Harbor: Snake
Snake

SD Desktop 3.11 (retro)

A 1991 shell inside a beige CRT: a DOS boot, a teal desktop and bevelled grey windows that snap open in chunky steps.

SD Desktop 3.11 desktop

SD Desktop 3.11: Sign in
Sign in
SD Desktop 3.11: Mail
Mail
SD Desktop 3.11: Files
Files
SD Desktop 3.11: Weazel News
Weazel News
SD Desktop 3.11: Command Prompt
Command Prompt
SD Desktop 3.11: Solitaire
Solitaire
Every screen of SD Desktop 3.11 (34)
SD Desktop 3.11: Lock screen
Lock screen
SD Desktop 3.11: Sign in
Sign in
SD Desktop 3.11: Mail
Mail
SD Desktop 3.11: Messages
Messages
SD Desktop 3.11: Notes
Notes
SD Desktop 3.11: Contacts
Contacts
SD Desktop 3.11: Photos
Photos
SD Desktop 3.11: Files
Files
SD Desktop 3.11: Print
Print
SD Desktop 3.11: Notepad
Notepad
SD Desktop 3.11: Browser
Browser
SD Desktop 3.11: Weazel News
Weazel News
SD Desktop 3.11: Marketplace
Marketplace
SD Desktop 3.11: Yellow Pages
Yellow Pages
SD Desktop 3.11: Business Directory
Business Directory
SD Desktop 3.11: Squawk
Squawk
SD Desktop 3.11: Laws and Fines
Laws and Fines
SD Desktop 3.11: Stock Market
Stock Market
SD Desktop 3.11: Bank
Bank
SD Desktop 3.11: Company Board
Company Board
SD Desktop 3.11: Security Cameras
Security Cameras
SD Desktop 3.11: Business Manager
Business Manager
SD Desktop 3.11: Employees
Employees
SD Desktop 3.11: Finances
Finances
SD Desktop 3.11: Event Viewer
Event Viewer
SD Desktop 3.11: Command Prompt
Command Prompt
SD Desktop 3.11: Calculator
Calculator
SD Desktop 3.11: Settings
Settings
SD Desktop 3.11: Personalization
Personalization
SD Desktop 3.11: Phone Link
Phone Link
SD Desktop 3.11: Games
Games
SD Desktop 3.11: Mines
Mines
SD Desktop 3.11: Solitaire
Solitaire
SD Desktop 3.11: Snake
Snake

Printed pages

What a printout opens as: a sheet of A4 held up over the game, that leans with the mouse and turns like a page. A document prints the way it was set, and its lines to sign on are signed here, by whoever holds the page.

Printed page: A document from Files
A document from Files
Printed page: A signed contract
A signed contract
Printed page: Bank statement
Bank statement
Printed page: System log
System log

Hacking minigames

Ten minigames, launched from Command Prompt or from your own scripts. Shown here in SD OS Pro; the games are the same in every look.

Hacking: Network Maze
Network Maze
Hacking: Node Capture
Node Capture
Hacking: Cipher Lock
Cipher Lock
Hacking: Data Worm
Data Worm
Hacking: Firewall Defense
Firewall Defense
Hacking: Highway Evasion
Highway Evasion
Hacking: Code Injection
Code Injection
Hacking: Signal Replay
Signal Replay
Hacking: Packet Routing
Packet Routing
Hacking: ICE Breaker
ICE Breaker
Hacking: Program list
Program list
Hacking: Standalone window
Standalone window

Admin panel (/computeradmin)

Every computer, security camera and printer on the server, and the tools that place new ones.

Admin panel, Computers tab

Admin panel: Overview
Overview
Admin panel: Cameras
Cameras
Admin panel: Printers
Printers
Admin panel: Automatic
Automatic
Admin panel: Props
Props
Admin panel: Styles
Styles

Props

A computer can be placed as, or picked from the world as, a monitor, a laptop or a tower PC, and a printer as a printer or a photocopier. Towers are off out of the box: they have no screen, so they open fullscreen. Add any streamed prop from the admin panel, or in configs/shared/admin.lua. Every prop, photographed in game, is in the docs under props and screens.

Flat monitor
Flat monitor
prop_monitor_01a
CRT monitor
CRT monitor
prop_monitor_03b
Laptop
Laptop
prop_laptop_01a
Laser printer
Laser printer
prop_printer_01

Tip

Running sd-phone v1.0.7 or newer? The computers pick it up. A computer becomes another screen for the character's phone: Mail switches to the phone's own mailboxes, three more apps appear (Messages, Notes and Contacts), and Files, Photos and Bank show the phone's documents, gallery and banking history. Players link their phone to a machine with a code from the Phone Link app, and the Browser shows the city's own sites live. sd-computers is complete without it. More in the docs.

Apps

Mail Shared, password-protected @lsmail.com accounts (sign up, sign in, multiple accounts), inbox, flagged, drafts, sent, bin, reply and forward, bounces for unknown addresses, live new-mail toasts
Event Viewer That computer's System Logs: sign-ins and failed PINs, lockouts, apps opened, mail sent, Business Manager actions, hack attempts and breaches, plus anything other resources write. Filterable; clearing it leaves a "log was cleared by X" entry (event 1102)
Command Prompt A real-feeling cmd.exe (ipconfig, systeminfo, ping, tasklist and more) that launches the hacking minigames: free practice (hack maze hard) and configured breach targets (targets, breach fleeca-ledger) that pay rewards server-side
Business Manager The boss menu: roster with online and on-duty status, promote, demote and fire, hire the players standing at the computer or anyone online by their player ID (they get an accept prompt either way), society balance chart, deposit and withdraw, statement. Only shown to that job's bosses
Files The character's documents, written in a proper editor: a typeface for the page, and a typeface, size and ink of its own for any part of it; headings, lists, quotes, bold and the rest, alignment, rules, pictures out of Photos with a size, a side and a caption, and lines to sign on. They follow the character to every computer and print the way they are set. With sd-phone, the phone's documents show beside them
Photos The character's pictures: added by their link, they follow the character to every computer, and they are what Files puts into a document. With sd-phone, the phone's gallery shows beside them once the phone is linked
Browser A closed, in-game network: the sites you list. With sd-phone those are the city's own, live: Weazel News, the Marketplace, the Yellow Pages, a business directory, Squawk, the penal code and the stock market. You can also write pages right in the config, or embed your own web page. Any other address "can't be reached"
Bank The character's bank balance, cash and recent transactions, to look at. Nothing can be moved from it
Company Board A job's notice board: bosses post, pin and remove announcements, everyone in the job reads them from any computer, and it shows who is on duty. Only shown to players with a job
Security Cameras The cameras a player is allowed to watch from that computer. Picking one plays its picture live in the app's window, to look around and zoom with, and Full screen puts it over the whole display. Only shown to players with at least one camera to watch; every first look is written to the System Logs
Print Notepad, Files, Mail, Bank and Event Viewer print to a printer near the computer. The page waits in the printer's tray and is taken as an item that opens as the sheet of A4 it is
Games A shelf of three, each one a program of its own with its own window, icon and look: Mines on a bomb-disposal console, Solitaire on a felt card table, Snake on an arcade screen. Best results are kept
Phone Link Only with sd-phone: links the character's phone to that machine. It sends a code to the phone as a notification; typing it in puts the phone's apps on the desktop there and then, until they unlink it
Messages / Notes / Contacts Only with sd-phone, once the phone is linked in Phone Link: the phone's texts, notes and address book on the desktop
Notepad / Calculator / Settings Notes that follow the character to every computer; a full standard calculator; wallpaper, accent colour and dark or light mode, saved per character
Your own apps Any resource can add one: a page of its own in a window of its own, on every look. See Custom apps, and start from the app templates

Around the apps: a lock screen with an optional per-computer PIN (checked server-side, with lockout), welcome and shutdown screens, draggable, resizable, snap-to-maximize windows, calendar and quick-settings flyouts, toast notifications, and system sounds for starting up, signing in, windows, clicks and notifications (synthesized, no audio files; each style has its own and can switch them off).

Custom apps

Your own resource can put a program on the desktop. Register it from your server and it gets an icon, a window, a taskbar or dock entry and a count badge in all three looks; its page talks to your server, your client script and the OS through a small API: the desktop's own dialogs and context menus, notifications, printing to a printer in the room, storage per character or per computer, opening Mail or the Browser, and lines in the Event Viewer. Your endpoints only ever run for a player signed in at a computer that has your app.

exports['sd-computers']:AddCustomApp({
    id = 'wrenchworks',
    label = 'Wrenchworks',
    ui = 'wrenchworks/web/index.html',
    icon = 'wrenchworks/web/icon.svg',
    groups = { mechanic = 0 },
    endpoints = {
        ['orders:list'] = function(source, data, ctx) return { orders = orders } end,
    },
})

Wrenchworks, the example custom app, with the desktop's context menu and one of its notifications

Start from the app templates: the same small app in plain JavaScript, React (JS and TS), Vue and Svelte, ready to copy and rename, and Wrenchworks, the full example in the picture above (a garage's work-order book that uses every call). Custom apps in the docs.

Three looks, one computer

Every computer runs the same apps against the same server. Its style decides the shell around them:

Style Name on screen Feel
modern SD OS Pro Centred taskbar and Start menu, rounded translucent windows, dark or light, soft glassy system sounds
retro SD Desktop 3.11 A 1991 shell inside a beige CRT: DOS boot, teal desktop, bevelled grey windows that snap open in chunky steps, synthesized period sounds
mac SD OS Harbor Top menu bar, magnifying dock, traffic-light window buttons, search overlay, a startup chord and its own pops and whooshes

The style is picked per computer, and every character's wallpaper, accent and light or dark choice is saved per style. All three are original designs: no real OS logos, names, wallpapers or fonts.

At the screen, and on it

Using a computer does not cover the game with a desktop. The camera moves up to the prop, square on to its screen, and the desktop sits exactly inside it, with the room still there around it. Out in the world, a computer nobody is using shows its lock screen on the prop, and one somebody is using shows a live copy of what they are doing to anyone standing nearby (PIN and password fields masked). Any prop can be given a screen: the admin panel has a tool that draws it on the prop with the mouse. Props and screens in the docs.

Hacking

Command Prompt launches ten minigames from sd-deaddrop, with the same server-side anti-cheat: proof-of-play floors, ordered milestones and server-seeded puzzles. hack runs a practice game; breach runs a target you set up in configs/server/targets.lua, with its minigame steps, item requirement, cooldowns, police alert and a reward the server pays (items, money, mail or your own event). Your own robberies and heists can put the same minigames in front of a door or a vault, with a result the server has verified. Hacking and hacks in your scripts in the docs.

Admin panel

/computeradmin lists every computer, security camera and printer on the server, with who is sitting at which, and places new ones in game without touching a config file: stand a prop with the placement gizmo, or turn a monitor or printer the game already has into one. Cameras are put up by flying a camera to where it hangs. The same panel switches the monitors and laptops around the map on and off as computers, model by model, and adds props of your own. The admin panel in the docs.

Printers

A page is not handed to whoever pressed Print: it comes out of a printer in the world and waits in its tray until somebody takes it. A printout is one inventory item, a sheet of A4 that can be read, handed over, stashed and signed by whoever holds it, with the name and time under each signature written by the server. Mail, bank statements and logs are built by the server from its own data, so nobody can print a statement the bank does not agree with. Printers in the docs.

Documentation

Everything else is on the docs site, docs.samueldev.shop/resources/computers:

Page What is on it
Installation Dependencies, the printout item for your inventory, setting up computers, breach targets, PINs and admin permissions
Configuration Every setting in every config file, and the full default files
Admin Panel Placing computers, cameras and printers, picking props from the world, automatic computers, permissions
Props & Screens Every prop, adding your own, the screen on the prop, drawing a prop's screen
Printers Printing, trays, the printed page, signing
Hacking & Breach Targets Command Prompt, the minigames, breach targets and rewards, the anti-cheat
Hacks in Your Scripts Putting the minigames into your own robberies: from the server, from the client with a proof, or at a computer
Browser Sites sd-phone's sites live, pages written in the config, your own web pages
sd-phone Link What changes with sd-phone, and linking a phone to a machine
Security How the server keeps a modified client from doing what a player at the desk could not
Custom Apps Your own programs on the desktop: registering one, the page's API, endpoints, printing, storage, the example app
Client Exports / Server Exports Opening computers from other scripts, verified hacks, System Logs, mail, printing your own pages, the breach event

Compatibility

Layer Supported
Frameworks QBox, QBCore. ESX works for everything except the Business Manager, which hides itself
Target ox_target, qb-target, qtarget
Society funds sd-banking, Renewed-Banking (optional; the Finances tab hides without one)
Phone sd-phone v1.0.7 or newer (optional)

Installation

Download sd-computers.zip from the latest release and unzip it into your resources folder: it is the resource with its UI already built, ready to drop in.

Important

Download the sd-computers.zip asset, not Source code (zip) or the green Code button. Those are the source, without the built UI: the computer would open to a blank screen until you build it yourself.

It needs ox_lib, oxmysql and a target resource (ox_target, qb-target or qtarget). Start it after them, your framework and your banking:

ensure ox_lib
ensure oxmysql
ensure sd-computers

The database tables create themselves on first start. Then add the printed_document item to your inventory (the picture is in docs/items/) and set up your computers: the full guide is Installation in the docs.

Controls

Key What it does
Esc On the lock screen or an empty desktop, stands you up
Ctrl + Esc Opens Start
Alt + F4 Closes the focused window

Start > Power > Shut down stands you up too, with the shutdown screen. Walking away closes the computer.

Building from source

The repository is the source: the built UI (web/build) is not committed, and each release builds it into its zip. To run a clone, or to change the UI, build it with Node.js (LTS):

cd web
npm install
npm run build

A source ZIP unpacks to sd-computers-main: rename the folder to sd-computers, the name its exports are called by. After changing the UI, run npm run build again; the game loads web/build, not the source.

npm run dev opens the whole OS in a browser with mock data (dev PIN 1031). Hashes: #desktop skips the lock screen, #mail / #boss / #logs / #cmd and so on open an app (#ext:wrenchworks opens the example custom app, with the app templates checked out beside this repository), #lib shows a standalone StartHack window, and ?style=retro or ?style=mac switches the look. ?frame=0.2,0.1,0.6,0.78 (left, top, width, height as fractions of the window) lays the desktop out as it sits on a prop's screen. The admin panel is a page of its own: http://localhost:<port>/admin.html shows it with mock computers (placing "runs the gizmo" by hiding the panel for a moment). So is a prop's screen: /screen.html?mode=idle&style=retro is a lock face, and /screen.html?mode=live in a second tab shows a live copy of the OS running in the first. App contracts and UI conventions are in web/FRONTEND.md.

About

SD OS for FiveM: a full desktop on any computer prop or location - mail, System Logs, Command Prompt hacking and a Business Manager

Resources

Stars

17 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages