Free scripts
Admin Blips
Staff see every player on the map, live, labelled with their server ID and character name. Players never see the blips.
Overview#
Admin Blips puts a blip on the map for every player, labelled with their server ID and character name. Only staff see them, and each admin can hide or show them for themselves.
- Live player tracking across the whole map.
- Access from your framework's admin groups, through poggy_core, with an optional list of allowed names on top.
- Your own icon, colour and label format.
- Smooth movement: a player near you is followed every frame at no network cost; a player far away glides between server updates.
- You do not see a blip on top of yourself.
Requirements#
| Needs | Why |
|---|---|
| poggy_core 0.13.0 or newer | Admin groups and character names. Must start first. |
| VORP Core, RSG Core or QBCore RedM | Through poggy_core. |
No database tables and nothing to import.
Installation#
- Download Admin Blips and put the
poggy_admin_blipsfolder in your resources folder. - Add it to
server.cfg, after poggy_core:ensure poggy_core ensure poggy_admin_blips - Restart the server.
- Check the admin groups (see Permissions). The defaults are
adminandsuperadmin.
Configuration#
Every setting can be changed in game: type /poggy and open Admin Blips. You can also edit config.lua by hand. Restart the script after a change.
Who sees the blips
| Setting | Default | What it does |
|---|---|---|
Admin groups (Config.ADMIN_GROUPS) | { "admin", "superadmin" } | Groups whose members see the blips and may use /ahb. Case does not matter. An empty list means nobody sees them. |
Allowed player names (Config.ALLOWED_NAMES) | {} | Optional. When it has names, only these players get blips, and they must also be in an admin group. Exact Steam / RedM display name, case-sensitive. |
Appearance
| Setting | Default | What it does |
|---|---|---|
Blip icon (Config.BLIP_SPRITE) | "blip_ambient_companion" | The map icon for each player. |
Blip colour (Config.BLIP_MODIFIER) | "BLIP_MODIFIER_DEBUG_GREEN" | The colour. Also _RED, _BLUE or _YELLOW. |
Blip style (Config.BLIP_STYLE) | "BLIP_STYLE_ENEMY" | The style the blip is created with. Rarely changed; put it back if blips stop appearing. |
Blip name (Config.BLIP_NAME_FORMAT) | "{id} | {name}" | The label. {id} is the server ID, {name} the character name (the Steam name if no character is loaded). |
Hide my own blip (Config.HIDE_OWN_BLIP) | true | An admin does not see a blip for themselves. |
Method and timing
| Setting | Default | What it does |
|---|---|---|
Blip method (Config.METHOD) | "hybrid" | hybrid: a player in range has the blip attached to them, so it moves every frame at no network cost; a player out of range gets a coordinate blip from the server. coords: every blip is moved by the server. |
Update interval (Config.UPDATE_INTERVAL_MS) | 2000 | How often positions are sent to admins, in milliseconds. With hybrid only out-of-range players use it. With coords, 500 is smoother. |
Glide between updates (Config.GLIDE) | true | An out-of-range blip glides to its next position instead of jumping. |
Test command (Config.TEST_COMMAND) | "abtest" | Name of the staff test command. false removes it. |
Wait after joining (Config.INIT_WAIT_TIME) | 5000 | Milliseconds to wait after a player joins before checking whether they are an admin. Raise it if admins sometimes get no blips until they reconnect. |
Loading player re-check (Config.PENDING_RETRY_INTERVAL) | 5000 | How often players whose character has not loaded yet are checked again, in milliseconds. |
Debug output (Config.DEBUG) | false | Prints every update and admin check to the server console. Very noisy. |
Example
Red blips labelled [1] John Smith, with a moderator group added:
Config.ADMIN_GROUPS = { "admin", "superadmin", "moderator" }
Config.BLIP_MODIFIER = "BLIP_MODIFIER_DEBUG_RED"
Config.BLIP_NAME_FORMAT = "[{id}] {name}" Commands#
| Command | Who | What it does |
|---|---|---|
/ahb | Admins | Shows or hides the player blips on your own map. Blips start visible when you join. |
/abtest status | Admins, server console | Counts the blips attached to a player against those fed by coordinates, the distance of the farthest attached one, and how many updates the server sent in the last minute. The full list prints to your F8 console. |
/abtest hybrid or /abtest coords | Admins, server console | Switches the blip method. |
/abtest rate <ms> | Admins, server console | Sets how often positions are sent. |
/abtest glide on|off | Admins, server console | Glide or jump between updates. |
Changes made with /abtest apply to every admin and last until the script restarts. To keep one, set it in the config.
Permissions#
| To | You need |
|---|---|
| See the blips | A group in Admin groups. If Allowed player names has names, you must be on that list too: a name on its own is not enough. |
Use /ahb and /abtest | A group in Admin groups. /abtest also works from the server console. |
The groups come from your framework through poggy_core (for example admin on VORP). There are no ACE permissions to set.
The check runs a few seconds after a player joins. After changing either list, save and restart the script; admins already online get their blips back a few seconds later.
Troubleshooting#
Blips do not appear
- Turn on Debug output and restart the script.
- Rejoin and read the server console. It shows the groups found for you and whether you were registered as an admin.
- Check your group is in Admin groups.
- If you use Allowed player names, check your name matches exactly, capitals included.
- If no groups are found, your character may load slowly: raise Wait after joining.
- Turn Debug output off again.
Blips move in jumps
Only an out-of-range blip can. Check Glide between updates is on, or lower Update interval (more network traffic). With the coords method every blip moves at that rate.
A player has no blip
Players get a blip only once their character has loaded and they have spawned.
/ahb says I have no permission
Your group is not in Admin groups.
Updating#
Admin Blips updates through poggy_core's updater, which keeps your values in config.lua (see Updates).
From before 1.3.0: the new default is the hybrid method with a 2000 ms update interval. A config without a TEST_COMMAND line gets /abtest. To keep the old behaviour exactly, set Config.METHOD = "coords" and Config.UPDATE_INTERVAL_MS = 500.