Steam Deployment

From Zero-K
Jump to navigation Jump to search

Deploying Zero-K changes to steam

Note, this is for Zero-K core developers with access to SteamWorks.

Steam build process overview

Content is automatically prepared by Zero-K website process after each new zk:stable is detected. Content preparation steps include:

  1. move SteamRoot folder to base of steam content (TeamCity)
  2. move SteamScripts folder to place where build scripts for steampipe are kept (TeamCity)
  3. AutoRegistrator steps (runs in website process)
    • fetch all maps from springfiles
    • update all spring features
    • update zk test and stable
    • extract metadata for all resources and store in website storages
    • modify all featured missions - update modinfo, reupload to site, change name, extract and update metadata
  4. delete packages folder in content
  5. download current engine
  6. download rapid caches to content
  7. download zk:test and zk:stable to content
  8. copy all featured maps from website to content (incl. dependencies fetched by rapid/plasma)
  9. copy metadata for all resources to content (minimaps, modoptions etc..)
  10. copy current Zero-K lobby program
  11. copy additional images for luaui and lobby (avatars, factions and clan icons from website) to content
  12. scan and generate cache file for ZKL (to avoid content scan step on startup)
  13. generate steampipe build using current scripts from the entire content


Deploying the build

After the build is deployed (few minutes after zk:stable is detected), you need to login to steamworks and set the build as live by assigning it to a branch.

  1. On the following page (Steamworks > App Admin > Zero-K, SteamPipe tab -> Builds), assign build to either "test" branch or "default" branch:
    Steampipe.png
  2. Perform publish step on publish tab (prepare to publish) and confirm.


Diagnostics

Everything is traced into general website log/trace.

The process can be run manually in console mode by running autoregistrator.exe from zero-k.info/www/bin on the server.

Recommendations

  • If no new build appears within 15 minutes from stable, run autoregistrator.exe manually.
  • After build appears in steamworks, first test it using test branch (set your steam client to use test branch and verify all is ok).
  • in case your client fails to update in a timely fashion, use content verification steam feature.