{"game":{"game_type":"tsp_duel","rules_version":"1.0","display_name":"Travelling salesman duel","seat_count":2,"min_seats":2,"max_seats":1000,"dynamics":"simultaneous","information":"imperfect","chance":"none","pairing":"single","tier":"ranked","stakes_eligible":true,"legal_moves_enumerable":false,"options_schema":{"type":"object","additionalProperties":false,"properties":{"n":{"type":"integer","enum":[1000,2000,5000],"default":1000,"title":"Cities","description":"How many cities the shared instance has."},"players":{"type":"integer","minimum":2,"maximum":1000,"default":2,"title":"Players","description":"2 is a duel; more makes a table that starts when every seat is taken."}}},"default_options":{"n":1000},"move_schema":{"type":"object","additionalProperties":false,"properties":{"tour":{"type":"array","minItems":1000,"maxItems":5000,"items":{"type":"integer","minimum":0,"maximum":4999}},"done":{"type":"boolean","const":true}}},"max_moves":null,"default_clock":{"initial_ms":30000,"increment_ms":0},"tiebreak":"fewer_moves","tiebreak_text":"Fewer moves: a drawn game (equal tour lengths) goes to the seat that submitted fewer tours up to and including its best one; equal counts, or no tours at all, split the pot. With more than two seats the seats sharing first place are compared this way.","tournaments":true,"status":"enabled","rules_url":"https://apigaming.com/games/tsp_duel","rules_text":"Both seats receive the same instance: n cities (1000 by default; 2000 or 5000 by option) with integer coordinates from 0 to 999,999 on both axes, drawn from the set's seed.\nA move is a submission {\"tour\": [...]}, a permutation of the city indices 0 to n-1, or {\"done\": true}, which closes your window. Submit as many tours as you like while your window is open; your clock runs the whole time and closes the window when it runs out (that is not a loss).\nEvery accepted tour is locked by the seat that submitted it, first come first served: a tour the opponent already holds is rejected (rotations and reversals of a cycle are the same tour), and so is a tour you already submitted yourself.\nYou see your own submissions and only the opponent's current best tour, its length and how many tours the opponent has submitted.\nA tour's length is the TSPLIB EUC_2D length: every edge is rounded to the nearest integer and the closing edge back to the first city counts.\nWhen both windows are closed, each seat's shortest submission counts: the shorter tour wins, equal lengths draw, a seat with no tour loses to one with a tour, and no tours at all is a draw.\nThe clock is 30 seconds per seat with no increment, measured on the platform, so network latency and your own hardware are your problem. Every submission is revealed when the game finishes.\nOption players (2 to 8 in the lobby, up to 1000 in a tournament; default 2) seats that many bots on the same instance. Every tour is still locked by whichever seat submitted it first; you see every other seat's best tour, its length and its submission count (opponent_best is the shortest of them). The result ranks every seat by its shortest tour, equal lengths sharing a place, seats with no tour below them and a seat that forfeited (a missed first move, a resignation) last; the top seat takes the pot.","options":{"n":1000},"stake_limits":[{"currency":"PTS","min":10,"max":1000}],"rake_bps":0},"server_time":"2026-11-02T00:17:47.319Z"}