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
Unknown Horizons official code repository

Unknown-Horizons based on Fifengine is no longer in development. We are porting it to Godot Engine. Please dont report any new bugs. Only bugfixes wil

Unknown Horizons 1.3k Dec 30, 2022
MinMax Algo , Python

Write a PYTHON program to play the game of TIC-TAC-TOE on a 3×3 board with alternate inputs from user and computer.

Naman Anand 1 Nov 26, 2021
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.

1 May 21, 2022
WORDLE Helper and Solver

WORDLE Helper and Solver There is a pupular game around WORDLE The game could be hard for non-English speaking people so I started to think of a helpe

1 Jan 24, 2022
A Tetris Game for programming education

Tetris Game プログラミング学習を目的とした、ブロックを操作してスコアを競うゲームです。 FAQはこちら。 tutorialはこちら。 実行環境準備 Mac環境 Finder→Application→Utility→Terminalから、ターミナルを起動して以下コマンドを実行する。 # i

11 Dec 01, 2022
The game company we work for has two events that we want to track: buy an item and join a guild. Each of them has metadata characteristic of such events.

The game company we work for has two events that we want to track: buy an item and join a guild. Each of them has metadata characteristic of such events.

Caro Arriaga 1 Feb 04, 2022
Editing tool (read/write) .sc files (*_tes.sc , *.sc, *_dl.sc ) from Supercell games (Brawl Stars, Clash Royale, Clash of Clans and others).

SupercellSWF Version 0.1.0.2 About Editing tool (read/write) .sc files (*_tes.sc , *.sc, *_dl.sc ) from Supercell games (Brawl Stars, Clash Royale, Cl

Fred31 11 Jun 23, 2022
This a secret santa game organizer that assigns secret santa randomly to each participant and then sends an automated mail to each santa with details of his/her secret santa child.

Before executing the script, make sure to turn on 'Less Secure App access' option from your gmail ID that will be used to send out the mails to all participants of the game. To do so, get going with

DEV_FINWIZ 10 Dec 06, 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
N-Queens game made using pygame library

N-Queens N-Queens game using pygame for AIML201 Testing: 1. git clone https://github.com/python-game-dev/N-Queens.git 2. cd N-Queens 3. python main.py

1 Sep 24, 2021
3 Oct 22, 2021
Launcherpi - Minecraft Launcher for Raspberry Pi computers

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

8 Sep 24, 2022
Chess - A python gui application

Chess Python version 3.10 or greater is required to play. Note This is a gui application, and as such will not run inside WSL.

Jonxslays 1 Dec 16, 2021
:tada: 2048 in your terminal

term2048 term2048 is a terminal-based version of 2048. Install pip install term2048 To upgrade a previous installation, use: pip install -U term2048

Baptiste Fontaine 798 Nov 21, 2022
Turtle Road Crossing Game in Turtle(python module)

Turtle Road Crossing Game in Turtle(python module) In this project we have built a road crossin game in python with Object-Oriebted Programming. This

Jhenil Parihar 3 Jun 15, 2022
This is a two player snake game

Trake This is a two player snake game How to play the game There is food and two players. You try to eat food to become large and gain points. Player

Grrub 1 Dec 19, 2021
This is the card game like HearthStone and Magic

Territory War How to use it use pip3 to install django and channels: pip3 install Django pip3 install channels go to CardGame/first/consumers.py and g

Caesar 3 Oct 24, 2022
TicTacToc - Simple TicTacToc game played by minimax algorithm

TicTacToc simple TicTacToc game played by minimax algorithm. This app is based o

5 Apr 05, 2022
The Classic Fruit Collecting game made in python with pygame

FruitCollect A classic fruit Collecting game made with pygame Install pygame before running: "pip install pygame" Rules: Random fruits will drop from

Pranav Bobby 1 Dec 01, 2021
BitBot - A simple shooter game

BitBot BitBot - A simple shooter game This project can be discontinued anytime I want, as it is not a "MAJOR" project for me. Which Game Engine does i

whmsft 1 Jan 04, 2022