Skip to content

Docker Images

devops-client

Using this image you can host a Web application that can communicate with a specific instance of a DevOps Gamehost in order to visualize the active game session.

Internally the Web server is hosted on port 80.

Configuration

Use the following environment variables to configure the application:

Variable Name Description
GAME_HOST URL referring to the Game host server (e.g. an instance of the DevOps runner). This URL must be reachable from the machine that is browsing the Visualization!
PREFIX Path prefix of the backend api, default is empty (api hosted on root), example: /api
TICK_SECONDS The refresh period (in seconds) for the Visualization (each tick, the client will fetch the new game state from the host).

Usage

  • The game view (zoom map and minimap) are viewable on the homepage when connected with a local or remote game host.
  • The history and leaderboard view are only available when connected to a remote game host.

You can move around the map by dragging or clicking on the minimap, or dragging on the zoom map. If you click a faction in the score overview on the home page, the map will zoom on its last known active base.

Debug indicator

If the cursor is over a unit cell, you can ctrl+click it to highlight it. This highlight will make it easier to track the unit and debug your logic code.

devops-runner

Using this image, you can host a session of the DevOps game that is configurable to facilitate local evaluation of your Faction Logic implementation or integration test in an automated CI/CD environment.

Internally the Web server is hosted on port 8080.

Variable Name Default Value Description
PLAYER_NAME Player If a remote Faction Logic is participating as the Player (by setting LOGIC_URL), this variable is used to set the name for the Faction.
LOGIC_URL The URL that is used by the game runner to make HTTP calls to the Faction Logic for the Player to fetch the moves for the next turn.
LOGIC_REQUEST_TIMEOUT -1 (disabled)
TURN_INTERVAL_MS 1000 The time between turns (in milliseconds).
TURN_LIMIT Max Integer (no practical limit) The number of turns after which the game will automatically end.
HTTP_PORT 8080 The port to host the HTTP endpoints on.
MAP_WIDTH 100 The width of the game world (in number of tiles).
MAP_HEIGHT 60 The height of the game world (in number of tiles).
CPU_PLAYERS 3 The number of CPU opponents.
WAIT_FOR_PLAYER true If this option is enabled, the game will not start the game until the Faction Logic service of the Player is reachable.
ABORT_ON_LOGIC_ERROR false If this option is enabled, the game will immediately stop running whenever requesting a move from the logic-service results in an error. To process exits with code 1 to indicate an unsuccessful run. This option can be useful for setting up integration tests!
ENABLE_FETCH_LOGS false If this option is enabled, the runner server will fetch and display the logs of the configured logic-service. This option can be useful for setting up integration test!