A Cataclysm: Dark Days Ahead launcher with additional features

Overview

CDDA Game Launcher

A Cataclysm: Dark Days Ahead launcher with additional features.

Download here.

Implemented features

  • Launching the game
  • Detecting the game version and build number
  • Retreiving the available update builds
  • Automatically updating the game while preserving the user modifications
  • Soundpack manager
  • Mod manager
  • Save backups and automatic backups

Planned features

  • Tileset manager
  • Font presets

FAQ

Where is my previous version?

Is it stored in the previous_version directory inside your game directory.

How does the launcher update my game?

  • The launcher downloads the archive for the new version.
  • If the previous_version subdirectory exists, the launcher moves it in the recycle bin.
  • The launcher moves everything from the game directory in the previous_version subdirectory.
  • The launcher extracts the downloaded archive in the game directory.
  • The launcher inspect what is in the previous_version directory and it copies the saves, the mods, the tilesets, the soundpacks and a bunch of others useful files from the previous_version directory that are missing from the downloaded archive to the real game directory. It will assume that mods that are included in the downloaded archive are the newest and latest version and it will keep those by comparing their unique ident value.

I think the launcher just deleted my files. What can I do?

The launcher goes to great lengths not to delete any file that could be important to you. With the default and recommended settings, the launcher will always move files instead of deleting them. If you think you lost files during an update, check out the previous_version subdirectory. That is where you should be able to find your previous game version. You can also check for files in your recycle bin. Those are the main 2 places where files are moved and where you should be able to find them.

My antivirus product detected the launcher as a threat. What can I do?

Poor antivirus products are known to detect the launcher as a threat and block its execution or delete the launcher. A simple workaround is to add the launcher binary in your antivirus whitelist or select the action to trust this binary when detected.

If you are paranoid, you can always inspect the source code yourself and build the launcher from the source code. You are still likely to get false positives. There is little productive efforts we can do as software developers with these. We have a nice building guide for those who want to build the launcher from the source code.

Many people are dying to know why antivirus products are identifying the launcher as a threat. There has been many wild speculations to try to pinpoint the root cause for this. The best way to find out would be to ask those antivirus product developers. Unfortunatly, they are unlikely to respond for many good reasons. We could also speculate on this for days on end. Our current best speculation is because we use a component called PyInstaller that is commonly flagged as a threat. Now, if you want see how deep the rabbit hole goes, you can keep on searching or speculating on why PyInstaller itself is commonly flagged as a threat. This research is left as an exercise to the reader.

Many people are also asking why not simply report the launcher as a false positive to those antivirus products. We welcome anyone who wants to take the time to do it, but we believe it is mostly unproductive. Those processes are often time-consuming and ignored. Someone would also have to do them all over again each time we make a new release or when one of the component we use is updated or changed. The current state of threat detection on PC is quite messy and sad especially for everyone using free antivirus products.

I found an issue with the game itself or I would like to make a suggestion for the game itself. What should I do?

You should contact the game developpers about this. We are mainly providing a tool to help with the game. We cannot provide support for the game itself.

How do I update to a new version of the game launcher?

The launcher will automatically check for updated version on start. If it finds one, the launcher will prompt you to update. You can always download the latest version on github. Those using the portable version will have to manually download and manually update the launcher. From the help menu, you can also check for new updates.

The launcher keeps crashing when I start it. What can I do?

You might need to delete your configs file to work around this issue. That filename is configs.db and it is located in %LOCALAPPDATA%\CDDA Game Launcher\. Some users have reported and encountered unrelated starting issues. In some cases, running a debug version of the launcher to get more logs might help to locate the issue. Creating an issue about this is probably the way to go.

I just installed the game and it already has a big list of mods. Is there something wrong?

