CLM:Technische Details:Beschreibung TRF

Aus ChessLeagueManager
Zur Navigation springen Zur Suche springen

Das Dateiformat TRF wird u.a. verwendet, um Turnierergebnisse an die FIDE zu melden.

Die FIDE stellt hierfür umfangreiche Beschreibungen zur Verfügung.

Die z.Z. gültige Fassung von 2016:

- https://www.fide.com/FIDE/handbook/C04Annex2_TRF16.pdf

Die in Arbeit befindliche Fassung, die sehr wahrscheinlich im 2.Halbjahr 2026 in Kraft treten wird:

- https://tec.fide.com/trf-2026/


Das TRF-Format wird weiterhin zum Datenaustausch mit Programmroutinen wie JaVaFo oder bbpairing verwendet, die die Ansetzungen in bestimmten Turnierformen (z.B. Schweizer System) unterstützen.

Für diesen Zweck gibt es Erweiterungen zum oben genannten FIDE-Standard. Die ergänzenden Satzarten starten alle mit "XX" gefolgt von einen dritten Kennbuchstaben

XXA <Accelerated rounds>

<Accelerated rounds> :== <playerid> <fictious points> [<fictious points> ...]

<fictious points> :== " 0.0" | " 0.5" | " 1.0" | ...


XXC <configuration>
<configuration> :== ["rank"] ["black1"|"white1"]

XXP <forbidden Pairs>
<forbidden Pairs> :== <list of pairing ids>
<list of pairing ids> :== <pairing id> <pairing id>

XXR <number of rounds>
<number of rounds> :== <integer>


XXS <Scoring Point System>
<Scoring Point System> :== <scoring rule> [<scoring rule> ...]
<scoring rule> :== <scoring id> "=" <score>
<scoring id> :== "WW" | "BW" | "WD" | "BD" | "WL" | "BL" | "ZPB" | "HPB" | "FPB" | "PAB" | "FW" | "FL" | "W" | "D"
<score> :== [<integer>] "." [<integer>]

XXZ <absent Players>


Im CLM-Projekt wird das TRF-Format darüber hinaus zum Austausch von Turnierdaten zwischen einzelnen CLM-Installationen verwendet. Die hierfür zusätzlichen Satzarten starten mit "XC" gefolgt von einen dritten Kennzeichen.

- Anzahl der beschleunigten Runden beim beschleunigten Verfahren

XCA <last accelerated round>
<last accelerated round> :== <integer>

Bsp.: Beschleunigtes Verfahren bis Runde 3

XCA 3


- Vereinsname eines Teilnehmers

XCC <Player Club Name>
<Player Club Name> :== <playerid> <club name>
<club name> :== <string>

Bsp.: Spieler Nr. 7 ist Mitglied im SF Lohmar

1234567890123456789012345678901234567890
XCC    7 SF Lohmar


- Daten einer Mannschaft

XCD <Team Data>
<Team Data> :== <teamid> <team ZPS> <team number within club>
<teamid> :== <interger4>
<clubZPS> :== <alnum5>
<team number within club> :== <integer4>

Bsp.: Team Nr. 2 ist 3. Mannschaft des Vereins Naumburger SV

XCD    2 G0222    3

XCD als Tabelle

Pos Description Contents/Format
1 - 3 CLM Identifier XCD
5 - 7 TeamID <teamid> :== <integer3>
9 - 13 Vereinscode der Mannschaft <club zps> :== <alnum>{5}
15 - 16 Mannschaftsnummer im Verein <member id> :== <integer2>
17 - 74 Reserve
76 - 100 Daten zu Durchgang 1 Runde 1
.76 - 77 Mannschaftsergebnis <merg> :== <integer2>
.79 - 79 kampflos <kampflos> :== <integer1>
.81 - 83 TeamID des Gegners <teamid> :== <integer3>
.85 - 86 Nummer der Paarung <paarid> :== <integer2>
.88 - 88 auswärts/heim <heim> :== <integer1>
.90 - 91 Mannschaftspunkte <mpoints> :== <integer2>
.93 - 97 Brettpunkte <bpoints> :== <dec3.1>
101 - 125 Daten zu Durchgang 1 Runde 2


- eMail eines Teilnehmers

XCE <Player Mail Address>
<Player Mail Address> :== <playerid> <mail address>
<mail address> :== <string>

Bsp.: Spieler Nr. 112 hat eMail maxmuster@provider.com hinterlegt

XCE 112 maxmuster@provider.com


- Feinwertungen (numerisch im CLM-Code)

XCF <Tie-Breaker Numbers>
<Tie-Breakers Numbers> :== <integer> <integer> <integer> Bsp.: Die Feinwertungen sind hier Buchholz und Sonneborn-Berger, die dritte Feinwertung ist nicht gesetzt XCF 1 3 0


