Skip to content

UncivCN vs Upstream

This page only lists gameplay content differences. Engineering/coding conventions are in Coding standards, including doc-site maintenance details.

FeatureUpstream UncivUncivCN
MultiplayerDynamic turns (strict sequential)Dynamic turns + polling multiplayer (time-slice rotation, wait capped at seconds)
Multiplayer serverOfficial serverDefault sp.unciv.cn:30123
Multiplayer fairnessRNG re-roll on load disabled online
Map typesStandard maps+ three mirrored map modes (mirrored resources) + ring maps (no radius parity restriction)
Mod scriptingPure JSON+ Lua scripting (Unique triggers / lifecycle hooks / ctx API)
Mod JSONWhole-object replacement / basic _mergeActionMergeAction field-level merge extension, new Countables parameters
Mod checkerChecks JSON+ Lua checks (syntax / function references / API spelling) in the mod checker and mod-ci CLI
Lua toolingNone+ EmmyLua API type definitions for editors, starter template mod, per-call runaway-loop protection
Tile ownershipNonetile-claim (cities claim/swap tiles)
Citizen managementManual locking+ auto-lock button (permanent toggle)
Map annotationsNoneunit pins / map pins (notes in {saveName}_notes)
Game setupManual settingsexport/import settings to clipboard
Save compatibilityNo isolationversion isolation (old clients can't load new saves)
Bundled modsNone4.21.0.1 bundled UCCC; reverted in 4.21.5.1 — no mods bundled anymore
LocalizationMultilingual+ full Simplified Chinese localization (incl. Unique translations)
Game contentUpstreamAlways tracks the latest upstream (currently based on 4.21.6)

Notes

  • All UncivCN features are additive — upstream behavior is unchanged; with options off it behaves like upstream
  • Chinese UI and docs are first-class: all Uniques and UI strings have Chinese translations
  • Version = upstream version + CN sub-version (.1, .2, .3…; the same upstream version can have multiple CN sub-versions; restarts at .1 after merging a new upstream), tracked in Changelog