ICAtariControllerServer (Gamepad Broadcast Server)
Pre-Built in IDE 2.3.5.589 and Ubuntu 18.04 (Atari VCS OS)
The ICAtariControllerServer is like ICAtariClassicServer except that it pushes out the entire state of all input devices across TCP/IP. The same client released previously can be used -- except that the data structure it broadcasts resembles:
{
f: frame#,
d: (inputcandy's list of gamepad devices),
s: (corresponding gamepad device button/axis/hat states),
k: (keyboard states),
m: (mouse states)
}
Frame # will count up to 10000 and then go back to 0 and start counting up again. This is to avoid unintentional consequences of a frame number that wraps at a high number. You can use this to test if you've actually updated over the network since a previous step or not, and possibly detect skippage, though since this server is mainly to be "called from inside the house", or on a LAN, you shouldn't expect any real latency issues.
Consult InputCandy documentation for how to interpret @ https://github.com/LAGameStudio/InputCandy
Server was created on two ports, though only TCP/IP has been rigorously tested. Limits to the size of UDP packets probably renders it less than useful.
tcp_sock = network_create_server(network_socket_tcp, 1234, 2);
udp_sock = network_create_server(network_socket_udp, 1235, 2);