wutb15 / s2client-docker

Supporting files for building the API and running the Linux build of StarCraft II

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

s2client-docker

A docker image for building and running the StarCraft II API on Linux

This is a work in progress. Contributions welcome!

TODO:

  • Get unit tests working on s2client-game container
  • Automate the replay & Battle.net Cache population
  • Create a combined container for developers (with git, API and game)
  • Get some compose / swarm examples for doing larger training exercises

Summary

By downloading and running this you are agreeing to:

StarCraft II AI and Machine Learning License

Building Containers

  1. Building the game container
    cd game && ./all.sh

This creates a new container named s2client-api.

The entrypoint will be the StarCraft II executable listening for API calls on port 12000.

You can run the game now as a container:

    docker run -P -d s2client-game

TODO: There appears to be an issue connecting on the exposed port

  1. Building the API build container
    cd build && ./all.sh

This builds the API and puts binary artifacts into the build volume.

  1. Test the containers
    cd game && ./run-tests.sh

TODO: This currently crashes

  1. Installing replay packs and the Battle.net cache to run hem

TODO: Consider using volumes for this case as well, lots of data to move around.

Running the API build

You can run the build yourself inside the s2client-api container:

docker run -it s2client-api
./api-build.sh

Running the Game

docker run -d s2client-game

If you want to use the replay container automation you should export the container ID in an environment variable.

export GAME_CONTAINER=`docker run -P -d s2client-game`

Developing using the API

    cd dev && ./all.sh
    docker run -it s2client-dev

The developer image s2client-dev is derived from s2client-game. You will need to first build the s2client-game image. Running the developer image you can clone the git repo, update your git config and test against the packaged client.

About

Supporting files for building the API and running the Linux build of StarCraft II


Languages

Language:Shell 100.0%