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
Creates a landscape with more accurate river generation in Minecraft version 1.12 using python.

MinecraftLandRiverGen View the following youtube video to set up a world that can interact with the python programs

23 Dec 25, 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 02, 2023
Editor for Bioware's Original Neverwinter Nights Game

neveredit This is an import of an old sourceforge project. Neveredit is an editor for Bioware's Neverwinter Nights game. It also includes all the low

Peter Gorniak 2 Apr 12, 2022
Quiz game made entirely with python and pygame for school work

Tabela de conteúdo Descrição Como instalar Linguagens usadas Contribuidores Créditos Problemas com o jogo? Contate-nos Descrição Quiz feito inteiramen

3 Apr 12, 2022
Basic Python physics library.

pythonPhysics Basic Python physics library. Must have pygame installed. How to: Sketon program is included. for p in env.particles: pygame.draw.circle

1 Jan 16, 2022
This is a classic guess coin game (Heads or Tails) implemented by the Chialisp.

This is a classic guess coin game (Heads or Tails) implemented by the Chialisp. It is an absolutely fair P2P game based on the Chia blockchain. You can play with anyone in the world without custody.

Kronus91 14 Jul 02, 2022
Tic tac toe game developed by naman in python

TIC TAC TOE GAME DEVELOPED BY NAMAN IN PYTHON . IT USES MINMAX ALGORITHM TO COMPETE IN DIFFICULTY MODE

Naman Anand 4 Jun 24, 2022
Implementation of the famous puzle Tower of Hanoi

Tower_of_Hanoi Implementation of the famous puzle "Tower of Hanoi". The setup consists of three pegs (sticks) and a certain amount of discs (in this i

Raffaele Fiorillo 3 Mar 08, 2022
Implementation of Conway's game of life in python.

👾 👨🏻‍💻 Conway's Game of Life 👨🏻‍💻 👾 by FranciscoCharles An interactive simulator that implements the standard Conway Game of Life with a simpl

3 Oct 01, 2021
Simulate a Monopoly game to generate the probabilities of landing on each square.

Monopoly-Probabilities Simulate a Monopoly game to generate the probabilities of landing on each square. While this project originally was inspired by

George Waters 2 Jan 04, 2023
Space shooter being built for PyWeek 32

Axium Humanity's expansion into space had lasted centuries by the time we encountered the vicious Threx. The Threx adopted a single, religious mission

Daniel Pope 6 Oct 28, 2021
Online battleships game on python and JS

Battleships Online battleships game Using websockets to connect to the client. SQLite database for storing account data and game logs (for players top

5 Nov 11, 2021
Python Interactive Mini Games

Python Interactive Mini Games Mini projects from Coursera's An Introduction to I

Ashish Choudhary 1 Jan 16, 2022
A module for use with Pygame. Includes fully customisable buttons, textboxes, sliders and many more, as well as the ability to create and run animations on these widgets.

Pygame Widgets A helper module for common widgets that may be required in developing applications with Pygame. It supports fully customisable buttons,

37 Jan 02, 2023
An entropy-based strategy to wordle

An entropy-based strategy to wordle

Gilles Vandewiele 24 Dec 31, 2022
A car learns to drive in a small 2D environment using the NEAT-Algorithm with Pygame

Self-driving-car-with-Pygame A car learns to drive in a small 2D environment using the NEAT-Algorithm with Pygame Description A car has 5 sensors ("ey

Henri 3 Feb 01, 2022
user friendly python script who is able to catch fish in the game New World

new-world-fishing-bot release 1.1.1 click img for demonstration Download guide Click at latest release: Download and extract bot.zip: When you run fil

297 Jan 08, 2023
Este repositorio es creado con el fin de brindar soporte a las personas que están en el proceso de aprendizaje MISIONTIC 2022 en la universidad de Antioquia

Este repositorio es creado con el fin de brindar soporte a las personas que están en el proceso de aprendizaje MISIONTIC 2022 en la universidad de Antioquia. Hecho por los estudiantes para los estudi

Andrés Mauricio Gómez 11 Jun 22, 2022
PyCharge is an open-source computational electrodynamics Python simulator

PyCharge PyCharge is an open-source computational electrodynamics Python simulator that can calculate the electromagnetic fields and potentials genera

Matthew Filipovich 28 Jan 03, 2023
Open source Board Games Like Tic Tac Toe, Connect 4, Ludo, Snakes and Ladder etc...

Board-Games What to do... Add Board games like Tic Tac Toe, Connect 4, Ludo, Snakes and Ladder etc... How to do... Fork the repo Clone the repo git cl

Bit By Bit 1 Oct 10, 2022