Retour aux guides
Guide5 min read

Installing a phone script on ESX

ESX servers run more third-party resources than any other framework. Which ones a phone has to support, the one item ESX does not ship, and the start order that avoids a broken first boot.

Par GKSHOP Team/Dernière mise à jour

Installing a phone script on ESX cover image

ESX has been around longest, and an ESX server is rarely just es_extended: it is es_extended plus a banking script, a garage script, a housing script and an inventory, often from four different authors. A phone that "supports ESX" but none of those leaves you writing the glue yourself.

What an ESX phone has to read from

SystemESX defaultAlso supported
InventoryESX's ownox_inventory, qs-inventory, tgiann-inventory, codem-inventory, core_inventory
Bankingesx_societyokokBanking, Renewed-Banking, fd_banking, ps-banking
Garageesx_garagejg-advancedgarages, cd_garage, loaf_garage, qs-advancedgarages
Housingesx_propertyloaf_housing, bcs_housing, vms_housing, qs-housing, rtx_housing
Licencesesx_licensebcs_licensemanager, cs_license, qs-licenses
Voicepma-voicemumble-voip, saltychat, yaca-voice
Resources GKSPHONE detects on an ESX server

All of these default to "auto" in gksphone/config/config.lua, as does Config.Framework, which picks ESX whenever es_extended is started. The ESX default inventory is used automatically when no separate inventory resource is running.

The one item ESX does not ship

GKSPHONE uses two items: phone opens the Android theme and iphone opens iOS. ESX already has a phone item, so on the default inventory the only addition is a row for the iPhone: INSERT INTO `items` (`name`, `label`) VALUES ('iphone', 'iPhone'); — on ox_inventory or another inventory, add both in that inventory's own format. If you would rather not gate the phone behind an item, set Config.ItemRequire = false.

Installing on ESX, step by step

  • Extract the download into a [phone] folder in resources.
  • Add the iphone item (and phone, if your inventory does not have one).
  • Leave Config.DatabaseAutoSetup = true so the phone builds its own tables, and import gks-tablet/install.sql for the tablet.
  • Add your media upload tokens to gksphone/config/serverconfig.lua, or the camera will not produce photos.
  • In server.cfg, start oxmysql and es_extended first, then voice, inventory, banking, housing and garages, and ensure [phone] last.

Before you buy any ESX phone

  • Is your banking script supported by name, or only esx_society?
  • Does the Garage app read your garage script, including impounded vehicles?
  • Can you open the framework adapter and change it if your ESX version differs? In GKSPHONE, client/, server/ and config/ are outside the escrow.
  • Does it need anything besides oxmysql? Every extra dependency is one more resource to keep in step on updates.

Questions fréquentes

Which ESX versions does GKSPHONE support?

It detects es_extended at start and talks to it through server/framework/esx.lua, which is outside the escrow. If your ESX build differs, you can adjust that file directly.

Do I have to import an SQL file for the phone?

No. With Config.DatabaseAutoSetup = true the phone creates its tables on first start. The tablet is the exception: import gks-tablet/install.sql by hand.

Does it work with okokBanking on ESX?

Yes. okokBanking is detected automatically, alongside esx_society, Renewed-Banking, fd_banking and ps-banking.