Pulse Phone docs

Administration

9. Admin and testing commands

Give your admins the ace first:

server.cfg
add_ace group.admin phone.admin allow
add_principal identifier.license:YOUR_LICENSE group.admin

Run these in the server console, or in game (F8 or chat) with the ace. phone:health prints to the server console, and phonecarphotos runs in game only. <id|number> is an online server ID or any phone number.

Command What it does
phone:health Prints the start-up check again.
phone:diag Lists every script the phone considered and why it used or skipped each one.
phone:setup In game: takes the phone out on Settings > Server > Setup Assistant.
phone:set <key> [value] Changes a setting without opening a file, e.g. phone:set Store.phonePrice 1500. With no value it shows the setting, its default and whether it was changed.
phone:reset <key\|all> Puts one setting, or every setting, back to the config/ files.
phone:alert <extreme\|severe\|advisory> <title> \| <message> Console only: sends an emergency alert to every phone.
phone:inspect <id\|number> A summary of one phone: number, mail, created, setup, passcode.
phone:resetpin <id\|number> Removes a forgotten passcode and Face Unlock.
phone:number <id\|number> <newnumber> Gives a phone a new, unused number that fits Config.Numbers.format. Everything the phone owns moves with it in one step; if any part fails, nothing changes. The old number is never issued again. Refused with unique phones (the number is on the item). phone:setnumber is the same command. A player typing phone:number alone sees their own number.
phone:wipe <id\|number> confirm Erases a phone's own data and resets it. Without confirm it only says what it would erase.
phonefactoryreset [id] Resets a player's phone to setup. Also allowed with the ace command.phonefactoryreset.
phone:new <id> Console only: gives the player a brand new phone record.
phone:battery <id> <0-100> Sets a player's battery.
phone:damage <id> <crack\|shatter\|water\|repair\|clear> Cracks, shatters, soaks or repairs the phone in a player's hand; clear also takes off everything fitted.
phone:retention [now] Runs data retention now and prints what it removed (now while retention is off).
phone:zone ... Dead zones and repeaters (section 8, Dead zones).
phone:ownermedia Checks your own ringtones, tones and wallpapers again.
phone:musiclibrary Reads ownermedia/music/ again and prints what the Server Library holds.
markets:shock, markets:halt Market events and trading halts in the Markets app.
phone_api Console: prints the add-on API.
phone:wifi list Lists every placed router: id, name, position, routing bucket, state, devices on it, owner.
phone:wifi remove <id> Removes a router. The item is not given back to its owner.
phone:wifi tp <id> Teleports you to a router (in game).
phone:burner list Lists every burner: number, live or destroyed, item or per character.
phone:burner owner <number> Who first switched a burner on (for staff; never shown in game).
phone:taps list Lists active police taps: number, officer, intercepts, time left, reason.
phone:taps end <id> Ends a tap.
phonecarphotos Photographs every car model for the Garage app (needs screenshot-basic).

Standalone only

Testing on a standalone server. These only work with no framework, where the phone keeps its own jobs, money, cars and homes. [id] defaults to yourself.

Command What it does
phonejobs Lists the jobs and grades. The top grade of each is the boss.
phonesetjob <job> <grade> [id] Sets a job. phonesetjob unemployed 0 clears it.
phoneduty [id] Toggles duty.
phonegivemoney <amount> [id] Adds bank money. society:<job> in place of the id funds a company.
phonegivecar <model> [plate] [id] Adds a car to the phone's garage.
phonestorecar [id] Puts the phone-garage car you are sitting in back in the garage.
phonegivehouse [label] [id] Gives a home where the player stands.

Every phone:inspect, phone:resetpin, phone:wipe and phone:number is written to the security log and the activity log. A player without the ace gets no answer, and the attempt is logged.

A walk-through that touches every system:

  1. phonesetjob police 4 makes you police chief: Services shows Your Company with staff, hiring, grades and the company account. Dial 911 from a second player and choose Police: your phone rings.
  2. phonegivemoney 5000, then pay someone from Wallet or in Messages, or deposit into the company account from Services.
  3. phonegivecar adder, then Garage > the car > Valet: it is brought to you and the valet fee is taken. Drive it, then phonestorecar.
  4. phonegivehouse Beach House, then Home: waypoint, lock and unlock, give a key to another player's number.

On a standalone server, jobs, cars, homes and money are kept in the phone's own tables, so they survive a restart. Add your own jobs in Config.Standalone.jobs; a job shows in Services only if a Config.Services company lists it.

Settings > Server: the guided setup and in-game settings

An admin (ace phone.admin) sees Settings > Server on their phone. Nobody else does, and the server checks the admin right again on every request.

  • Health Check is the start-up check, section by section: framework, database, the scripts it connected, every feature on or off, items present or missing, and the interface files. A numbered What to do list and the text to paste (with Copy) are at the bottom.
  • Setup Assistant (phone:setup in F8) walks you through it: what was found, the items, which features are on, store prices and which jobs get the job-only apps.
  • Configuration has most settings from the config/ files, group by group, with a check on every value (a price can't be negative, a job name can't have spaces, and so on).
  • Change History lists every change with who made it and when.

Which value wins. The config/ files are the defaults. A value changed in game is saved on the server (the phone_settings table) and wins over the file until you press Reset to Default on it, or Reset Everything. Editing the file does not undo a value changed in game. Settings marked Restart needed are saved at once and used from the next time the phone starts (ensure phone in the console, or a server restart). Everything else applies at once. To switch in-game changes off entirely, set Config.OwnerTools.enabled = false in config/apps.lua: saved values are then ignored but not deleted.

The update notice

At start the phone reads one small file from zerodevscripts.com. When a newer Pulse Phone is out, the console says Update available with what is new, the start-up check has an Update line, and Settings > Server shows it. Nothing about your server is sent. With no internet or the site down, the phone waits a few seconds and carries on without a word. To switch it off, set Config.UpdateCheck.enabled = false in config/apps.lua.

Department stores: moving them into your MLO

The police quartermaster and the medical supply room (config/apps.lua) are where officers and medics draw their Pulse Tablets, and printer paper when paper.required is on. They ship at the Mission Row front desk and outside Pillbox Hill. To put one inside your own police station or hospital, with no code to change:

  1. Join as an admin (ace phone.admin) and stand where the counter should be, facing the way the clerk should face.
  2. Type /deptstorepos. A ready line such as coords = vec4(452.61, -983.12, 30.69, 88.4), is printed in F8 and in the server console.
  3. Paste it over that location's coords in config/apps.lua and restart the resource.

A store can have several locations. Jobs, minimum grade, duty, prices (0 = free issue), whether the department's company account pays, per-player limits and stock are set per store and item in the same file, and all of them are checked on the server.

Before you open purchases

Before opening purchases, test a store purchase, unboxing, model/finish change, held prop, call, charging and reconnect on your server. Run phone:health and phone:diag in the server console. Custom integrations require the documented bridge; support for a framework does not automatically make every third-party resource compatible.