Zero-K Infra Guide
Jump to navigation
Jump to search
Debug data:
Zero-K Infrastructure is complicated and understanding it is most of the battle, this is an overview of the structure and contents of ZK Infra.
It's always a good idea to review dev Philosophy.
Contents
ZK's Devving Philosophy (social rules)
- "War is a product of anticommunication"
- Communicate with other devs about your changes/fixes, let them understand the issue. Do not make 'random' changes.
- "Do not create work for other people."
- Have responsibility for your changes/commit. Do not leave bugs that require other people to fix.
- "Readability & performance are equally important."
- Optimize code but not to the point of unreadability. Remember the rules of optimization:
- Don't.
- Don't (yet).
- Profile before doing it.
- Optimize code but not to the point of unreadability. Remember the rules of optimization:
- "If it ain't broke, don't fix it."
- Don't code fixes that nobody wants to problems that don't exist.
General overview
- Further information: Zero-K:Developing
- What's in what folder etc, goes here
Building the Launcher
Building ChobbyLauncher requires a few dependencies, MonoTorrent, PlasmaDownloader, and PlasmaShared. Ctrl-clicking all four folders in Visual Studio's Solution Explorer panel and selecting Build should succeed at producing the launcher executable.
More in depth look at each folder
What's happening with this page
To be filled in as I go and as I learn, right now I don't know anything for concrete so I'm hesitant to fill anything out here... yet.
Debug data:
[SQLBagOStuff] MainObjectStash using store ReplicatedBagOStuff
[objectcache] MainWANObjectCache using store EmptyBagOStuff
IP: 216.73.216.170
Start request GET /mediawiki/Zero-K_Infra_Guide
HTTP HEADERS:
CONTENT-TYPE:
CONTENT-LENGTH: 0
X-ORIGINAL-URL: /mediawiki/Zero-K_Infra_Guide
USER-AGENT: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
HOST: zero-k.info
ACCEPT-ENCODING: gzip, br, zstd, deflate
ACCEPT: */*
CONNECTION: close[localisation] LocalisationCache: using store LCStoreDB
[session] SessionManager using store SqlBagOStuff
[DBReplication] Cannot use ChronologyProtector with EmptyBagOStuff
[DBReplication] Wikimedia\Rdbms\LBFactory::getChronologyProtector: request info {
"IPAddress": "216.73.216.170",
"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 #127 (handle id #121) will be used for SqlBagOStuff
[session] SessionBackend "alcgkk3uh4gv3606li3g3tq005h0nk40" is unsaved, marking dirty in constructor
[session] SessionBackend "alcgkk3uh4gv3606li3g3tq005h0nk40" save: dataDirty=1 metaDirty=1 forcePersist=0
[cookie] already deleted setcookie: "wikidb229_mw__session", "", "1724919464", "/", "", "", "1"
[cookie] already deleted setcookie: "wikidb229_mw_UserID", "", "1724919464", "/", "", "", "1"
[cookie] already deleted setcookie: "wikidb229_mw_Token", "", "1724919464", "/", "", "", "1"
[cookie] already deleted setcookie: "forceHTTPS", "", "1724919464", "/", "", "", "1"
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: connected to database 0 at 'localhost'.
Title::getRestrictionTypes: applicable restrictions to [[Zero-K Infra Guide]] are {edit,move}
[ContentHandler] Created handler for wikitext: WikitextContentHandler
[MessageCache] MessageCache using store SqlBagOStuff
[localisation] LocalisationCache::isExpired(en): cache for en expired due to GlobalDependency
[localisation] LocalisationCache::recache: got localisation for en from source
[DBQuery] startAtomic: entering level 0 (LCStoreDB::finishWrite)
[DBQuery] endAtomic: leaving level 0 (LCStoreDB::finishWrite)
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
[SQLBagOStuff] SqlBagOStuff::lock failed due to timeout for wikidb229-mw_:messages:en.
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #127 (handle id #121) 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 #127 (handle id #121) will be used for SqlBagOStuff
Article::view: doing uncached parse
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
[Preprocessor] Cached preprocessor output (key: wikidb229-mw_:preprocess-hash:28560f1b1cb54a2986d267a013aa8ace:0)
[objectcache] Rejected set() for wikidb229-mw_:page:10:ce3df4d818316dd10c7bca5ae8539c894dc07dbb due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:290:937 due to pending writes.
[Preprocessor] Cached preprocessor output (key: wikidb229-mw_:preprocess-hash:d052b4022c426fee26479755f26e1705:1)
[objectcache] Rejected set() for wikidb229-mw_:page:10:3700914596c24a26a1303515aee97f7158479860 due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:282:921 due to pending writes.
[objectcache] Rejected set() for wikidb229-mw_:page:828:b4a100ebc4c1820c605bd96d9dd279ff888640e2 due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:304:969 due to pending writes.
[ContentHandler] Created handler for Scribunto: ScribuntoContentHandler
[Scribunto] Scribunto_LuaStandaloneInterpreter::__construct: creating interpreter: ""C:\Projekty\zero-k.info\www\mediawiki\extensions\Scribunto\includes\engines\LuaStandalone/binaries/lua5_1_5_Win64_bin/lua5.1.exe" "C:\Projekty\zero-k.info\www\mediawiki\extensions\Scribunto\includes\engines\LuaStandalone/mw_main.lua" "C:\Projekty\zero-k.info\www\mediawiki\extensions\Scribunto\includes" "0" "8""
[gitinfo] Candidate cacheFile=C:\Projekty\zero-k.info\www\mediawiki/gitinfo.json for C:\Projekty\zero-k.info\www\mediawiki
[gitinfo] Cache incomplete for C:\Projekty\zero-k.info\www\mediawiki
SiteStats::loadAndLazyInit: reading site_stats from replica DB
[objectcache] Rejected set() for wikidb229-mw_:SiteStats:groupcounts:sysop due to pending writes.
[objectcache] Rejected set() for wikidb229-mw_:page:828:a2f7a5e11515a2fc2474b6babfc5cc4e3082034c due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:305:971 due to pending writes.
[objectcache] Rejected set() for wikidb229-mw_:messages-big:37c613d7032be702823c3757118a3f23:Lang due to pending writes.
[Preprocessor] Cached preprocessor output (key: wikidb229-mw_:preprocess-hash:28560f1b1cb54a2986d267a013aa8ace:0)
Saved in parser cache with key wikidb229-mw_:pcache:idhash:1376-0!canonical and timestamp 20250829081744 and revision id 7945
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #127 (handle id #121) will be used for SqlBagOStuff
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 [[Zero-K Infra Guide]] are {edit,move}