Go Play Chess - Free Online Real time chess web server using websockets - Creator: Jonathan Chin
12/10/2015 - Start date of project.
5/31/2016 This project is officially open source. - All commit history has been cleared as some of the git history contained sensitive data.
4/30/2017 I've decided to add a MUD. Chess and MUD's don't usually go together but by having them on the same web server and domain allows me to save server costs. More details will be revealed soon.
7/6/2019 The mud is being migrated to a different repository. The mud will be hosted on a different server.
This project is a experimental project and only intended for my personal use.
6/1/2021 The Go Play Chess server is no longer online.
Features:
1. User accounts
2. Time controls
3. Player ratings and matchmaking system
4. Save and review games
5. Server side validation of chess moves
6. Security (HTTPS, WSS, CAPTCHA, input validation, password encryption) (partially shown on GitHub)
7. Cron jobs
8. Logging(partially shown on GitHub)
9. Graceful shutdown and recovery of active games
10. Automated deployment of web server to production environment (not shown on GitHub)
11. Highscore board containing top bullet, blitz standard, and correspondence ratings.
12. Configurable user settings, chess piece theme, sound toggle, chat toggle, etc.
13. Player profiles to view rating and past games.
14. Player's name has the country flag where their IP originates from when they register
15. Players can view on going chess games in real time as spectators
16. Lobby and game room chat.
17. Forum
18. Guest play
19. Stockfish chess bot
To Do List:
1. Update help, documentation and screenshots
2. Add android client for goplaychess
Special thanks to those who provided amazing third party libaries:
1. chess.js
2. chessboard.js
3. goglicko by Josh Hoak aka Kashomon
4. Tock.js
6. download.js v4.1, by dandavis
7. dchest/captcha
8. robfig/cron
9. golang.org/x/crypto/scrypt
10. github.com/notnil/chess
And many more...
Other Dependencies:
1. jsonlint