lichess.org
Donate

How is lichess implemented with MongoDb

Does anyone know how ongoing games in lichess are implemented with MongoDb? Does the server read all the moves from the database to do 3 move repetition detection? How is the current position of a game encoded in the database?
Could you elaborate how the position is encoded in the database? Your linke gave an example game object gist.github.com/3886230 but I don't see anything that stands out as the position.
Well at a glance I didn't see what the labels correspond to, but apparently he's using hashes like MD5 for positional factors, or security stamps using encryption on those too.

When I was not using any sort of encryption my binary storage was 64 bytes per position, easily taken down to 4 bits per square = 32 bytes if you only need Forsyth notation representation. I dunno anything about encryption though but I guess it's smaller. :)

jesus christ, lol at this captcha
- - - k - - - -
- - - - - - - P
- K P - P P P -
P P - B - - - -
- - - - - - - -
- - - - - - - -
- - - - - - - -
- - - - - - - -

The shit people do on this site in their games. :D
#2
The link is broken. Could you send a new link?
Note that the mongodb paper hasn't been updated in 2 years. It's vastly outdated now.

This topic has been archived and can no longer be replied to.