Skip to content

Delay an DGT LiveChess stream from digital chess boards with this app

Notifications You must be signed in to change notification settings

jogurtik/dgt-delay-stream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chess online streaming

This application is provided by slovakian online chess streaming team. We are a skilled team of profesional international arbiters and we can offer you online chess streaming from your chess tournaments. Online stream can be transfered in real time or it can be also delayed when you wish. This is for you an perfect solution, while you are not getting only online streaming, but also an internation arbiter for your tournament. Every from our team members can create and operate online stream alone - without any support. By bigger tournaments there is already required our cooperation of multiple members of our team. Our references you can find bellow. In cooperation with Slovak Chess Federation its possible also to lend Slovak chess boards for online streaming (now so about 50 stock).

Contacts regarding making an online chess stream:

Bury Rastislav ([email protected]), Dobrotka Martin, Pekar Karol, Palecek Peter, Diviak Rastislav

Our history of making live chess streams:

  • 2018, SVK, Poprad, European Individual Women Chess Championship 2018, 72 boards
  • 2011-2018, SVK, Various cities, Extraliga - Slovak team championship, 48 boards
  • 2011-2018, SVK, Various cities, Slovakian Youth Chess Championships, 62 boards
  • 2011-2018, SVK, Various cities, Slovakian Championships, 50 boards
  • 2017, BLR, Minsk, European Individual Chess Championship 2017, 100 boards
  • 2017, BLR, Minsk, 1st World Cadet Rapid Chess Championship 2017, 100 boards
  • 2017, BLR, Minsk, 1st World Cadet Blitz Chess Championship 2017, 100 boards
  • 2017, SVK, Ruzomberok, The 17th IPCA World Individual Chess Championship, 12 boards
  • 2017, CZE, Kouty nad Desnou, Czech youth chess championship Kouty 2017, 50 boards
  • 2017, CZE, Pardubice, Czech Open 2015 + some accompanying tournaments, 100 boards
  • 2016, CZE, Marienbad, 26th World Senior Chess Championship 2016, 100 boards
  • 2016, CZE, Prague, European Youth Chess Championship Prague 2016, 100 boards
  • 2016, SVK, Poprad, FIDE World Youth U16 Chess Olympiad SLOVAKIA 2016, 100 boards
  • 2016, CZE, Kouty nad Desnou, European Union Youth Championship, 50 boards
  • 2016, CZE, Kouty nad Desnou, Czech republic youth chess championship Kouty 2016, 50 boards
  • 2016, CZE, Olomouc, Olomouc Chess Summer 2016, 20 boards
  • 2016, CZE, Prague, Summer Prague 2016, 12 boards
  • 2016, CZE, Pardubice, Czech Open 2015 + some accompanying tournaments, 100 boards
  • 2015, SVK, Bratislava, IPCA World Individual Chess Championship 2015, 60 boards
  • 2015, CZE, Kouty nad Desnou, European Union Youth Championship, 50 boards
  • 2015, CZE, Prague, Summer Prague 2015, 16 boards
  • 2015, CZE, Pardubice, Czech Open 2015 + some accompanying tournaments, 100 boards
  • 2014, HUN, Gyor, World Youth U-16 Chess Olympiad 2014, 108 boards
  • 2014, CZE, Kouty nad Desnou, European Union Youth Championship, 50 boards
  • 2014, SVK, Ruzomberok, 33rd MITROPA Cup 2014, 30 boards
  • 2014, CZE, Pardubice, Czech Open 2014 + some accompanying tournaments, 100 boards
  • 2013, CZE, Malenovice, European Union Youth Championship, 50 boards
  • 2013, CZE, Pardubice, Czech Open A 2013 + some accompanying tournaments, 100 boards
  • 2012, CZE, Prague, European Youth Chess Championship Prague 2012, 100 boards
  • 2011, SVK, Piestany, IPCA World Championship 2011, 50 boards
  • 2010, SVK, Banska Stiavnica, Slovakian Championships, 16 boards
  • 2007-2010, SVK, Various cities, Slovakian Youth Chess Championships, 16 boards
  • and various other slovak chess tournaments



DGT Delay stream

Delay an DGT LiveChess stream from digital chess boards with this app

How this java application is working

There are two possibilities how to use this java application.
First one:

  • DGT Livechess will run on local computer
  • Livechess will copy with FTP uploader files to webserver to temporary directory
  • This script will be running on webserver
  • Publish directory will be web visible directory

