
* Added new ktor dependency for developing multiplayer API v2 * Added the api package, including endpoint implementations, cookie helpers, serializers and structs * Fixed a bunch of problems related to error handling * Fixed some API incompatibilities, added getFriends() method Rename the Api class to ApiV2Wrapper, added a chat room screen Replaced logging dependency, renamed the endpoint implementations * Dropped the extra logger to remove dependencies, added the APIv2 class * Restructured the project to make ApiV2 class the center * Improved chat handling, added server game detail caching Added a generic HTTP request wrapper that can retry requests easily Added a default handler to retry requests after session refreshing * Updated the API structs based on the new OpenAPI specifications Switched endpoint implementations to use the new 'request', updated WebSocket structs * Updated the auth helper, added the UncivNetworkException Fixed some more issues due to refactoring APIv2 handler Fixed some issues and some minor incompatibilities with the new API * Implemented the LobbyBrowserTable, added missing API endpoint Fixed login and auth issues in the main menu screen * Added new WebSocket structs for handling invites and friends Updated the API reference implementation * Added GET cache, allowed all WS messages to be Events, added missing endpoints Added func to dispose and refresh OnlineMultiplayer, only show set username for APIv2 * Reworked the ApiV2 class to improve WebSocket handling for every login Added small game fetch, fixed lobby start, some smaller fixes * Change the user ID after logging in to fix later in-game issues Attention: Afterwards, there is restoration of the previous player ID. Therefore, it won't be possible to revert back to APIv0 or APIv1 behavior easily (i.e., without saving the player ID before logging in the first time). Added serializer class for WebSocket's FriendshipEvent enum Fixed chat room access and cancelling friendships * Fixed WebSocket re-connecting, outsourced configs Updated the RegisterLoginPopup to ask if the user wants to use the new servers Implemented a self-contained API version check with side-effects Fixed various problems with WebSocket connections Don't show kick button for lobby owner, handle network issues during login * Added English translations for ApiStatusCode, fixed broken APIv1 games for uncivserver.xyz Fixed subpaths in baseUrl, added server settings button * Added WS-based Android turn checker, added a new event channel, fixed APIWrapper Added a logout hook, implemented ensureConnectedWebSocket Merge branch 'master' into dev * Throttle auto-reconnect for WS on Android in background, added reload notice for your turn popup Implemented real pinging with awaiting responses, fixed ping-related problems * Adapted new getAllChats API, added outstanding friend request list, improved styling * Added the ApiVersion enum and the ApiV2 storage emulator * Updated the APIv2 file storage emulator * Replaced all wildcard imports with named imports
Unciv - Civ V remake for Android & Desktop
What is this?
An open source, mod-friendly Android and Desktop remake of Civ V, made with LibGDX
Is this any good?
Depends what you're looking for. If you're in the market for high-res graphics, amazing soundtracks, animations etc, I highly recommend Firaxis's Civ-V-like game, "Civilization V".
If you want a small, fast, moddable, FOSS, in-depth 4X that can still run on a potato, you've come to the right place :)
What's the roadmap?
In this order:
- Polish! As you may have noticed, Unciv is fully functional but rough around the edges. This means:
- UI+UX improvements (suggestions welcome!)
- Better automation, AI etc. in-game
- Finishing off Vanilla mechanics - mostly done!
- G&K mechanics - espionage, small other changes (see #4697)
- BNW mechanics - trade routes, world congress, etc.
Contributing
How can I help?
Programmers start here!
Translators start here!
Modders start here!
You can join us in any of the open issue, or work on improving anything you want - once you're finished, issue a pull request and it'll go into the next version!
If not, you can help by spreading the word - vote for Unciv where you can, mention it on Reddit or Twitter etc, and help us with new ideas of how to get the word out!
FAQ
How do I install?
- Android - Google Play or F-droid
- Windows/Linux - itch.io, Flatpak via Flathub, or AUR
- Raspberry Pi - Pi-apps
- MacOS - Install with this guide
- Jars, APKs and Windows/Linux builds also available in Releases (run jar with
java -jar Unciv.jar
) - not recommended since we update frequently and you will quickly become out-of-date - Build from scratch if that's your thing
How about IOS?
I'm not planning on it. It means paying money to Apple, yet another release path, and since I don't have an IOS device it means I can't test it properly.
Steam release?
Steam has decided that they don't want to host Unciv, they probably don't want to risk legal issues with Firaxis (although those should be non-existant, see below)
Will you implement {feature}?
If it's in the original Civ V, then yes!
There's a lot left to implement, so it's hard to give an estimation of when exactly each feature will be added, but we're constantly improving!
If not, then the feature won't be added until we've finished all the features from the original Civ - as mentioned, this will take a while!
Why not? This is its own game, why not add features that weren't in Civ V?
Having a clear vision is important for actually getting things done.
Anyone can make a suggestion. Not all are good, viable, or simple. Not many can actually implement stuff.
As an open source project, this stuff is done in our spare time, of which there isn't much.
We need a clear-cut criteria to decide what to work on and what not to work on.
Will you implement Civ VI?
Considering how long it took to get this far, no.
How can I learn to play? Where's the wiki?
All the tutorial information is available in-game at menu > civilopedia > tutorials
All the information is included in the amazing Civ V wiki
Since this is a Civ V clone, you can search Google for how to play Civ V and there are loads of answers =)
Alternatively, you could join us on Discord and ask there =D
Aren't you basically making a Civ V clone? Is that even legal?
This is a subject that I've heard a lot of hearsay on but no solid sources of law.
From what I gather, it is illegal:
- To use the Civilization name
- To impersonate the Civ games (so calling yourself civi|zation with a similar logo, for instance)
- To use any assets from the original game (images, sound etc) - they belong to Firaxis
From what I understand, intellectual property rights apply to names, characters and settings. They do not apply to mechanics - as I'm sure you know, there are a billion Flappy Bird knockoffs
If anyone has any real legal sources, or can shed some light on the limits of what is and is not allowed, I'd be happy to hear!
Downloads
![]() |
![]() |
---|
Run with Docker 
If you have docker compose installed:
$ docker compose build && docker compose up
and then goto http://localhost:6901/vnc.html?password=headless
If just docker:
$ docker build . -t unciv && docker run -d -p 6901:6901 -p 5901:5901 unciv
Or just use our already built one:
$ docker run -d -p 6901:6901 -p 5901:5901 ghcr.io/yairm210/Unciv
and then goto http://localhost:6901/vnc.html?password=headless