Sync rpc calling in multiplayer

Godot Version



I’m making multiplayer system with syncing rpc calling.
I want to know if there is any way better than Engine.time_scale, Engine.physics_ticks_every_second.
And in my solution, it always ran faster than server even cant stop

My current solution:

var started

@rpc("authority", "call_remote", "reliable")
func start():
    Engine.time_scale = 1000
    Engine.physics_ticks_every_second = 60000

@rpc("authority", "call_remote", "reliable")
func stop():
    Engine.time_scale = 1
    Engine.physics_ticks_every_second = 60

func _process(delta):
    if started: # report progress, if reached call stop

func _physics_process(delta):
    if started: # count time, run sync queues received from server

What is this? I can’t seem to find it in the docs.

Those values look insane for the time scale too. If the standard delta is .016 s for 60 fps. A 1000 time scale is 16 s per delta.

I’m also not sure what you are trying to achieve here either.