The base game is bundled with a good number of mods. You can view them more like modules that you can activate or ignore when creating a new world in game. These mods or modules can provide a different game experience by adding new items, buildings, mobs, by disabling some game mechanics or by changing how you play the game. They are a simple way of having a distinctive playthrough using the same game engine. The game is quite enjoyable without any of these additional mods or by using the default mods when creating a new world. You should probably avoid using additional mods if you are new to the game for your first playthrough to get familiar with the game mechanics. Once you are comfortable, after one or a few playthroughs, I suggest you check back the base game mods or even some external mods for your next world.

A mod in the repository is broken or is crashing my game when enabled. What can I do?

It is frequent for game updates to break mods especially on the experimental branch. You could try to see if there is an update for that mod. You could try updating that mod by removing it and installing it again. You could try to contact the mod author and ask him to update his mod.

Maintaining external mods can be a difficult task for an ever expanding and changing base game. The only sure and official way to have good working mods is to have them included in the base game. If you are concerned about having a reliable gaming experience, you should consider using the base game mods exclusivly and you should consider using the stable branch.

If you find out a mod in the repository is clearly abandonned and not working anymore, please open an issue about it so it can be removed.

Will you make a Linux or macOS version?

Most likely not. You can check the linux issue and the mac issue for more information.

It does not work? Can you help me?

Submit your issues on Github. Try to report bugs effectively.

Building

You can learn how to run and build the launcher by checking our building guide.

License

This project is licensed under the terms of the MIT license.

Permission to use the launcher icon was given by Paul Davey aka Mattahan.

Contributing to this project

Anyone and everyone is welcome to contribute. Please take a moment to review the guidelines for contributing.

Code of conduct

Participants in this projet are expected to follow the Code of Conduct.