- Anzahl der Gruppen bei beschleunigten Verfahren

XCG <number of groups>
<number of groups> :== <integer>

Bsp.: Beschleunigtes Verfahren mit 3 Gruppen

XCG 3


- Anschrift des Spiellokal

XCL <Event Location>
<Event Location> :== <string>

Bsp.: Gespielt wird in der Aula der Hort (Hinweis: der Aufbau der Anschrift entspricht den Vorgaben der Quellinstallation)

XCL Aula im Hort Kinderpark,Wiener Straße 18,06128 Halle (Saale)


- Turnier (numerisch im CLM-Code)

XCM <Tournament Mode> <Number of regular players> <Number of substitutes>
<Tournament Mode> :== <integer>

<Number of regular players> :== <integer> !only if team competitions! <Number of substitutes> :== <integer> !only if team competitions!

Bsp.1: Einzelturnier - Der Turniermodus ist hier Schweizer System

XCM  1 

Bsp.2: Teamwettbewerb - Liga, vollrundig, 2 Durchgänge mit je 7 Runden, an 8 Brettern (Stamm) und mit max. 12 Ersatzspielern je Mannschaft

1234567890123456789012345678901234567890
XCM  1  2  7   8  12 

XCM als Tabelle

Pos Description Contents/Format
1 - 3 CLM Identifier XCM
5 - 6 Turniertyp num nach CLM <turniertyp> :== <integer2>
8 - 9 Anzahl der Durchgänge <loops> :== <integer2>
11 - 12 Anzahl der Runden <rounds> :== <integer3>
14 - 16 Anzahl der Stammbretter, only for team competitions <stamm> :== <integer3>
18 - 20 Anzahl der Ersatzspieler, only for team competitions <ersatz> :== <integer3>


- CLM-Parameter des Turniers

XCP <Tournament Parameter>
<Single Tournament Parameter> :== <string>

Hinweis: XCP kann mehrfach sein; Inhalt des Felds params der Turnierdetails ist die Gesamtheit der XCP-Angaben

Bsp.: Inhalt des Felds params der Turnierdetails ist die Gesamtheit der XCP-Zeilen

XCP teamranking=0;
XCP optionTiebreakersFideCorrect=1;
...
XCP waiting_period=30;


- Wertzahlen (DWZ ELO TWZ) eines Teilnehmers

XCR <Player Ranking Numbers>
<Player Ranking Numbers> :== <integer4> <integer> <integer> <integer>

Bsp.: Spieler Nr. 14 hat DWZ 1914, Elo 1893 und seine TWZ ist 1914

XCR   14 1914 1893 1914


- Telefon-Nr. eines Teilnehmers

XCS <Player Phone Number>
<Player Phone Number> :== <playerid> <Phone Number>
<Phone Number> :== <string>

Bsp.: Spieler Nr. 66 hat die Telefon-Nr +49 31123456 hinterlegt

XCS  66 +49 31123456


- Rundenstartzeiten

XCT <Start Time of the Rounds>
Aufbau analog zu Standardsatzart 132 mit den Spieltagen (Datum)

Bsp.: Die Runden beginnen 16 Uhr bzw. 09:30 Uhr (5 Runden)

XCT   16:00:00  09:30:00  16:00:00  09:30:00  16:00:00


- Vereinsmitgliedschaft über ZPS-Vereinsnummer und Mitgliedsnummer im Verein

XCZ <Player ZPS>
<Player ZPS> :== <playerid> <club zps>-<member id>
<playerid> :== <integer4>
<club zps> :== <alnum>{5}
<member id> :== <integer>
<integer4> :== <space><space><space><digit> | <space><space><digit><digit> | <space><digit><digit><digit> | <digit><digit><digit><digit>

Bsp.: Spieler Nr. 7 ist Mitglied Nr. 187 im Verein 66211

12345678901234567890
XCZ    7 66211-187

neue Tabelle

Pos Description Contents/Format
1 - 3 CLM Identifier XCZ
5 - 8 SpielerID <playerid> :== <integer4>
10 - 14 Vereinscode des Spielers <club zps> :== <alnum>{5}
16 - 19 Mitgliedsnummer des Spielers im Verein <member id> :== <integer>
76 - 100 Daten zu Durchgang 1 Runde 1
.76 - 77 Paarung <paarid> :== <integer2>
.79 - 81 Brett <boardid> :== <integer3>
.83 - 83 auswäerts/heim <homeflag> :== <integer1>
.85 - 86 Ergebnis num nach CLM <homeflag> :== <integer2>
.88 - 88 kampflos <defaultflag> :== <integer1>
.90 - 93 Brettpunkte <homeflag> :== <dec2.1>
101 - 125 Daten zu Durchgang 1 Runde 2
126 - 150 Daten zu Durchgang 1 Runde 3