Why don't you just send/receive the raw user input over the network, ie pushing the joystick up, pressing the fire button. This is much simpler data than
a) receive the input
b) interpret the input and turn it into internal meaningfulness
c) encode meaningfulness into the packet
d) send it over the network
e) receive it from the network
f) decode it to something meaningful and interpret
It could just be
a) receive input
b) send input over network
c) receive input from network
d) process it the same as for local input
a) receive the input
b) interpret the input and turn it into internal meaningfulness
c) encode meaningfulness into the packet
d) send it over the network
e) receive it from the network
f) decode it to something meaningful and interpret
It could just be
a) receive input
b) send input over network
c) receive input from network
d) process it the same as for local input