Detailed descriptopn of FIFO protocaol available at https://github.com/mgbellemare/Arcade-Learning-Environment/blob/master/doc/manual/manual.pdf See links in project repo: https://github.com/mgbellemare/Arcade-Learning-Environment
In order to play different games on single ALE server we accept rom name and authentification info in first line
A client should write to socket first line with format: printf("%s,%s,%s", login, password, rom_name) Rom name whould go without dir name, slashes dots or extensions. forexample: test,test_pass,gopher
Logins and paswords should be mailed each team
$ nc localhost 1567
> test,test12,gopher
< 210-160
> 0,0,0,1
< :0,0:
...
install dependencies
sudo perl -MCPAN -e 'notest install Digest::SHA1'
mkdir -p teams/team_1567
echo "test,test12" | ./make_pfile.pl > teams/team_1567/pfile.txt
./run_server.sh
./py_kb_test.py test test12 breakout
mkfifo client_fifo
nc localhost 1567 < client_fifo |tee simple_in | ./simple | tee simple_out > client_fifo
bash scores.sh
cat teams/scores.all.txt