Skip to content

VIP

bs_vip. One rule and I don’t move on it: VIP never gives a gameplay advantage. No damage, armour, speed, loot, XP, money, storage, queue priority or teleports. Cosmetics and small conveniences only. If you want to sell power, this isn’t the resource for it.

bs_vip/config/config_vip.lua, Vip.Tiers:

LevelidLabel
1supporterSupporter
2patronPatron
3legendLegend

Each perk in Vip.Perks has a minTier. Some of them:

  • Tier 1: name tag style, chat badge and name colour, custom plate, health bar / hit marker colours
  • Tier 2: squad blip and HUD colour, +10 emote favourites, +5 wardrobe outfits and 15% tailor discount, stash marker skin and rename
  • Tier 3: VIP emotes and walk, drone/turret skins, one free face/hair change a month, +1 character slot

Colours are limited to Vip.Palette plus the tier colours. Plates are 1-8 chars, A-Z 0-9 and spaces, must be unique and pass Vip.Plate.blocklist.

If a tier runs out, the player’s choices stay saved but stop applying.

F7 opens the VIP panel. Players without VIP can open it too, for the combat feedback settings and appearance tickets.

/grantvip <id|license:..> <supporter|patron|legend|1-3> [days] -- bs.superadmin or console. 0 / no days = never expires
/revokevip <id|license:..>
/grantappearance <id|license:..> [count] -- bs.admin or bs.superadmin
/vip -- your status
/vipchat -- hide/show VIP chat styles for yourself

Off by default, server/sv_tebex.lua.

  1. Vip.Tebex.enabled = true
  2. In your Tebex package add the game server command:
    tebex_grant {license} patron 30
    It only runs from the console. Tier can be a name, 1-3, or a package id mapped in Vip.Tebex.packages.
  3. Optional HTTP relay: POST /bs_vip/tebex with header X-BS-Secret set to the convar bs_vip_tebex_secret. While that convar is empty every request is refused.

Migration 025_vip_perks.sql, bs_vip also creates its tables on start: bs_vip_prefs, bs_vip_appearance, bs_vip_members, bs_vip_unlocks.