How JudoNet works
This page explains what JudoNet is, what problem it solves, and how the pieces fit together. Read it first — the rest of the documentation assumes you know the concepts introduced here.
You do not need a technical background to read this page. Every term is explained the first time it appears, and the Glossary repeats all of them in one place.
What problem does it solve?
At a judo competition, each mat has a scoreboard — the big screen showing the clock, the scores and the competitors' names. Somebody operates it: they introduce the two judoka, start the contest, award scores and penalties, and declare the winner.
Everything that operator does is interesting to somebody else:
- The results system needs to know when each contest started and ended.
- The website and JudoTV need the live clock and score to show spectators.
- CG - JudoGraphics needs the same data to put scores on the broadcast picture.
- The video system needs the timings so it can cut each contest out of the recordings.
- The archive needs all of it kept, so a contest can be looked up months later.
Without something in the middle, each scoreboard would have to talk to all of them separately, and nothing would agree about what happened when.
That is what JudoNet does. It sits on one PC at the venue, connects to every scoreboard on the local network, and takes everything they report. Then it hands that data on — to the online systems, to CG - JudoGraphics, to the video recorders — and keeps a copy of its own.
scoreboard mat 1 ─┐
scoreboard mat 2 ─┤ ┌─► the online platform
scoreboard mat 3 ─┼──► JudoNet ──────────────┼─► CG - JudoGraphics
scoreboard mat 4 ─┤ (one PC at │ ├─► FairReplay Recorder
scoreboard mat … ─┘ the venue) │ └─► its own local database
│
Video CutterV2 asks
JudoNet for contest
timings
JudoNet replaces the older Packet Sender, which is no longer maintained. If you are looking at documentation or a machine that mentions Packet Sender, it is out of date.
Why it is called "packets"
Throughout JudoNet, and throughout this documentation, the unit of data is a packet.
A packet is one snapshot of what a scoreboard is showing at a moment in time: which contest, which screen is displayed, the clock, the scores, the penalties, the competitors' names. The scoreboard sends a new one whenever something changes. A single contest produces hundreds of them.
Everything JudoNet does — storing, sending, broadcasting — it does to packets.
The programs JudoNet works with
| Program | Runs on | Its relationship to JudoNet |
|---|---|---|
| Scoreboard | One PC per mat | Produces the packets. JudoNet connects to each one and listens. |
| JudoManager desktop | The results PC | Holds the draw and the competition. JudoNet asks it which competition is running. |
| CG - JudoGraphics | The graphics PC | Receives live data from JudoNet to put on the broadcast picture. JudoNet's own switches call it just Graphics. |
| FairReplay Recorder | The recording PC(s) | Receives markers and live data from JudoNet, so recordings are tagged with what happened. |
| Video CutterV2 | The cutting PC | Asks JudoNet when each contest started and ended, so it can cut the recordings into clips. |
JudoNet is the only source of contest timings for the Video CutterV2. If JudoNet is not running, or is not storing data, the CutterV2 has nothing to work from and cuts nothing.
Two programs, not one
This is the part that confuses people first, so it is worth being clear.
JudoNet itself is a Windows service. A service is a program with no window that runs quietly in the background. You cannot click on it, and it does not appear on the taskbar.
JudoNet Monitor is a small desktop application that starts and stops that service, and gives you a few buttons. It is what the desktop icon opens.
The JudoNet web page is the actual interface — everything you do with JudoNet, you do in a web browser at http://localhost:5220.
| You want to… | Use |
|---|---|
| Start or stop JudoNet | JudoNet Monitor |
| See what is happening, change settings | The web page |
| Back up and clear the database | JudoNet Monitor |
| Give someone else full access | JudoNet Monitor (copy the token), then the web page |
So a normal day begins in the Monitor — press START SERVICE, press Open In Browser — and continues in the browser.
The master switches
Along the top of the web page sit five switches. They decide what JudoNet does with the packets it receives, and they are the single most important control in the program.
| Switch | What it does when on |
|---|---|
| Store Locally | Keeps every packet in JudoNet's own database on this PC. |
| Store Online | Sends contest times to the online archive, so contests can be looked up later. |
| Display Online | Sends live data to the platform, so the website and JudoTV can show the contest as it happens. |
| Broadcast UDP to Graphics | Sends live data to CG - JudoGraphics for the broadcast picture. |
| Broadcast UDP to FR | Sends markers and live data to the FairReplay Recorders. |
Receiving packets from the scoreboards is not a switch — JudoNet always listens. The switches only control what happens next.
If several JudoNets are running on the same network, only one of them may have Store Online, Display Online, Broadcast UDP to Graphics or Broadcast UDP to FR switched on.
Two JudoNets both sending online means the platform receives everything twice. JudoNet detects this and highlights the conflicting instance in orange on the Live data page, but it cannot stop it — you have to switch the extras off yourself.
A second JudoNet running purely as a backup with only Store Locally on is perfectly safe, and is a sensible precaution.
What the scoreboard tells JudoNet
The scoreboard is always showing something — a competitor's name, the running contest, the winner. Each of these screens has a number, called a display mode:
| Mode | Name | What is on the screen |
|---|---|---|
| 1 | Logos | Sponsor or event logos. |
| 2 | Countdown | A countdown to the start. |
| 3 | White | The white competitor is being introduced. |
| 4 | Blue | The blue competitor is being introduced. |
| 5 | Both Competitors | Both judoka together, with the round of the contest. |
| 6 | Contest | The live scoreboard — clock and scores. |
| 7 | Winner | The winner has been declared. |
| 8 | Pause | The contest is paused. |
| 9 | Category / Round | The category or round. |
| 10 | Team Both | Both teams, in a team event. |
| 11 | Team Winner | The winning team. |
| 12 | Category | The category. |
| 13 | No-Winner | The contest ended with no winner declared. |
| 14 | Team No-Winner | A team tie with no winner. |
| 15 | Doctor Call | A doctor has been called to the mat. |
The bold ones are the six that matter to the rest of the system: JudoNet records the exact moment each of them appeared, and those timestamps are what the Video CutterV2 later uses to find each contest inside the long recordings.
Mode 6 is not hajime. It marks the moment the contest screen with the clock is put on the display. The referee still has to bring the judoka on and call hajime, which usually takes a few more seconds.
Time, and why it matters so much
JudoNet's job is to say when things happened. If its clock is wrong, everything downstream is wrong — contests are archived at the wrong time and the Video CutterV2 cuts the wrong part of the recording.
So JudoNet takes time seriously:
- On startup it sets
time.cloudflare.comas the PC's time server and forces a synchronisation — provided it is running with administrator rights, the PC is not part of a Windows domain, and the internet is reachable. - Every minute it checks itself against trusted time, taking ten samples and discarding the two highest and two lowest before averaging.
- It considers the clock correct while the difference is under 300 milliseconds. Beyond that, the left-hand menu says so and an alert is raised.
The left-hand menu of the web page always shows the current state, in plain words — JudoNet server time is correct, or how many seconds it is ahead or behind.
JudoNet can only fix its own clock. The scoreboards, the JudoManager server and the FR Recorders each have their own, and JudoNet reports on all of them but cannot correct them. Where you see Sync Time! against a machine on the Live data page, somebody has to go and fix that machine.
What JudoNet keeps, and where
Everything JudoNet owns lives in C:\JudoNet:
| What | Where |
|---|---|
| The database of packets | C:\JudoNet\data\db.sqlite |
| Database backups | C:\JudoNet\data\backup\ |
| Settings | C:\JudoNet\settings.json |
| The access token | C:\JudoNet\authtoken.json |
| Log files | C:\JudoNet\logs\ |
The database grows as the competition runs. It is meant to hold one competition at a time — see backing up and clearing.
How other machines find JudoNet
Nothing at a venue is configured with addresses by hand. Everything announces itself over the local network and everything else listens.
| Who announces | How | Who listens |
|---|---|---|
| JudoNet | UDP broadcast on port 8888, saying "I am JUDONET" and which competition is loaded | The Video CutterV2, other JudoNets |
| Scoreboards and JudoManager servers | UDP on port 8888 | JudoNet |
| FairReplay Recorders | UDP multicast group 239.225.89.212, port 18918 | JudoNet, the Video CutterV2 |
Once JudoNet has found a scoreboard, it connects to it properly — a WebSocket on the port the scoreboard announces, 855 by default — and that connection is what carries the packets.
All of this depends on broadcast and multicast traffic working on the venue network. Many managed switches and most guest Wi-Fi networks block it. If devices are powered on and reachable but never appear in JudoNet, this is almost always why.
What JudoNet does not do
Being clear about the boundaries saves time when something goes wrong:
- It does not run the scoreboard. The operator on each mat does that. JudoNet only listens.
- It does not decide the result of a contest. It records what the scoreboard showed.
- It does not record video. That is the FairReplay Recorder.
- It does not cut video. That is the Video CutterV2.
- It does not upload video. That is the Video Ingester.
- It cannot correct another machine's clock — only report on it.
- It does not start by itself. The service is set to start on demand, so after a PC restart somebody must open JudoNet Monitor and press START SERVICE.
Where to go next
- Installation and setup — getting JudoNet onto a PC.
- JudoNet Monitor — starting the service, backups, access tokens.
- Using JudoNet — the day-to-day walkthrough.
- Live data — the main screen, explained.
- Troubleshooting — when it does not do what you expect.