Check if RPC was received or acknowledged by the client

I’ve looked through the questions on RPCs and scanned the documentation but couldn’t find an answer to my question.

According to the documentation, RPCs are guaranteed to be delivered and in order. This obviously means that the sender of the RPC must get some kind of acknowledgement message back from the guest/client. Is it possible to check and see if an RPC has been acknowledged?

The purpose is to know all clients have acknowledged the message before proceeding with play, in real-time. As a workaround, right now I’m replying to RPCs with another “Acknowledge” RPC. I don’t like this since it doubles the number of RPC calls that must be made.

It is not possible to check if some message was ACKd. However, if there is no ACK for anything sent reliably (like RPCs), then the connection will time out.

The timeout is several seconds, so that’s not really of help immediately.

If you send updates regularly, each client could send regularly what the max (lock)step it got so far. Let’s say a client got 1, 2, 4, it should include the two in updates. The step 3 will show up in a moment or someone will time out because the client does not get messages anymore.