ILLEGAL: P f3-f4 on turn 28:
There was no P on f3. It is an empty space.
Go back with your browser's BACK button, reload the page, and try again.
For diagnostic purposes, here is the full movelist:
1. P e2-e3 1... n g8-f6 2. P f2-f3 2... p h7-h6 3. P d2-d3 3... n b8-c6 4. P a2-a3 4... b c8-e6 5. N g1-e2 5... b f8-d6 6. P e3-e4 6... p h6-h5 7. P h2-h3 7... p h5-h4 8. P c2-c3 8... r h8-h6 9. P a3-a4 9... r h6-g6 10. R h1-g1 10... p a7-a6 11. B c1-a3 11... p a6-a5 12. P d3-d4 12... b e6-c4 13. N e2-c1 13... b d6-f4 14. P b2-b3 14... b c4-a6 15. N c1-d3 15... n f6-h5 16. P d4-d5 16... n c6-b8 17. P c3-c4 17... p c7-c6 18. N b1-c3 18... p e7-e6 19. N c3-e2 19... b f4-h6 20. N d3-e5 20... r g6-f6 21. P g2-g3 21... p h4-g3 22. N e2-g3 22... n h5-g3 23. R g1-g3 23... k e8-f8 24. B f1-d3 24... p c6-d5 25. P e4-d5 25... p e6-d5 26. P c4-d5 26... r f6-d6 27. Q d1-e2 27... r d6-d5 28. P f3-f4 // - kentril kentril has won on time. - 28... P f3-f4