Second one:

  • DGT Livechess will run on local computer
  • You will have installed FTP server on local (or another one) computer where this script will be running
  • Livechess will copy with FTP uploader files to local FTP server
  • This script will run on local computer and publish files to web FTP server

Requirements:

  1. OpenJDK 21 and higher (for version 1.X and 2.X Java 1.8)
  2. DGT Livechess
  3. FTP connection settings to webserver
  4. FTP Server on localhost (Second scenario)

Install steps

  1. Unzip this file on webserver or on a local drive
  2. Configure properly properties file
  3. Run run_dgt_delay_stream.bat on windows (or samelike on linux)

Properties file - dgt-delay-stream.properties

  • directory.livechess - path to directory where livechess files will be uploaded
  • directory.backup - working directory. Livechess files will be saved here
  • directory.publish - publish directory. This directory will contain files for publishing on webserver. This directory can be direct on webserver as public directory
  • directory.finished - finished directory. This directory will contain finished games from games.pgn
  • delay.games - delay time of game stream in seconds. To delay game for 15 minutes, you need to set it as 15*60 = 900 (put value 900 there)
  • delay.finishedgames - When game will finish, shall be direct published or still shall be delayed. Possible values "true" = it shall be delayed or "false". If "false" value set, this setting requires "onlypgn" as "true", else it will be delayed
  • delay.finishedround - When all games will finish, shall all games direct published or still shall be delayed. If true, you need to run script the whole delayed time till end. Possible values "true" = it shall be delayed or "false".
  • delay.games.define - You can specify which games shall be delayed. If asterix "*" all games will be delayed. Else you can define number of games separated with semicolon. Example: "1;3;4;9;10". If board numbers defined, this setting requires "onlypgn" as "true", else it will be disabled
  • app.refresh - it's application refresh interval. Livechess has this value default set to 10 seconds.This value means "start repeat all checking after 10 seconds after finishing previous one"
  • boards.number - by backup directory creating app is checking if pgn contains all expected games and already last game is ending with valid signs (e.g. with asterix or with results). If pgn is not valid, app will destroy this backup and will try to create it again immediately (e.g. ignoring app.refresh value)
  • ftp.server - ftp server address
  • ftp.login - ftp server login name
  • ftp.password - ftp server password
  • ftp.active - if value is true, then ftp active mode will be set. Else pasive mode will be used
  • ftp.onlypgn - if value is true, only games.pgn file will be checked and uploaded to ftp server. This can be usefull by streams which are using only pgn file for streaming
  • ftp.directory - ftp directory can be set to any subdirectory on ftp server
  • live.pgn - when you are delaying stream, you can put also on ftp live stream for commentary

Some hints how it's working

  • If you let ftp.server empty in property file, Files will not be uploaded to ftp server. They will be only copied to publish directory. This is fine when this script will be running on webserver.
  • After application start if publish directory is empty, current livechess files will be directly published. After this first check every next time the file will be published only when file was changed. For file change app is detecting datetimeModify property of file and Md5 checksum.
  • FTP connection to server is opening only when at least 1 file will be copied or publish directory contains at least one directory
  • Application is copying all files from backup/publish directories. It doesn't check if they are from DGT Livechess or not (check property file - setting ftp.onlypgn=false)
  • If you want to publish players to webservice and don't want to wait for delay.games time you only need to clean all files from publish directory
  • You can delay all games or some of them
  • You can choose if finished games are still delayed or they will be directly published
  • You can choose how big shall be the delay

How to install ftp server on windows (e.g. localy)

Usefull applications

Changes

    version 3.0.0:
  • Updating from Java 1.8 to Open JDK 21
  • Updating to spring boot 3.3.3
  • Updating dependences
  • By creating backup direcotory copy just .pgn files. Fewer chance to have lock by livechess
  • A lot of small changes and known fixes
    version 2.1.0:
    version 2.0.0:
  • if still nothing was published (publish folder is empty), current livechess upload will be uploaded
  • if all games are finished, current livechess upload will be uploaded (is possible to change in property file)
  • it's possible to delay only some of the games
  • it's possible to configure in property file, that finished games are not delayed but all moves till end of game will be pushed at once
    version 1.0.1:
  • fixing slashes in properties file in paths
  • shrinking informations logged into log file
  • changing some log messages
    version 1.0.0:
  • Initial release

About

Delay an DGT LiveChess stream from digital chess boards with this app

Resources

Stars

Watchers

Forks

Packages

No packages published