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: 18.97.14.91
Start request GET /mediawiki/index.php?title=Zero-K_Infra_Guide&printable=yes
HTTP HEADERS:
CONTENT-TYPE:
CONTENT-LENGTH: 0
USER-AGENT: CCBot/2.0 (https://commoncrawl.org/faq/)
HOST: zero-k.info
ACCEPT-LANGUAGE: en-US,en;q=0.5
ACCEPT-ENCODING: br,gzip
ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
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": "18.97.14.91",
"UserAgent": "CCBot\/2.0 (https:\/\/commoncrawl.org\/faq\/)",
"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 "0tshjbufb7c2hbnkjb9assfcon4ss36i" is unsaved, marking dirty in constructor
[session] SessionBackend "0tshjbufb7c2hbnkjb9assfcon4ss36i" save: dataDirty=1 metaDirty=1 forcePersist=0
[cookie] already deleted setcookie: "wikidb229_mw__session", "", "1714270166", "/", "", "", "1"
[cookie] already deleted setcookie: "wikidb229_mw_UserID", "", "1714270166", "/", "", "", "1"
[cookie] already deleted setcookie: "wikidb229_mw_Token", "", "1714270166", "/", "", "", "1"
[cookie] already deleted setcookie: "forceHTTPS", "", "1714270166", "/", "", "", "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
[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)
[Preprocessor] Cached preprocessor output (key: wikidb229-mw_:preprocess-hash:d052b4022c426fee26479755f26e1705:1)
[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
[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 20250428020926 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}