Posted July 22, 2024
high rated
GOG GALAXY
https://www.gog.com/galaxy
https://appdb.winehq.org/objectManager.php?sClass=application&iId=16854
Minigalaxy
https://sharkwouter.github.io/minigalaxy/
Heroic Games Launcher
https://heroicgameslauncher.com/
Lutris
https://lutris.net/
LGOGDownloader
https://www.gog.com/forum/general/lgogdownloader_gogdownloader_for_linux
https://github.com/Sude-/lgogdownloader
https://sites.google.com/site/gogdownloader/
gogcli - Gog Client
https://www.gog.com/forum/general/gogcli_gog_client
https://github.com/Magnitus-/gogcli
GOGcli-GUI
https://www.gog.com/forum/general/gogcli_gui_frontend_downloader_and_validator/
https://github.com/Twombs/GOGcli-GUI
MD5gog Bank
https://www.gog.com/forum/general/gogcli_gui_frontend_downloader_and_validator/post185
gogrepo
https://www.gog.com/forum/general/gogrepopy_python_script_for_regularly_backing_up_your_purchased_gog_collection_for_full_offline_e/
https://github.com/Kalanyr/gogrepoc
GOGRepo GUI
https://www.gog.com/forum/general/gogplus_download_checker/post16
https://github.com/Twombs/GOGRepo-GUI/
GOGPlus Download Checker
https://www.gog.com/forum/general/gogplus_download_checker
https://github.com/Twombs/GOGPlus-Download-Checker
GOG Checksum Lookup
https://www.gog.com/wishlist/site/my_account_provide_checksums_eg_md5_sha1_etc_for_downloadable_files
https://openuserjs.org/scripts/xmanacollectorx/GOG_Checksum_Lookup
gog-downloader
https://github.com/RikudouSage/GogDownloader/
---------------------------------
checksum | hash | md5 | xml
---------------------------------
xml files contain the md5 hash values that can be used to verify file integrity when you download games.
one way to grab the xml file:
Go to your browser's download manager window.
Rick-click on the file that you are downloading and select "copy download link" (or something similar).
In your command prompt, input "wget", followed by the download link, followed by ".xml"
Example: "wget downloadlink.exe.xml"
another way to grab the xml file:
copy the download link, paste it into your browser's address bar, and append ".xml"
references:
https://www.gog.com/forum/general/any_md5_check_available/post4
https://www.gog.com/forum/general/md5_hashes_for_big_downloads_like_the_witcher_3/post2
https://www.gog.com/forum/fallout_series/fallout_4_goty_90gb_and_no_hash_files/post3
https://www.gog.com/forum/fallout_series/fallout_4_goty_90gb_and_no_hash_files/post4
checking file integrity with innoextract and linux installer checks.
https://www.gog.com/forum/general/any_md5_check_available/post11
related threads:
https://www.gog.com/forum/general/any_md5_check_available/page1/
https://www.gog.com/forum/general/md5_hashes_for_big_downloads_like_the_witcher_3/page1/
https://www.gog.com/forum/fallout_series/fallout_4_goty_90gb_and_no_hash_files/page1/
https://www.gog.com/forum/general/we_need_a_way_to_check_file_integrity_of_backups/page1
https://www.gog.com/forum/general/i_need_some_help_with_backing_up_my_games/page1
----------
python3
----------
the following is one way to get python3
(gogrepo requires python 2.7 or 3)
# https://github.com/niess/python-appimage
# download "python3.9.19-cp39-cp39-manylinux1_x86_64.AppImage"
# make executable
chmod a+x python3.9.19-cp39-cp39-manylinux1_x86_64.AppImage
# https://python-appimage.readthedocs.io/en/latest/
./python3.9.19-cp39-cp39-manylinux1_x86_64.AppImage --appimage-extract
mv squashfs-root python3.9.19-cp39-cp39-manylinux1_x86_64.AppDir
ln -s python3.9.19-cp39-cp39-manylinux1_x86_64.AppDir/AppRun python3.9.19
# https://docs.python.org/3/tutorial/venv.html
# https://www.tutorialspoint.com/What-is-PYTHONPATH-environment-variable-in-Python
# "When you create a virtual environment with venv or virtualenv, it automatically sets PYTHONPATH to include the virtual environment's site-packages directory."
# create virtual environment with your custom name, here named "virtual_environment"
./python3.9.19 -m venv virtual_environment
# run virtual environment when using python
# run from same directory as gogrepoc.py
source /path/to/virtual_environment/bin/activate
# setup python
python -m pip list
pip install --upgrade pip
pip install html2text html5lib requests pyOpenSSL
----------
gogrepo
----------
# login
python gogrepoc.py login
# depending on quantity of games in account, this can take a while.
python gogrepoc.py update
There are many command line arguments available in gogrepoc for updating, downloading, verifying, and others.
For my ease of use, i use two scripts, listed below.
once update is done, use this script to extract game titles.
https://gitlab.com/version2013/gog.com/-/blob/main/extract_titles
Currently I download games individually, or in small batches, partly because of size constraints.
Here is the current script I use:
https://gitlab.com/version2013/gog.com/-/blob/main/update_download_verify
My script uses only a few of the available command line arguments in gogrepoc
You will need to adjust the script with your preferred command line arguments.
More information:
https://www.gog.com/forum/general/gogrepopy_for_dummies_helpful_hints_for_total_noobs/page1
post3689
post3973
------------------
Downloading game installers to multiple USB drives.
Plugging in USB drives gives non-persistent names for those drives.
When you have symlinks to your drives, it is helpful to have persistent names for those drives,
that way you can create persistent mount points for those drives.
The symlinks will be valid no matter what order you plug the drives in.
This also requires that you create unique labels for your drives.
What works for me is having a central directory containing the gogrepo files;
game installers on separate drives all accessible from one central directory with symlinks to the drives.
give your drive a label with: e2label <device> <label>
example: e2label /dev/sdb1 drive1
verify label with: blkid <device>
example: blkid /dev/sdb1
create a mount point (directory): mkdir /mnt/<label>
example: mkdir /mnt/drive1
will need 'mount' command that supports labels
mount -t <format-type> -L <label> <mount-point>
example: mount -t ext2 -L drive1 /mnt/drive1
With gogrepo, game titles are used to create each game directory.
Create your game directories on the usb drives that you want each game to reside.
Create symlinks in your central directory that point to those game directories on other drives.
References:
https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/managing_file_systems/assembly_overview-of-persistent-naming-attributes_managing-file-systems
https://oldforum.puppylinux.com/viewtopic.php?t=57257
------------------
documentation
------------------
GOG Developer Docs
https://docs.gog.com/
https://docs.gog.com/bc-languages-table/
https://github.com/gogcom/gog-galaxy-dev-docs/
unoffical documentation
https://gogapidocs.readthedocs.io/
https://www.gog.com/forum/general/unofficial_gog_api_documentation
https://github.com/Yepoleb/gogapidocs
https://www.gog.com/galaxy
https://appdb.winehq.org/objectManager.php?sClass=application&iId=16854
Minigalaxy
https://sharkwouter.github.io/minigalaxy/
Heroic Games Launcher
https://heroicgameslauncher.com/
Lutris
https://lutris.net/
LGOGDownloader
https://www.gog.com/forum/general/lgogdownloader_gogdownloader_for_linux
https://github.com/Sude-/lgogdownloader
https://sites.google.com/site/gogdownloader/
gogcli - Gog Client
https://www.gog.com/forum/general/gogcli_gog_client
https://github.com/Magnitus-/gogcli
GOGcli-GUI
https://www.gog.com/forum/general/gogcli_gui_frontend_downloader_and_validator/
https://github.com/Twombs/GOGcli-GUI
MD5gog Bank
https://www.gog.com/forum/general/gogcli_gui_frontend_downloader_and_validator/post185
gogrepo
https://www.gog.com/forum/general/gogrepopy_python_script_for_regularly_backing_up_your_purchased_gog_collection_for_full_offline_e/
https://github.com/Kalanyr/gogrepoc
GOGRepo GUI
https://www.gog.com/forum/general/gogplus_download_checker/post16
https://github.com/Twombs/GOGRepo-GUI/
GOGPlus Download Checker
https://www.gog.com/forum/general/gogplus_download_checker
https://github.com/Twombs/GOGPlus-Download-Checker
GOG Checksum Lookup
https://www.gog.com/wishlist/site/my_account_provide_checksums_eg_md5_sha1_etc_for_downloadable_files
https://openuserjs.org/scripts/xmanacollectorx/GOG_Checksum_Lookup
gog-downloader
https://github.com/RikudouSage/GogDownloader/
---------------------------------
checksum | hash | md5 | xml
---------------------------------
xml files contain the md5 hash values that can be used to verify file integrity when you download games.
one way to grab the xml file:
Go to your browser's download manager window.
Rick-click on the file that you are downloading and select "copy download link" (or something similar).
In your command prompt, input "wget", followed by the download link, followed by ".xml"
Example: "wget downloadlink.exe.xml"
another way to grab the xml file:
copy the download link, paste it into your browser's address bar, and append ".xml"
references:
https://www.gog.com/forum/general/any_md5_check_available/post4
https://www.gog.com/forum/general/md5_hashes_for_big_downloads_like_the_witcher_3/post2
https://www.gog.com/forum/fallout_series/fallout_4_goty_90gb_and_no_hash_files/post3
https://www.gog.com/forum/fallout_series/fallout_4_goty_90gb_and_no_hash_files/post4
checking file integrity with innoextract and linux installer checks.
https://www.gog.com/forum/general/any_md5_check_available/post11
related threads:
https://www.gog.com/forum/general/any_md5_check_available/page1/
https://www.gog.com/forum/general/md5_hashes_for_big_downloads_like_the_witcher_3/page1/
https://www.gog.com/forum/fallout_series/fallout_4_goty_90gb_and_no_hash_files/page1/
https://www.gog.com/forum/general/we_need_a_way_to_check_file_integrity_of_backups/page1
https://www.gog.com/forum/general/i_need_some_help_with_backing_up_my_games/page1
----------
python3
----------
the following is one way to get python3
(gogrepo requires python 2.7 or 3)
# https://github.com/niess/python-appimage
# download "python3.9.19-cp39-cp39-manylinux1_x86_64.AppImage"
# make executable
chmod a+x python3.9.19-cp39-cp39-manylinux1_x86_64.AppImage
# https://python-appimage.readthedocs.io/en/latest/
./python3.9.19-cp39-cp39-manylinux1_x86_64.AppImage --appimage-extract
mv squashfs-root python3.9.19-cp39-cp39-manylinux1_x86_64.AppDir
ln -s python3.9.19-cp39-cp39-manylinux1_x86_64.AppDir/AppRun python3.9.19
# https://docs.python.org/3/tutorial/venv.html
# https://www.tutorialspoint.com/What-is-PYTHONPATH-environment-variable-in-Python
# "When you create a virtual environment with venv or virtualenv, it automatically sets PYTHONPATH to include the virtual environment's site-packages directory."
# create virtual environment with your custom name, here named "virtual_environment"
./python3.9.19 -m venv virtual_environment
# run virtual environment when using python
# run from same directory as gogrepoc.py
source /path/to/virtual_environment/bin/activate
# setup python
python -m pip list
pip install --upgrade pip
pip install html2text html5lib requests pyOpenSSL
----------
gogrepo
----------
# login
python gogrepoc.py login
# depending on quantity of games in account, this can take a while.
python gogrepoc.py update
There are many command line arguments available in gogrepoc for updating, downloading, verifying, and others.
For my ease of use, i use two scripts, listed below.
once update is done, use this script to extract game titles.
https://gitlab.com/version2013/gog.com/-/blob/main/extract_titles
Currently I download games individually, or in small batches, partly because of size constraints.
Here is the current script I use:
https://gitlab.com/version2013/gog.com/-/blob/main/update_download_verify
My script uses only a few of the available command line arguments in gogrepoc
You will need to adjust the script with your preferred command line arguments.
More information:
https://www.gog.com/forum/general/gogrepopy_for_dummies_helpful_hints_for_total_noobs/page1
post3689
post3973
------------------
Downloading game installers to multiple USB drives.
Plugging in USB drives gives non-persistent names for those drives.
When you have symlinks to your drives, it is helpful to have persistent names for those drives,
that way you can create persistent mount points for those drives.
The symlinks will be valid no matter what order you plug the drives in.
This also requires that you create unique labels for your drives.
What works for me is having a central directory containing the gogrepo files;
game installers on separate drives all accessible from one central directory with symlinks to the drives.
give your drive a label with: e2label <device> <label>
example: e2label /dev/sdb1 drive1
verify label with: blkid <device>
example: blkid /dev/sdb1
create a mount point (directory): mkdir /mnt/<label>
example: mkdir /mnt/drive1
will need 'mount' command that supports labels
mount -t <format-type> -L <label> <mount-point>
example: mount -t ext2 -L drive1 /mnt/drive1
With gogrepo, game titles are used to create each game directory.
Create your game directories on the usb drives that you want each game to reside.
Create symlinks in your central directory that point to those game directories on other drives.
References:
https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/managing_file_systems/assembly_overview-of-persistent-naming-attributes_managing-file-systems
https://oldforum.puppylinux.com/viewtopic.php?t=57257
------------------
documentation
------------------
GOG Developer Docs
https://docs.gog.com/
https://docs.gog.com/bc-languages-table/
https://github.com/gogcom/gog-galaxy-dev-docs/
unoffical documentation
https://gogapidocs.readthedocs.io/
https://www.gog.com/forum/general/unofficial_gog_api_documentation
https://github.com/Yepoleb/gogapidocs
Post edited December 29, 2024 by solar_dome