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
A launcher to launch games from Riot Games under Linux

rito-launcher A launcher to launch games from Riot Games under Linux Requirements: Python 3, with the following pip plugins: 'configparser, pathlib, w

null 6 Mar 7, 2022
Launch any Heroic-Games-Launcher game using bash scripts without having to open Heroic.

HeroicBashLauncher Ever wanted to launch your EGS games installed through Heroic Games Launcher directly from the terminal, Lutris or any other fronte

null 288 Dec 27, 2022
Découvrez CubeCraft Launcher, une application uniquement codé en Python et en Batch

Découvrez CubeCraft Launcher, une application uniquement codé en Python et en Batch. Grâce à son interface graphique facile et intuitive, vous pouvez vous retrouver facilement.

null 1 May 21, 2022
Launcherpi - Minecraft Launcher for Raspberry Pi computers

launcherpi Minecraft Launcher for Raspberry Pi computers. ASLO BIG THANKS TO KLO

null 8 Sep 24, 2022
Minecraft.nix - Command line Minecraft launcher managed by nix

minecraft.nix Inspired by this thread, this flake contains derivations of both v

null 12 Sep 6, 2022
🌍🍓 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

null 15 Oct 19, 2022
Datamining of 15 Days of (free) Games at the Epic Games Store (EGS).

EGS: 15 Days of Games This repository contains Python code to data-mine the 15 Days of (free) Games at the Epic Games Store (EGS). Requirements Instal

Wok 9 Dec 27, 2022
Exposè for i3 WM. Fork of https://gitlab.com/d.reis/i3expo to fix crashes and improve features/usability

Overwiew Expo is an simple and straightforward way to get a visual impression of all your current virtual desktops that many compositing window manage

null 137 Nov 3, 2022
Frets on Fire X: a fork of Frets on Fire with many added features and capabilities

Frets on Fire X - FoFiX This is Frets on Fire X, a highly customizable rhythm game supporting many modes of guitar, bass, drum, and vocal gameplay for

FoFiX 377 Jan 2, 2023
Recreation of HexGame in Pygame. More features will come soon !

Hex with Pygame Historical point of view What Are the rules of this game ? Some Strategies and tips The algorithm for the Win Other fonctionnalities W

null 4 Mar 26, 2022
A rhythm-based game that automatically generates obstacles based on a song's features.

DISCLAIMER: This is my first coding project, created in December 2019. The game may not be optimized, and looking back on it, there are a lot of chang

Kenneth Huang 1 Dec 27, 2021
This is Minesweeper coded in Python. It has almost all features from the main game

Minesweeper This is Minesweeper coded in Python. It has almost all features from the main game Use right click to open tile, right click on an open ti

null 3 Jul 12, 2022
Allows you to email people wordle spoilers. Very beta, not as many features

wordlespoiler Allows you to email people wordle spoilers. Very beta, not as many features How to Use 1.) Make a new gmail account. Go to settings (Man

null 0 Jan 4, 2023
NeoDays-based tileset for the roguelike CDDA (Cataclysm Dark Days Ahead)

NeoDaysPlus Reduced contrast, expanded, and continuously developed version of the CDDA tileset NeoDays that's being completed with new sprites for mis

null 0 Nov 12, 2022
Fully Automated YouTube Channel ▶️with Added Extra Features.

Fully Automated Youtube Channel ▒█▀▀█ █▀▀█ ▀▀█▀▀ ▀▀█▀▀ █░░█ █▀▀▄ █▀▀ █▀▀█ ▒█▀▀▄ █░░█ ░░█░░ ░▒█░░ █░░█ █▀▀▄ █▀▀ █▄▄▀ ▒█▄▄█ ▀▀▀▀ ░░▀░░ ░▒█░░ ░▀▀▀ ▀▀▀░

sam-sepiol 249 Jan 2, 2023
This is a API/Website to see the attendance recorded in your college website along with how many days you can take days off OR to attend class!!

Bunker-Website This is a GUI version of the Bunker-API along with some visualization charts to see your attendance progress. Website Link Check out th

Mathana Mathav 11 Dec 27, 2022
A look-ahead multi-entity Transformer for modeling coordinated agents.

baller2vec++ This is the repository for the paper: Michael A. Alcorn and Anh Nguyen. baller2vec++: A Look-Ahead Multi-Entity Transformer For Modeling

Michael A. Alcorn 30 Dec 16, 2022
With Christmas and New Year ahead, it is time for some festive coding. Here is a Christmas Card for you all!

Christmas Card With Christmas and New Year ahead, it is time for some festive coding! Here is a Christmas Card for you all! NOTE: I have not made this

CodeMaster7000 1 Dec 25, 2021
A youtube-dl fork with additional features and fixes

yt-dlp is a youtube-dl fork based on the now inactive youtube-dlc. The main focus of this project is adding new features and patches while also keepin

yt-dlp 37.1k Jan 3, 2023
The goal of pandas-log is to provide feedback about basic pandas operations. It provides simple wrapper functions for the most common functions that add additional logs

pandas-log The goal of pandas-log is to provide feedback about basic pandas operations. It provides simple wrapper functions for the most common funct

Eyal Trabelsi 206 Dec 13, 2022