Informations
Jump to content

Lorem Ipsum...

Click to Dismiss this Notification
Ładowanie danych...

Recommended Posts

This is the hidden content, please

 

The CPPGameLauncher is a robust application written in C++ designed for Windows systems that serves as a game launcher, updater, and patcher. This tool streamlines the process of managing and distributing game updates seamlessly.

For the companion patch creator, please check this

This is the hidden content, please
.

Example Screenshot

 

Key Features

  • HTTP File Downloads: Easily retrieve application files via an HTTP connection.
  • Reduced Download Sizes: Leverage compressed .gz files to save on bandwidth and storage.
  • RSA Verification: Ensure the authenticity of remote files with RSA public key validation.
  • File Integrity Check: Utilize SHA-256 hashes to verify the accuracy of downloaded files.
  • Update Management: Identify which files need updating by comparing CRC hashes and file sizes.
  • Multi-Server Support: Connect to multiple remote servers for redundancy.
  • Self-Updating Capability: The launcher can update itself autonomously.
  • Repair Functionality: Conveniently fix installation issues.
  • News Display: Keep users informed with updates directly in the launcher.
  • About Page: Provide details about the application.
  • File Tracking: Maintain a record of installed files in an INI file for uninstall purposes.

Dependencies

To utilize the CPPGameLauncher effectively, ensure you have the following libraries:

  • CRC++ (included with the project)
  • ini-parser (included with the project)
  • OpenSSL
  • zlib
  • curl

Installation Steps

  1. Visual Studio Setup: Install Visual Studio 2017 with the "Desktop development with C++" workload and the Windows 10 SDK.

  2. Clone the Repository: Download the repository and open the solution (.sln) file in Visual Studio.

  3. Library Compilation: Compile or obtain static libraries for zlib, OpenSSL, and curl.

  4. Project Configuration: In Visual Studio project properties, select a valid Windows SDK and adjust the library and include paths for the aforementioned libraries.

  5. Launcher Configuration: Edit the "constants.h" file to set the domain, public keys, and other parameters. For additional guidance, visit the patch creator repository:

    This is the hidden content, please
    .

    • Note: The patch creator requires the private key in .der format, while the launcher stores hardcoded .pem public keys in the "constants.h" file. To convert the keypair.pem file generated during the patch creator setup into readable .pem format, execute:
     
  1. openssl rsa -in keypair.pem -outform PEM -pubout -out public.pem
        

    Open the generated public.pem file using a text editor and copy its content into the "MAIN_PUBLIC_KEY" variable in constants.h, adjusting newlines and quotation marks as necessary. You can also utilize another key pair by repeating the generation process and assigning the new public key to the "AUXILIARY_PUBLIC_KEY" variable. The launcher will accept files signed with either key.

  2. Compile and Test: Build the application, configure the patch creator, generate a patch, upload it to your web server, and conduct testing of the launcher.

Remote Update Server Configuration

Initially, the CPPGameLauncher is configured to connect to one update server at the address update1.example.com, attempting to retrieve patch files from

This is the hidden content, please
. Ensure that files generated by the patch creator are uploaded to this directory so the launcher can access
This is the hidden content, please
and other necessary files. You can modify the domain in the "constants.h" file.

Should you wish to increase the number of update servers, for instance, by changing the "NUMBER_OF_UPDATE_SERVERS" variable to 3, the launcher will attempt connections to

This is the hidden content, please
and others if the primary update server is unavailable.

Conclusion

With its comprehensive set of features and straightforward setup process, the CPPGameLauncher provides an efficient solution for game developers looking to facilitate smooth updates and patches for their applications.

 

This is the hidden content, please

This is the hidden content, please

This is the hidden content, please

This is the hidden content, please

This is the hidden content, please

 

Link to comment
Share on other sites


Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

spacer.png

Disable AdBlock
The popup will be closed in 5 seconds...