Support Sailonline

If you haven't already - join the SAILONLINE YACHT CLUB!

Please also consider making a donation - all amounts are greatly appreciated!

Board » Technical Discussion » When is my command executed?

warning: I'll explain how serverjumps, commands and the client refresh rate work, but it's complicated and I cannot tell you yet how to take advantage of this knowledge (when rounding a mark for example)

Most of you know about server jumps. For rounding a mark, it's important to turn as early as possible, but absolutely not too early. This is made difficult by the server jumps, and client refresh rate, you rarely see your boat where it actually is. What you see is running a couple of seconds behind, in rare cases it could reach up to about 45 seconds.

So what is exactly happening. It's more than just the server jumps and the client update rate, but let's start with them anyway:

The server continuously checks all boats. For every boat that has not been moved by the server for at least 10 seconds, the server updates its position. This means, your boat will move every 10-12 seconds (when it's busy, it may take 2 seconds before the server notices it hasn't moved your boat yet).

When you haven't issued a command in the last 15 minutes or so, the server may skip you once or twice, and then do one big jump to catch up. This unloads the server a bit from boats that aren't actively steered.

useful tip: send a command 5-10 minutes before rounding a mark (setting a delayed command for 5-10 minutes before the mark also works). It'll make sure the server jumps for your boat are short when you reach the mark.

For the rest of this post, let's assume server jumps of 11 seconds: your boat is moved by the server every 11 seconds. I'm also assuming you have a fast internet connection.

The client polls the server every 15 seconds (roughly). Let's see what can happen with an example:
12:00:00 (jump) server moves your boat
12:00:00 (poll) client polls boat position, you see your boat at its current position (barely any delay!)
12:00:11 (jump)
12:00:15 (poll) your boat moves from its 12:00:00 position to its 12:00:11 position (running 4 second behind)
12:00:22 (jump)
12:00:30 (poll) your boat moves from its 12:00:11 position (19 seconds behind) to its 12:00:22 position (8 seconds behind).
12:00:33 (jump)
12:00:44 (jump)
12:00:45 (poll) your boat moves from its 12:00:22 position (23 seconds behind) to its 12:00:44 position (1 second behind). Note: the 12:00:33 position is not shown, it looks like you made one large jump.

A better understanding of how this works may not easily transfer into being able to steer your boat better. One useful tip is: when you see your boat make a large jump, you know two server jumps happened in the last 15 seconds, meaning the last jump happened less then 4 seconds ago. If you see a short jump, you know only 1 server jump happened in the last 15 seconds, meaning the last jump happened between 4 and 11 seconds ago.

Commands are executed independently from serverjumps. What does this mean? You might have seen your command execute at the start of a new server jump, or at the end. Both can happen. A command will never execute in the middle of a serverjump. All commands due to be executed (of every boat, in every race) are executed in one go, with 4 or 5 seconds between each go. So your command will generally be executed within 5 seconds after the time you set the command for. BUT your boat may still be at a position from 11 seconds ago. This means, your command will have an effect 11 seconds earlier than it was set to execute.

So now there are three things with an interval: the client polls ever 15 seconds, the server moves boats every 11 seconds and turns boats every 4 or 5 seconds. This is complicated, I can't tell you yet how to take advantage of this knowledge.
Up to now I've done one of two things for markroundings:
- wait until the client shows me clear to round, then send the command.
- when I expect a double jump to happen until the next client refresh, and I only need one more jump, I count, to 10. But 11 is probably safer.

Now I've researched how commands work, I might come up with a method that results in better roundings, without the risk of missing the mark. That will be something I'll post on solfans
One advantage I take of your very informative explanation is: Don’t tack (gybe) too short for rounding a waypoint/buoy. To set a tack command in advance may have the effect to round too early. Seems to be better to wait for the visible pass by of the waypoint – then tack or gybe or set new course.
(Apologies for bad english).
This is why roundings are missed even though DC Checker shows the mark as clear. DC Checker assumes that the DC is going to fire exactly at that time with no uncertainty. That is not the case in reality.

Please login to post a reply.


Next Race: 00d 00h 00m

Current Races:

Galveston to Galway 2022
For the second time, we will be able to test our navigational skills in this massive ocean race across the Gulf of Mexico and the Atlantic Ocean! You can navigate the 4980 NM to Galway, Ireland in any direction, of course within the designated race boundary area. Your only task is to reach the finish line in the best place, preferably at the highest podium. Prepare your C2R 74 well for the race and take advantage of all its opportunities. Good luck!
Race #1592
INFO by brainaid.de
WX Updates:
0430 / 1030 / 1630 / 2230
Race starts: Jul 09th 18:00 Registration Open!

▶ Flash

Sines to Bermuda 2022
Another race with the finish line in Bermuda. This time we will start from Sines in Portugal. There is 3213nm ahead of us across the Atlantic Ocean. Previously, this race was one of the stages of the Rendez-Vous 2017 Tall Ships Regatta. This time we will use this route in the race played as part of the SOL All Round Championships and we will use our Orange 125 fast catamarans to cover it. We invite you to participate.
Race #1591
INFO by brainaid.de
WX Updates:
0430 / 1030 / 1630 / 2230
Race starts: Jul 04th 04:00 Registration Open!

▶ Flash

PIC Insurance 2022 - Race 1
Welcome to Auckland, New Zealand! Sailonline is happy to provide our SOLers with the virtual version of the brilliant three-race SSANZ two-handed series which will be sponsored by PIC Insurance Brokers this year. We will be racing around the beautiful waters of the Hauraki Gulf off New Zealand’s North Island. Our first race of the Series is a 50-miler out to Motuora Island and back. Our direct competitors as always in our Young 88s will be the real racers of the Young 88 Association who will be participating in the Railblaza fleet in the real life race!
Race #1598
INFO by brainaid.de
WX Updates:
0430 / 1030 / 1630 / 2230
RACE CLOSE: Wednesday,
July 6 at 2300 UTC.
Race starts: Jul 01st 21:15 Registration Closed

▶ Flash

Geraldton to Cape Town 2022
A race in the Southern Indian Ocean is always entertaining, especially in a Riptide 50. Traditionally the course would be West to East, to take advantage of the prevailing winds, but this time the SRC is challenging us to an E-W course, from Geraldton in Western Australia to Cape Town in South Africa. A brief 4800nm!
Race #1575
INFO by brainaid.de
WX Updates:
0430 / 1030 / 1630 / 2230
RACE CLOSE: Thursday,
July 14 at 2300 UTC.
Race starts: Jun 12th 05:00 Registration Closed

▶ Flash

Go to race archive

SYC Ranking

  1. Sailonline Yacht Club Member WRmirekd
  2. Sailonline Yacht Club Member rafa
  3. Sailonline Yacht Club Member Pit8008
  4. Sailonline Yacht Club Member GREATSKUA
  5. Sailonline Yacht Club Member FreyjaUSA
  6. Sailonline Yacht Club Member Sax747
  7. Sailonline Yacht Club Member Satori
  8. Sailonline Yacht Club Member HappyHour
  9. Sailonline Yacht Club Member Vida_Maldita
  10. Sailonline Yacht Club Member TarassBoulba

View full list


Mobile Client

SYC members have the benefit of access to our mobile/lightweight web client!

The mobile client