Units
The Units of Zero-K are the tools you will use to execute your strategies and defeat your opponents.
Use your Commander and Constructors to build up your base and economy, Raider and Assault units to attack at close range, Skirmishers and Artillery to engage at long range, and Riots to defend in close quarters.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Properties shared by most or all units in Zero-K include:
- They cost the same amount of Metal and Energy.
- Most units are produced by a factory, and autonomous Drones are built by their parent.
Useful information on units:
Unit chassis movement traits
The movement traits of different unit chassis can be a very important factor when choosing which factory to build at the start of a game. Factors such as the terrain of the map as well as the map size can influence this decision. For instance, lots of deep water may call for a factory with lots of amphibious or airborne options, while a map with mostly somewhat steep terrain may call for bots, spiders or airborne options.
Brief overview:
- Wheeled, tracked and hovercraft chassis:
- Rovers tend to have good or great speed, medium or poor turn rates, and prefer flat terrain (slightly steep terrain slows them).
- Tanks are like rovers, except their speed and turn rates are typically worse.
- Hovercraft are like rovers, except they can traverse water easily.
- Bots tend to have great turn rates and can traverse somewhat steep terrain. Some bots are amphibious, notably amphbots and certain strider bots. Some of the bots from the Jumpbot Factory can jump, which can be useful for traversing terrain as well as in combat.
- Crawling chassis like spiders can traverse any land terrain, including practically vertical hills and cliffs, but tend to have poor speed.
- Gunships and airplanes fly and tend to have excellent speed. Gunships are generally slower than airplanes.
Do note that there are various kinds of indirect movement, such as transport gunships, teleportation, throwing, gravity projection, etc.
The pathing map overlay (see Newbie_Guide#Map_views ) when a unit is selected is useful for viewing where a selected unit can pathfind to.
Debug data:
[SQLBagOStuff] MainObjectStash using store ReplicatedBagOStuff
[objectcache] MainWANObjectCache using store EmptyBagOStuff
IP: 216.73.216.114
Start request GET /mediawiki/index.php?oldid=6331&title=Units
HTTP HEADERS:
CONTENT-TYPE:
CONTENT-LENGTH: 0
X-FORWARDED-FOR: 10.3.13.220
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: */*
VIA: 1.1 squid-proxy-5b5d847c96-dwk6g (squid/6.10)
CONNECTION: keep-alive
CACHE-CONTROL: max-age=0[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.114",
"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 #125 (handle id #119) will be used for SqlBagOStuff
[session] SessionBackend "ec801d6u7lgseobu2iegckhfngasl502" is unsaved, marking dirty in constructor
[session] SessionBackend "ec801d6u7lgseobu2iegckhfngasl502" save: dataDirty=1 metaDirty=1 forcePersist=0
[cookie] already deleted setcookie: "wikidb229_mw__session", "", "1721564954", "/", "", "", "1"
[cookie] already deleted setcookie: "wikidb229_mw_UserID", "", "1721564954", "/", "", "", "1"
[cookie] already deleted setcookie: "wikidb229_mw_Token", "", "1721564954", "/", "", "", "1"
[cookie] already deleted setcookie: "forceHTTPS", "", "1721564954", "/", "", "", "1"
[DBConnection] Wikimedia\Rdbms\LoadBalancer::getLocalConnection: connected to database 0 at 'localhost'.
Title::getRestrictionTypes: applicable restrictions to [[Units]] 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 #125 (handle id #119) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #125 (handle id #119) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #125 (handle id #119) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #125 (handle id #119) will be used for SqlBagOStuff
[SQLBagOStuff] SqlBagOStuff::lock failed due to timeout for wikidb229-mw_:messages:en.
[SQLBagOStuff] Connection mysql object #125 (handle id #119) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #125 (handle id #119) 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: no
Article::view: doing uncached parse
[SQLBagOStuff] Connection mysql object #125 (handle id #119) will be used for SqlBagOStuff
[SQLBagOStuff] Connection mysql object #125 (handle id #119) will be used for SqlBagOStuff
Parser cache options found.
[Preprocessor] Cached preprocessor output (key: wikidb229-mw_:preprocess-hash:b27e3750201baf95bec26ed10e656ecc:0)
[objectcache] Rejected set() for wikidb229-mw_:page:10:251e3cce3c49e8b536168a37f6b3ff523a60555e due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:313:9037 due to pending writes.
[Preprocessor] Cached preprocessor output (key: wikidb229-mw_:preprocess-hash:b269ce1ce9a0eee27c018e265699aa07:1)
[objectcache] Rejected set() for wikidb229-mw_:page:10:55fa941bea79a2dda2e61ffb469279c5273c057d due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:58:10085 due to pending writes.
[objectcache] Rejected set() for wikidb229-mw_:page:10:1eea3d5309d2a88c1e83cbfafba24489c41a09ad due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:1979:10035 due to pending writes.
[objectcache] Rejected set() for wikidb229-mw_:page:828:3df63b7acb0522da685dad5fe84b81fdd7b25264 due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:78:981 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_:file:73af53ccad147c77191d984a0352b7bfb895e391 due to pending writes.
[objectcache] Rejected set() for wikidb229-mw_:page:828:55fa941bea79a2dda2e61ffb469279c5273c057d due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:77:1496 due to pending writes.
[objectcache] Rejected set() for wikidb229-mw_:page:828:690afa83acf2d824b47ef6e809fe02b9ca57d63f due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:11:170 due to pending writes.
[objectcache] Rejected set() for wikidb229-mw_:page:828:cbb9fa252e60809efa55a7ad83aea5438ef56753 due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:28:111 due to pending writes.
[objectcache] Rejected set() for wikidb229-mw_:page:10:c90d0aba6c204c18a32b9494d0ed42477146bf40 due to pending writes.
[objectcache] Rejected set() for global:revision-row-1.29:wikidb229-mw_:314:8229 due to pending writes.
[Preprocessor] Cached preprocessor output (key: wikidb229-mw_:preprocess-hash:6a4f440322df0698d0df663d8685e861:1)
[Preprocessor] Cached preprocessor output (key: wikidb229-mw_:preprocess-hash:b27e3750201baf95bec26ed10e656ecc:0)
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 [[Units]] are {edit,move}