Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(1 edit)

Steam networking is state-less so you can continuously send a packet until the player confirms that they have received it.

Also see if you are calling update function at least every few frames and how are you detecting the timeouts (as, again, Steam API itself has no concept of a timeout).

Thanks for the response!

In your documentation, it says that steam_net_packet_send returns whether the packet was sent successfully or not. So could I just convert your packet_send_all script into a loop that sends the packet until it returns true (or until it fails X number of times)? 

I also noticed in your documentation that steam_net_packet_type_unreliable parameter says it "will not be resent automatically". Does that imply that the other three types are already re-sending automatically until they return true?

I am calling steam_net_update in a step event which doesn't have any exits or breaks, so it's definitely getting called. The only way I'm detecting timeouts is through your chat system (I'm still very new at networking stuff).

(+1)

The packet being sent successfully is not an indication of it being received, as it returns instantly. Rather it indicates that you have the ID right and can send as such.

The best source for expected behaviour would be the official documentation. I think as of writing my doc, that version was not yet live, so my doc notes are based on whatever was mentioned in the source code for the example/headers.

"Reliable" packet types should be resent automatically and delivered in order they are sent in.

You should send a "ping" packet now and then and detect timeout if the player doesn't respond for X seconds.