Install gg_lib
Install gg_lib, add yourself as an admin and open Script Studio with /ggsettings.
gg_lib is the shared library our newer scripts run on. It connects them to your framework, inventory, target and phone, and gives you Script Studio: the in-game menu, opened with /ggsettings, where you change their settings. Settings are saved in your database, so an update never wipes them.
Which scripts need it
| Script | Resource | Needs |
|---|---|---|
| Speaker System | gg_speakersystem | gg_lib 1.0.18 or newer |
| CoilCab | gg_coilcab | gg_lib 1.0.16 or newer |
| Advanced Taxi Job | gg_taxijob | gg_lib 1.0.16 or newer |
| Weather System | gg_weathersystem | gg_lib 1.0.20 or newer |
Every other GG Studio script (Boosting, Hunting, Towing, Gruppe 6, Bus, Electrician, Garbage, GoPostal, Coin Shop and Casino Wheel Editor) has its own config files and does not use gg_lib. You do not need to install it for them.
1. Download
gg_lib itself needs only oxmysql. Speaker System, CoilCab and Taxi also need ox_lib. Extract each one into your server's resources folder and keep the folder names exactly gg_lib, oxmysql and ox_lib. Skip any you already run.
2. Add it to server.cfg
Add ensure gg_lib anywhere in server.cfg. The order does not matter: every script in the table above lists gg_lib as a dependency, so the server starts gg_lib first and holds the script back until it is up, even when the script's line comes first.
ensure oxmysql
ensure ox_lib
# your framework, inventory, vehicle keys and phone go here
ensure gg_lib
# the GG scripts that run on gg_lib, above or below it
ensure gg_speakersystem_props
ensure gg_speakersystem
Keep your framework, inventory and vehicle keys above the GG scripts, as for any script that uses them. Target scripts can start before or after. The database tables are created the first time gg_lib starts, so there is no SQL to import.
If you restart gg_lib on a running server, every script that uses it stops too. Add this line to server.cfg and gg_lib starts them again on its own. Without it, the console prints the ensure lines to run.
add_ace resource.gg_lib command.ensure allow
3. Add yourself as an admin
Script Studio opens only for admins. You add the first one, the Owner, in gg_lib/server_config.lua.
- Join your server and type
/ggsettings. The You do not have access screen shows your license with a Copy button. - Open
gg_lib/server_config.luaand replace the example line inadminswith your license:
return {
admins = {
"license2:your_license_here",
},
auto_admin = true,
}
- Restart your server and type
/ggsettingsagain.
Important Everyone listed in
adminsis an Owner on your server. Replace the example line that ships in the file. Do not add yours below it.
When gg_lib starts, it saves each license in this list to your database as an Owner, once. From then on the database is what counts: an update that replaces server_config.lua does not lock you out, and someone you remove in Script Studio stays removed after a restart.
Add everyone else in game
Open /ggsettings → Admin Tools → Admins. Pick an online player or paste an identifier, then choose a role:
| Role | Access |
|---|---|
| Owner | Everything, including who else gets in. Only server_config.lua makes Owners. |
| Admin | Every script and every tool, but cannot change who has access. |
| Moderator | Opens Script Studio and reads every setting, but changes nothing. |
Server admins get in on their own
With auto_admin = true, the default, players who are already admins on your server get the Admin role, never Owner. That covers group.admin, group.god, group.superadmin, the QBCore and Qbox admin permissions, and your framework's admin groups. group.mod and group.moderator get Moderator. The console prints a line the first time someone gets in this way.
Set auto_admin = false in server_config.lua to allow only the admins you added yourself.
Give a staff group access in server.cfg
To let a group into Script Studio without making them server admins, give them a gg_lib permission:
add_ace group.support gg.settings allow
add_ace group.helper gg.settings.view allow
gg.settings can change settings. gg.settings.view can look but not change anything. Set ace = false in server_config.lua to ignore both.
4. Change settings
Type /ggsettings and pick a script. Changes apply when you press Save, and settings that need a restart are labelled. The language for every script is under Generic → General → Language.
Update gg_lib
- Keep a copy of
gg_lib/server_config.lua, and ofgg_lib/hooks/server.luaif you wrote anything in it. - Delete the old
gg_libfolder and put the new release in its place. - Put those files back and restart your server.
When a script update needs a newer gg_lib, update gg_lib at the same time. Taxi and Speaker System print a red console line when the installed gg_lib is too old.
Common questions
/ggsettings says you do not have access.
Your license is not in server_config.lua yet, or the server has not restarted since you added it. Follow step 3.
/ggsettings opens blank.
Your gg_lib is older than the script needs. Download the latest release, replace the whole folder and restart.
The console says blocked settings WRITE.
The player who pressed Save is not allowed to change that script. Give them the Admin role in Admins.
A script picked the wrong framework, inventory or phone. Open Dev Tools → Bridges to see what was detected. Select a resource there to force it, and clear the selection to go back to detection. A forced resource that is not running shows in red. The full list is on Supported scripts.
Where did utility.lua go?
Scripts on gg_lib have no config file. Every setting is in /ggsettings.
More guides
| Guide | Covers |
|---|---|
| Script Studio | Search, presets and placing things in the world |
| Bridges | Forcing a framework, inventory, target or dispatch |
| Language | Setting the language and translating it yourself |
| Hooks | Running your own code when a GG script reports something |
| Waypoints | The shared world markers every script draws |
| Daily reset | The clock every script's daily counters share |
| Screenshots | Saving vehicle photos locally or with FiveManage |
| Support bundle | Copying what a support ticket needs in one click |
