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! |