Steam Deployment
Jump to navigation
Jump to search
Contents
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:
- move SteamRoot folder to base of steam content (TeamCity)
- move SteamScripts folder to place where build scripts for steampipe are kept (TeamCity)
- 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
- delete packages folder in content
- download current engine
- download rapid caches to content
- download zk:test and zk:stable to content
- copy all featured maps from website to content (incl. dependencies fetched by rapid/plasma)
- copy metadata for all resources to content (minimaps, modoptions etc..)
- copy current Zero-K lobby program
- copy additional images for luaui and lobby (avatars, factions and clan icons from website) to content
- scan and generate cache file for ZKL (to avoid content scan step on startup)
- 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.
- On the following page, assign build to either "test" branch or "default" branch:
- 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.