Blog
Update

Server Upgrade, Game Export and Rated vs. Casual Filter

Post Preview Image

Server Upgrade, Game Export and Rated vs. Casual Filter

New features: Bulk game export as PGN, rated vs. casual game filter, faster performance due to a server upgrade, and other improvements.

Update

July 29, 2024

TL;DR

  • Server Upgrade: Bigger and faster server for more games
  • Export games as PGN
  • Rated vs. Unrated Filter added

Game Export

A new feature for all subscribers allows you to download thousands of games as a single PGN file. This is helpful for analyzing your games in other tools. You can filter all games by a specific opening or opponent, export them, and load them into your favorite chess software. The exported name will be “normalized” to the name of your account, whether it’s your Chess.com or Lichess games, making it easy for other applications to detect your name.

Bulk download of games as a single PGN
Bulk download of games as a single PGN

Rated vs. Casual Filter

Thanks to a new storage format, you can now filter games by rated or unrated. While this sounds like a simple filter, we had to re-download all games as this information was previously not stored. Therefore, a major re-download of games happened in the background. The process is finished for all users who have accessed ChessMonitor in the past month (and popular users). However, if you haven’t visited ChessMonitor in a while, when you trigger the update of games, it might take up to 24 hours until all of your games are updated (as we re-download your games in the background if we don’t have the info yet).

New Filter: Rated Games
New Filter: Rated Games

Server Upgrade

On July 25th, we migrated all services from our old server to a new, bigger, and faster server. During this time, ChessMonitor was unavailable for a short period. But the migration went as planned, and even pages with many thousands of games (like the page of Hikaru Nakamura) now generate chess statistics much faster thanks to better hardware.

Overall, the current server served the project very well for more than three years, but it had reached its limits, with the disk being 90% full and the CPU often hitting its maximum capacity. Here is a comparison between the old and new servers:

Old ServerNew Server
Disk Space150 GB2x1.92 TB (RAID 1)
CPU4 vCPU (shared)AMD Ryzen 9 with 16 cores (dedicated)
Memory8 GB128 GB

In addition, we used the migration to repackage the different server parts as Docker. This will make updates easier in the future and will also allow us to add more servers as needed. The migration was also used to re-evaluate different database types and storage formats. We now switched from MySQL (Community Edition) to Percona Server for MySQL, which offers better performance and benefits like easier backups.

Our Community

Since our introduction of the feature requests last month, over 30 new feature ideas have been proposed. We are very thankful for our community. As you can see, three of the five most upvoted ideas have been implemented already, and one is currently in the implementation phase.

If you haven’t had a look at the suggestions, check them out now! Upvote features you like or propose your own ideas! Then join our Discord server to discuss and ask for input!

One of the ideas was a changelog of updates, which you can check out here. In addition, we are planning to make these kinds of blog posts (with a look back at what has happened) on a monthly basis (this is the update for July 😉).

We also want to use this blog post to thank our user Frank for his feedback. He has reported various bugs in the past weeks, and we are very thankful for his help.

Opening Detection Change

A recent update also changed how the opening detection works in our chess statistics. Most tools use a Zobrist Hash to detect the opening. Basically, the last known detected Zobrist hash in a game becomes the opening of that game. We changed this to now work on moves.

To explain what this means, let’s look at an example (how the system worked previously): The line 1. c4 Nf6 2. Nc3 g6 is the English opening (precisely the "English Opening: Anglo-Indian Defense, Queen's Knight Variation”). But when white plays d4 afterward, it transitions into the King's Indian Defense. However, the main line of that opening is 1. d4 Nf6 2. c4 g6 3. Nc3. That means, although the main line of the King's Indian was not played, it is still classified as that, while the English opening remains “undetected”.

We now switched our detection to rely on the main lines instead, meaning that the line above would be classified as the English opening and not the King’s Indian, as we believe the intention of the player was to play the English opening. We understand that this change might be controversial and we are willing to experiment here based on user feedback in the future.

Other Improvements

  • Time Control improvements: The detection and visualization of time controls was optimized, so that things visualized previously as 0.18333333333333332+0 (11 seconds without increment) will now be properly visualized as 11s.
  • Time Control Classification: In addition, we now base our Bullet/Blitz/etc. detection on the data from Chess.com/Lichess meaning that a 5+5 game will now be classified as Blitz (when coming from Chess.com), but as Rapid (coming from Lichess) as the classification of both websites is different. This hopefully settles a very long dispute on how to classify different time controls, as we now respect the original decision.
  • Removed UltraBullet: In contrast to the above change, we have removed a special “Lichess” time control called “UltraBullet” (15 seconds, no increment) and classify this as “Bullet”. The reason is simply that this time control is used nowhere except on Lichess.

Did you know? We are on Instagram and Linkedin!

If you are interested in more “behind the scenes” content follow us there! We attended a startup conference (ATEC) this month (as shared on Instagram) and want to share some more “business related” details on LinkedIn in the future!

New to ChessMonitor?

ChessMonitor is an analytics platform for chess players providing lots of free chess statistics. We are working hard on improving it.

Here are some things you can do right now: