W odbieraniu nie używaj buffer_seek
(^ rozwiązanie problemu, reszta postu to moje pieprzenie)
Buffer automatycznie jest odczytywany od startu a wartości odczytanę są usuwane.
Dlatego też, np. jeżeli danych z bufera potrzebujesz kilka razy użyć zapisuj je do zmiennych.
@semi-offtop
polecam zamiast
GML
var buffer = ds_map_find_value( async_load, "buffer" );
ReceivedPacket( buffer );
robić po prostu
GML
ReceivedPacket(async_load[? "buffer"]);
Accesory to użyteczna magia