Browse docs

Beginner Guide

A practical first-read guide for new FiveM server owners using Sky-Systems resources.

This guide explains the basics we expect every server owner or developer to know before editing Sky-Systems resources. It is written for beginners, so start here if you are not sure how configs, resources, server logs, or support reports work.

What You Should Know First

A FiveM server is built from resources. A resource is a folder with an fxmanifest.lua file inside it. Sky-Systems scripts are resources too, for example sky_base, sky_jobs_base, sky_ambulancejob, sky_policejob, or sky_mechanicjob.

Your server starts resources from server.cfg using ensure lines:

server.cfg
ensure sky_base
ensure sky_jobs_base
ensure sky_ambulancejob

The order matters. Shared dependencies must start before scripts that use them.

Each Sky-Systems resource must stay in its own folder with its own fxmanifest.lua.

You may organize resources inside a category folder. Category folders must use square brackets, for example [sky_scripts]. The folders inside it are still the real resources.

Do not start the whole category folder for Sky-Systems resources. When you use ensure [sky_scripts], FiveM starts the resources inside that folder alphabetically. That can break the required dependency order, because sky_base must start before sky_jobs_base, and both must start before the job resources.

Wrong:

resources/
  [sky_scripts]/
    sky_ambulancejob/
      fxmanifest.lua
    sky_base/
      fxmanifest.lua
    sky_jobs_base/
      fxmanifest.lua
server.cfg
ensure [sky_scripts]

This starts resources alphabetically instead of in the order your scripts need.

Correct:

resources/
  [sky_scripts]/
    sky_base/
      fxmanifest.lua
    sky_jobs_base/
      fxmanifest.lua
    sky_ambulancejob/
      fxmanifest.lua
server.cfg
ensure sky_base
ensure sky_jobs_base
ensure sky_ambulancejob

Use category folders only to keep your resources folder clean. Start the actual resources one by one in server.cfg so the order is clear.

Use this general order for Sky-Systems job scripts:

server.cfg
ensure oxmysql
ensure your_framework
ensure your_inventory
ensure your_target

ensure sky_base
ensure sky_jobs_base

ensure sky_ambulancejob
ensure sky_policejob
ensure sky_mechanicjob

Replace your_framework, your_inventory, and your_target with the resources your server actually uses.

Important Rules

  • Do not rename Sky-Systems resource folders. The resource name is used by exports, events, NUI callbacks, and escrow.
  • Do not edit files inside protected escrow code. Use the files in config/ unless documentation says otherwise.
  • Always restart the resource after editing a config file.
  • Always read the server console after a restart. Most config mistakes are printed there.
  • Stop old conflicting resources when replacing them with a Sky-Systems resource.

Common Conflicts

If you install a Sky-Systems replacement for an existing job system, do not run both systems at the same time.

Examples:

server.cfg
# Stop these if you use sky_ambulancejob
# ensure esx_ambulancejob
# ensure qb-ambulancejob
# ensure qbx_medical
# ensure qbx-ambulancejob

ensure sky_ambulancejob

Two resources controlling the same death, revive, garage, duty, or job logic can create bugs that look random but are caused by duplicate systems.

Where To Go Next