Skip to main content

Live scoring with ShotMarker

This section explains how to score an event live, straight from your ShotMarker electronic targets, so results update on TargetScore as the shots land.

Export first

Live scoring builds on the ShotMarker export: the access point needs your matches, competitors and squadding before the first shot. If you have not done that yet, start with Export to Shot Marker.

Overview​

A small program called the bridge runs on a laptop or Raspberry Pi on the range. It listens to the ShotMarker access point and relays every message to TargetScore, which:

  1. Scores each shot on the target face the access point reports.
  2. Attributes it to one of your entries — from the competitor ShotMarker shows on the target, else from your squadding (the active match and relay), else from an override you set in the console.
  3. Writes the string into the event's results, exactly as Enter Scores or an import would.
  4. Pushes the update to every open results page, and to your Live scoring console.

The public results page shows a red Live pill while a session is running. Rankings re-run on every shot, so the leaderboard is always current.


What you need​

  • A laptop or Raspberry Pi that can be on the ShotMarker WiFi and reach the internet at the same time — usually the ShotMarker network on WiFi and the internet through an Ethernet cable, a phone hotspot or a second WiFi adapter. The bridge needs both: one side to hear the access point, the other to reach TargetScore.
  • Node.js on that computer (the bridge is started with npx).
  • A bridge key for your club (below).
  • The ShotMarker access point with Match Mode on and your TargetScore export imported.

Steps​

Step 1. Export to ShotMarker​

Export your matches, competitors and squadding as described in Export to Shot Marker, then import the file on the access point (TargetScore: Import). This matters more for live scoring than for a file import: the export carries TargetScore's own ids, so a shooter the access point shows on a target is attributed with no mapping at all.

Step 2. Create a bridge key​

Go to Club → Range bridge keys (club owners and managers only) and click Create key. Give it a name you will recognise — the laptop or Pi it will run on — and copy the key that appears.

Shown once

The key is shown once, right after it is created. It cannot be looked up later; if you lose it, revoke it and create another.

The same dialog shows the command to start the bridge, ready to copy.

Step 3. Start live scoring on the event​

Open the event and click the Live scoring tile. Read the short checklist and click Start live scoring. The console opens with the status pill at the top and Waiting for the bridge… until the bridge connects.

Step 4. Run the bridge​

On the computer on the ShotMarker WiFi, run the command from Step 2:

npx @targetscore/bridge@latest --key <your key> --event <event slug>

The event slug is the last part of the event's TargetScore address (for example spring-open in targetscore.com/spring-open). Within a few seconds the console shows Bridge connected, the time of the last message and the targets the access point reports.

Leave the bridge running for the whole session. If it drops out (the laptop sleeps, the WiFi blinks), just start it again: it picks up where it left off.


What the console shows​

  • Status pill and controls — Live / Paused, with Pause, Resume and End.
  • Bridge — connected or waiting, the time of the last message and its sequence number. A long-stale last message while shooting is on means the bridge or the WiFi has gone.
  • Active match and relay — only when the access point's event mode is off. Then nothing on the range says which match a string belongs to, so pick the match and the relay here; the squadding of that match and relay decides who is on each target.
  • ShotMarker shooters / matches — every competitor and match the access point knows, with a picker to point any it cannot match (a shooter added on the access point, a renamed match) at an entry or a match. Rows that still need a decision are highlighted. Each choice is saved as you make it.
  • Targets — one card per target: its name, the target face code (with a Face not supported badge when TargetScore cannot score that face — the shots are kept, not scored), and for each firing position the entry it is attributed to, where that came from (ShotMarker, Squadding or Override), the string so far as pills with sighters greyed out, and a count of shots that found nobody.

Overrides​

Sometimes the range and the plan disagree: a shooter moves to a spare target, two people swap positions, a walk-on has no squadding at all. Each firing position on each target card has a picker. Choosing a name there overrides every other rule for that position — the access point's shooter and the squadding are ignored until you set it back to Automatic.

An override re-attributes the position's whole string, including the shots already on it. Shots that found nobody are counted on the card and written as soon as a name is set, so nothing is lost while you decide.


Pause and end​

  • Pause keeps the session but ignores shots until you Resume — useful for a protest, a stuck target or a break. The public page shows Paused.
  • End closes the session. Shots relayed after that are ignored; everything already written stays in the results, where you can edit it in Enter Scores like any other score. Starting live scoring again opens a fresh session.
Official results

If the event's results are already official, the console says so: live scores go into the working copy and reach the public only when you republish from the results page.


Frequently Asked Questions​

A shooter's shots are landing on the wrong name​

Check the source badge beside the name. ShotMarker means the access point shows that competitor on the target — fix it there or set an override. Squadding means the active match / relay and your squadding put that entry on the target — check the relay picked in the console, or set an override.

The console says "Waiting for the bridge…"​

The bridge has not connected yet. Make sure it is running, that it was started with a key that is not revoked and with this event's slug, and that the computer reaches the internet while on the ShotMarker WiFi.

Can I still import the ShotMarker file afterwards?​

Yes. An import writes the strings it carries over whatever is stored, live or not, so use it only if you want the ShotMarker file to be the final word.


Support​

Need a walkthrough? Reach out to us at support@targetscore.com or schedule a call.