Skip to content

Usage

How to Play

Starting a match

  • Approach a dartboard - using a target system interaction prompt will appear.
  • Choose Create Lobby and optionally set a cash wager.
  • A nearby player approaches the same board and requests to join your lobby.
  • As the lobby owner, accept or decline the join request.
  • Once the opponent is in the lobby, the owner starts the game.

Taking a turn

  • Aim at the dartboard and press LMB to throw.
  • Each turn consists of 3 darts.
  • After all 3 darts are thrown the turn passes to the opponent automatically.

Winning

The first player to bring their score to exactly 0 wins - but the final dart must land on a double segment. Failing to hit a double on the finishing throw busts the turn.

Bust rules

A turn is busted (no score change, turn passes) if:

  • The thrown score would bring the total below 0
  • The thrown score would bring the total to exactly 1
  • The total reaches 0 but the finishing dart was not a double

Spectating

Other players standing near the board can select Spectate to watch an active match. Scores and each thrown dart are synced in real time.

Wagers

  • Both players must have enough cash to cover the wager before the game starts.
  • The full wager is collected at game start and paid out to the winner.
  • If a player forfeits mid-match, the opponent receives the full wager.
  • If a player disconnects, the opponent also receives the full wager.
  • If both players cancel the game before completion (no forfeit), the wager is refunded.

Boards

Dartboards are managed entirely in-game by admins. All boards are stored in the database and loaded automatically on startup - no config edits or restarts are needed.

Placing a dartboard

CommandPermissionDescription
/placedartboardgroup.adminEnter placement mode to position a dartboard in the world
  1. Run /placedartboard.
  2. A preview prop appears and follows your cursor. Move it to the desired surface.
  3. Press LMB to confirm placement, or ESC to cancel.
  4. The board is saved to the database and spawned for all online players immediately.

The command name and required permission can be changed in editable/sv_config.lua.

Removing a dartboard

Admins see an additional Remove Dartboard (Admin) option in the target menu when looking at any placed dartboard. Selecting it removes the board from the database and despawns it for all online players immediately.

Configuration

editable/cl_config.lua

OptionDefaultDescription
Config.DartboardModelprop_dart_bd_cab_01Prop model used for the dartboard
Config.DartboardModelName"prop_dart_bd_cab_01"String name of the prop model (must match above)
Config.DartboardsRenderDistance50.0Distance at which dartboard props are streamed in
Config.Keybinds.ThrowDarts142 (LMB)Control ID for throwing a dart
Config.Keybinds.ConfirmPlaceDartboard24 (LMB)Control ID for confirming placement
Config.Keybinds.CancelPlaceDartboard200 (ESC)Control ID for cancelling placement

editable/sv_config.lua

OptionDefaultDescription
Config.LogWebhookURL""Discord webhook URL for logging wager events and dartboard placement/removal (leave empty to disable)
Config.PlaceDartboardCommandName"placedartboard"Name of the admin placement command
Config.PlaceDartboardCommandRestriction"group.admin"Ace permission required to use the command