Comments
  • Prepare project to use Zanata for translations

    Prepare project to use Zanata for translations

    I realized that with the recent refactors I made, I was changing some translation strings and they needed to be re-translated. Suddenly I realized some translations haven't been updated in a while and the project don't have an easy way to receive translation contributions without fiddling with gettext tools... Let's be real, potential contributors to translatation are pushed off if they need to actually fiddle with tons of tools instead of actually translating, most of them aren't even tech savvy or devs...

    I always thought that web tools for translation like Transifex were super cool and wanted to configurate one of these services for CDDA Launcher. I checked Transifex (which is actually used by CDDA itself too), but they require an "approved" registration for open source projects as the service is usually paid. So I googled around and I found Zanata, which seems a similar open source service with less registration hassle.

    I already configured everything the project needs to push and get translation from this page. The workflow would be:

    • You code stuff in CDDA Launcher, create or update translatable strings.
    • Run setup.py zanata_expush to extract strings and push them to Zanata service
    • Translators register on Zanata (free account and painless short steps)
    • Translators do their work on a nice web interface with no tool required.
    • You register, you approve them their translations (or not)
    • Run setup.py zanata_pull --approved-only to get all the strings you approved in the web interface. Or no --approved-only and you get everything anyways.
    • At this point, if you run setup.py create_installer it would include the new translations (no need to do anything else).

    I already setup a temporary page for the project, so you could see it, register and join to check (cdda-launcher-test in Zanata). But if you want you can register your own and just change the configuration files (just so you can get the ownership of it, since it's your project)

    If you wanna create your own, you only need to: create an account, create a project, add a version, update the zanata.xml file and configure your client (take a good look at that link, it's how you setup the client in your PC) and run setup.py zanata_expush. If you want to boostrap your new project and upload existing translations too you need to execute setup.py zanata_push --push-translations too (this is only for an initial setup, because it overwrites translations in the server)

    A note worth mentioning: after I had a good progress in the configuration and almost everything working, I noticed some bad news around, Zanata was an open source project sponsored by Red Hat, but it seems they pulled the main devs from the projects a few months ago. The Zanata project seems mature and still hosted, so at least for now it works and it's better than you had before. But if you wanna try other service or maybe try getting a Transifex account for this project, maybe I could help setting it up too.

    opened by KurzedMetal 45
  • Cant Install launcher due to previous version not being uninstalled, despite it being uninstalled.

    Cant Install launcher due to previous version not being uninstalled, despite it being uninstalled.

    I encountered a issue with the cdda launcher several weeks ago where it would not start despite being in my task manager. As I figured there might be a issue with my installation, I deleted all the files from my computer, along with all cdda game files as I wanted a clean installation. However after downloading the launcher and attempting to install it, a error message informs me that it was unable to uninstall the previous version of the game and it aborts installation. I have searched my entire pc for the keywords cdda or cataclysm but there is no results. So I am unable to install because of some ghost installation that does not exist.

    The error message. Error message

    opened by ANormalPers0n 22
  • Deny players updating if they install CDDAGL inside CDDA folder

    Deny players updating if they install CDDAGL inside CDDA folder

    Improve checks on user selected game directory. Add a cute icon hinting the state of the directory. This fixes #350, when the user install CDDAGL inside CDDA, they'll get an error inside the launcher, won't be able to update, install or do anything unless they change either CDDAGL installation or CDDA folder.

    opened by KurzedMetal 17
  • Cdda game launcher fails to start?

    Cdda game launcher fails to start?

    Describe the bug I try to open the launcher and it loads part of the way then stops and freezes giving a (Not responding) Msg

    To Reproduce Steps to reproduce the behavior: Open the Launcher

    Expected behavior It to start and Load the changelog or let me start the game

    Screenshots image

    Desktop (please complete the following information):

    • OS: Windows Ten

    Additional context Not that I know of sorry

    opened by SirClarke 14
  • Launcher failing to update mods correctly, causing load errors

    Launcher failing to update mods correctly, causing load errors

    mj

    Confirmed to affects Arcana and Magic Items, Cata++, probably PK's Rebalance. Others probable but unsure.

    For whatever reason, people updating their mods via the launcher are still getting errors caused by https://github.com/CleverRaven/Cataclysm-DDA/pull/24183, despite the master branches of affected mods having since been updated to fix that.

    It's gotten to the point where I've had to tell several people to update their mods manually instead of using the launcher, and I STILL get complaints about a bug I've already fixed.

    opened by chaosvolt 14
  • Point the launcher at the new build system

    Point the launcher at the new build system

    Is your feature request related to a problem? Please describe. With the Jenkins build bot being migrated away from in favor of Github actions, the launcher can no longer be used to update the game.

    Describe the solution you'd like Point the launcher at the new build system.

    Describe alternatives you've considered I dunno. I could learn enough python to do it myself, I guess? That may take a while, and it sounds like a lot of work.

    Additional context Add any other context or screenshots about the feature request here.

    opened by Inglonias 13
  • How can I treat the fatal error detected problem

    How can I treat the fatal error detected problem "Failed to execute script pyi_rth_pkgres

    Describe the bug A clear and concise description of what the bug is.

    To Reproduce Steps to reproduce the behavior:

    1. Go to '...'
    2. Click on '....'
    3. Scroll down to '....'
    4. See error

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots If applicable, add screenshots to help explain your problem.

    Desktop (please complete the following information):

    • OS: [e.g. Windows]
    • Version [e.g. 10]

    Additional context Add any other context about the problem here.

    opened by MelexKrieger 13
  • Fatal Error: Failed to execute script launcher

    Fatal Error: Failed to execute script launcher

    For the past months, every time I've tried to open up the launcher I've recieved this error: Screenshot_3

    I have tried messing around with the install locations, turning all antivirus potential off, and more reinstalls than I can remember. It seems to be happening regardless of the version, and it's quite strange as I've used the launcher for a good long while by this point. It popped out of nowhere, basically.

    My OS is Windows 10, let me know if you need any more info.

    I'm aware that a similar issue was already posted (#109), but my issues still persist despite doing the steps entailed within that issue.

    opened by spoompkin 13
  • Crash: Unhandled exception on startup

    Crash: Unhandled exception on startup

    Downloaded the new launcher version manually (Autoupdate failed) and ran it. On startup I see the launcher briefly, then it crashes and I'm notified of the unhandled exception.

    OS is Windows 10 Professional x64

    I tried to run the launcher from D:\Dropbox\CDDA\ and C:\DDA\ - same result.

    • Version: 0.9.1
    • Type: <class 'ValueError'>
    • Value: Unsupported locale 'None'
    • Traceback:
      File "cddagl\ui.py", line 890, in timeout
      File "site-packages\arrow\arrow.py", line 602, in humanize
      File "site-packages\arrow\locales.py", line 21, in get_locale
    
    
    opened by Cheet4h 13
  • Missing api-ms-win-core-path-l1-1-0.dll

    Missing api-ms-win-core-path-l1-1-0.dll

    When I try to run the launcher, I get a message stating that api-ms-win-core-path-l1-1-0.dll is missing. This has only happened after the launcher updated to version 1.5.3. To Reproduce Laptop with windows 7. Update launcher to version 1.5.3. Run. Desktop

    • OS: Windows 7 (64-Bit)
    opened by jwc1015 12
  • Windows defended detects a trojan and deletes the launcher

    Windows defended detects a trojan and deletes the launcher

    Describe the bug Detected: Trojan:Win32/Wacatac.D4!ml Status: Quarantined Date: 9/21/2020 1:00 PM Details: This program is dangerous and executes commands from an attacker.

    Affected Items: file: C:\Users\elish\AppData\Local\Programs\CDDA Game Launcher\launcher.exe file: C:\Users\elish\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\CDDA Game Launcher.lnk startup: C:\Users\elish\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\CDDA Game Launcher.lnk

    To Reproduce Start the launcher after downloading it

    Expected behavior The launcher not to be quarantined.

    Screenshots image

    Desktop (please complete the following information):

    • OS: Windows
    • Version 1.4.12
    opened by meelock 12
  • Unhandled exception: Game launch error

    Unhandled exception: Game launch error

    • Description: Launching the game causes an error message to rapidly blink in and out repeatedly till you manage to click exit on it,
    • Version: 1.5.6
    • OS: Windows-10-10.0.19044-SP0 (64-bit)
    • Type: <class 'OverflowError'>
    • Value: argument 2 overflowed: value must be in the range -2147483648 to 2147483647
    • Traceback:
      File "C:\Program Files (x86)\CDDA Game Launcher\cddagl\ui\views\backups.py", line 968, in timeout
        progress_bar.setRange(0, self.total_backup_size)
    
    
    opened by Mister-Cultist 0
  • Unhandled exception: [Enter a title]

    Unhandled exception: [Enter a title]

    • Description: [Enter what you did and what happened]
    • Version: 1.5.6
    • OS: Windows-10-10.0.19044-SP0 (64-bit)
    • Type: <class 'OSError'>
    • Value: [WinError 4393] Taggen i reanalyseringspunktbufferen er ugyldig: 'C:\Users\Slalie\OneDrive - Rogaland Fylkeskommune EES\Dokumenter\cdda\cdda\data\mods\DinoMod\mapgen\nested'
    • Traceback:
      File "C:\Users\Slalie\AppData\Local\Programs\CDDA Game Launcher\cddagl\ui\views\main.py", line 252, in showEvent
        self.game_directory_changed()
      File "C:\Users\Slalie\AppData\Local\Programs\CDDA Game Launcher\cddagl\ui\views\main.py", line 659, in game_directory_changed
        self.update_mods()
      File "C:\Users\Slalie\AppData\Local\Programs\CDDA Game Launcher\cddagl\ui\views\main.py", line 545, in update_mods
        mods_tab.game_dir_changed(directory)
      File "C:\Users\Slalie\AppData\Local\Programs\CDDA Game Launcher\cddagl\ui\views\mods.py", line 1290, in game_dir_changed
        self.scan_size(mod_info))
      File "C:\Users\Slalie\AppData\Local\Programs\CDDA Game Launcher\cddagl\ui\views\mods.py", line 1200, in scan_size
        current_scan = scandir(next_scans.popleft())
    
    
    opened by DrKevlagg 0
  • Unhandled exception: [An error with the progress bar crashed the launcher]

    Unhandled exception: [An error with the progress bar crashed the launcher]

    • Description: [I don't know why this would happen. The size of all my saves combined, according to the launcher is 725mb. I use a couple 3rd Party mods and was updating from version "2022-10-19-0515" to "2022-10-30-0948".]
    • Version: 1.5.6
    • OS: Windows-10-10.0.19043-SP0 (64-bit)
    • Type: <class 'OverflowError'>
    • Value: argument 2 overflowed: value must be in the range -2147483648 to 2147483647
    • Traceback:
      File "C:\Users\jonih\AppData\Local\CDDA Game Launcher\cddagl\ui\views\main.py", line 3583, in step
        progress_bar.setRange(0, self.total_copy_size)
    
    
    opened by Korcalius 1
  • Tried to update the game and launcher crashed at the end and didnt update

    Tried to update the game and launcher crashed at the end and didnt update

    • Description: Tried to update the game and launcher crashed mid downloading
    • Version: 1.5.6
    • OS: Windows-10-10.0.19044-SP0 (64-bit)
    • Type: <class 'PermissionError'>
    • Value: [Errno 13] Permission denied: 'C:\Program Files (x86)\CDDA Game Launcher\cdda-windows-tiles-x64-2022-09-30-0533.zip'
    • Traceback:
      File "C:\Program Files (x86)\CDDA Game Launcher\cddagl\ui\views\main.py", line 2305, in timeout
        shutil.move(self.downloaded_file, archive_dir)
      File "shutil.py", line 811, in move
      File "shutil.py", line 435, in copy2
      File "shutil.py", line 264, in copyfile
    
    
    opened by youssefmhmdabd 0
  • Something is broken in the last versions updated by launcher

    Something is broken in the last versions updated by launcher

    Describe the bug Updated as always, game load to main menu but wont load my save and prompts pic related to main menu. Try to create new game, same error. Made launcher install a clean copy in new folder, no mods no saves no soundpacks just fresh, try to start new game and same error. Downloaded latest version from cataclysmdda.org/experimental and works with my save (sees_player_retro mod broke for some reason but everything else works normally).

    To Reproduce Steps to reproduce the behavior:

    1. Update or install game with laucher.
    2. Game stops working.

    Expected behavior Launcher update game instead of breaking it.

    Screenshots imagen

    Desktop (please complete the following information):

    • OS: Windows
    • Version 7

    Additional context None.

    opened by Shibimon 1
  • no bd

    no bd

    • Name: [Enter the name of the mod]
    • Url: [Enter the Url where we can find the mod]
    • Author: [Enter the name of the author]
    • Homepage: [Enter the Url of the author website or where the mod was published]
    • Mod not found in version: 1.5.6
    opened by Razerblade333 0
Releases(v1.5.6)
Owner
Rémy Roy
Rémy Roy
Wordle - Wordle Clone With Python

Wordle Clone Python This is a cli clone of the famous wordle game developed by J

Shivam Pandya 20 Jul 07, 2022
For educational purposes, a simple script that assists in solving the word game Wordle.

WordleSolver For educational purposes, a simple script that assists in solving the word game Wordle. Instructions Pick your first word from the sugges

Christian De Leon 2 Mar 25, 2022
Use different orders of N-gram model to play Hangman game.

Hangman game The Hangman game is a game whereby one person thinks of a word, which is kept secret from another person, who tries to guess the word one

ZavierYang 4 Oct 11, 2022
Pendulum Simulation using Pygame

Pendulum project, built using pygame and math modules.

3 Nov 09, 2021
Lutris helps you install and play video games from all eras and from most gaming systems.

Lutris Lutris helps you install and play video games from all eras and from most gaming systems. By leveraging and combining existing emulators, engin

Pop!_OS 2 Nov 15, 2021
🌍🍓 A better MCPi Launcher

Planet Launcher A better, maintained launcher for the Minecraft: Pi Edition Reborn mod. Report Bug | Request Feature Planet is a maintained, feature-r

15 Oct 19, 2022
Flappy-Bird AI - Flappy Bird game with AI

FLAPPY BIRD AI Flappy Bird game solved with neat-python, a Python module based o

1 Jan 07, 2022
Cricket game using PYQT

Cricket-game-using-PYQT This is a Fantasy cricket Desktop application build in p

Sanket Mane 1 Jan 03, 2022
WIP python/pygame 2D zombie shooter

2d-shooter project A single/multiplayer co-op survival small space zombie shooter. If you'd like to contribute, feel free to join the discord! INSTALL

36 Dec 08, 2022
Just to play with my kids: create a secret alphabet and exchange encrypted messages

Secret Alphabet Description This project allows you to randomly generate an alphabet (a set of characters) and its corresponding translation. For the

BS 1 Nov 12, 2021
Arcade-like space shooter game written entirely in python

E.T.-Attack Arcade-like space shooter game written entirely in python Project description A space shooter game - inspired by the legendary game Space

Sven Eschlbeck 2 Dec 17, 2022
Orbital-patterns - A program which plots pattern that revolving planets make

orbital-patterns Click to spawn planets Press "S" to capture screenshot. Image w

Yuvraj.M 11 Dec 24, 2022
A playable version of Chess – classic two-player, various AI levels, and the crazyhouse variant! Written in Python 3

A playable version of Chess – classic two-player, various AI levels, and the crazyhouse variant! Written in Python 3. Requires the installation of PIL/Pillow and Requests

1 Dec 24, 2021
A minecraft bedrock server software written in python (3.X)

Podrum README also available in: English 🇺🇸 Français 🇫🇷 Deutsch 🇩🇪 Español 🇪🇸 Tiếng Việt 🇻🇳 Italiana 🇮🇹 Русский 🇷🇺 中文 🇨🇳 Is a Minecraf

Podrum 53 Nov 11, 2022
Brawl Stars open source server for v20

Laser Scratch Brawl Stars open source server for v20! Implemented Features Battle End Leaderboard Player Profile Lobby Info Menu Notifications Club Wa

TheIke 17 Nov 19, 2022
Dragon Quest IV (NDS) English + Party Chat Script Patcher for Japan ROM

Patches English script files from the US version of Dragon Quest IV for Nintendo DS and Android so they are rendered nicely when used with the Japan ROM. Addresses various issues caused by the Japan

Aric Huang 35 Dec 18, 2022
I got bored and wrote a wordle solver... Its pretty good though, just saying

Wordle Solver I got bored and wrote a wordle solver... Its pretty good though, just saying. Please go support Josh and have fun with Wordle on the off

Darrell Best 2 Jan 25, 2022
A very bad wordle solver to help me solve the daily wordle

Wordle Solver A very bad wordle solver to help me solve the daily wordle on https://www.powerlanguage.co.uk/wordle/ TODO list take into account letter

Logan Anderson 4 Feb 03, 2022
A small, Pygame-based library project intended for personal use.

EzyGame Version 0.0.1 A simple library project intended for personal use with Pygame. Warning: I am a very amateur programmer, so the code will probab

Dorbell 1 Jan 08, 2022
Chess-commandline - Chess in the Command Line using the Chess Module Can detect Checkmates

chess-commandline Chess in the Command Line using the Chess Module Can detect Ch

Harry Hopkinson 1 Jan 10, 2022