Steam Deployment
Jump to navigation
Jump to search
Debug data:
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 (Steamworks > App Admin > Zero-K, SteamPipe tab -> Builds), 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.
Debug data:
[SQLBagOStuff] MainObjectStash using store ReplicatedBagOStuff
[objectcache] MainWANObjectCache using store EmptyBagOStuff
IP: 3.145.159.123
Start request GET /mediawiki/Steam_Deployment
HTTP HEADERS:
CONTENT-TYPE:
CONTENT-LENGTH: 0
X-ORIGINAL-URL: /mediawiki/Steam_Deployment
USER-AGENT: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
HOST: zero-k.info
COOKIE: wikidb229_mw__session=pliktvnrccu3hsb2rj3e9blk1nghe9sn
ACCEPT-ENCODING: gzip, br, zstd, deflate
ACCEPT: */*
CONNECTION: close[localisation] LocalisationCache: using store LCStoreDB
[session] SessionManager using store SqlBagOStuff
[session] Session "pliktvnrccu3hsb2rj3e9blk1nghe9sn" requested without UserID cookie
[DBReplication] Cannot use ChronologyProtector with EmptyBagOStuff
[DBReplication] Wikimedia\Rdbms\LBFactory::getChronologyProtector: request info {
"IPAddress": "3.145.159.123",
"UserAgent": "Mozilla\/5.0 AppleWebKit\/537.36 (KHTML, like Gecko; compatible; ClaudeBot\/1.0; +claudebot@anthropic.com)",
"ChronologyProtection": false,
"ChronologyPositionIndex": 0,
"ChronologyClientId": false
}[DBConnection] Wikimedia\Rdbms\LoadBalancer::lazyLoadReplicationPositions: executed chronology callback.
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: connected to database 0 at 'localhost'.
[SQLBagOStuff] Connection mysql object #126 (handle id #120) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #126 (handle id #120) will be used for SqlBagOStuff
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: connected to database 0 at 'localhost'.
Title::getRestrictionTypes: applicable restrictions to [[Steam Deployment]] are {edit,move}
[ContentHandler] Created handler for wikitext: WikitextContentHandler
[MessageCache] MessageCache using store SqlBagOStuff
[SQLBagOStuff] Connection mysql object #126 (handle id #120) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #126 (handle id #120) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #126 (handle id #120) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #126 (handle id #120) will be used for SqlBagOStuff
[SQLBagOStuff] SqlBagOStuff::lock failed due to timeout for wikidb229-mw_:messages:en.
[SQLBagOStuff] Connection mysql object #126 (handle id #120) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #126 (handle id #120) will be used for SqlBagOStuff
[MessageCache] MessageCache::load: Loading en... local cache is empty, global cache is expired/volatile, loading from database
ParserFactory: using preprocessor: Preprocessor_Hash
Unstubbing $wgLang on call of $wgLang::_unstub from ParserOptions->__construct
[caches] parser: SqlBagOStuff
Article::view using parser cache: yes
[SQLBagOStuff] Connection mysql object #126 (handle id #120) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #126 (handle id #120) will be used for SqlBagOStuff
Parser cache options found.
[SQLBagOStuff] Connection mysql object #126 (handle id #120) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #126 (handle id #120) will be used for SqlBagOStuff
ParserOutput cache found.
Article::view: showing parser cache contents
MediaWiki::preOutputCommit: primary transaction round committed
MediaWiki::preOutputCommit: pre-send deferred updates completed
MediaWiki::preOutputCommit: session changes committed
MediaWiki::preOutputCommit: LBFactory shutdown completed
Title::getRestrictionTypes: applicable restrictions to [[Steam Deployment]] are {edit,move}