Git Product home page Git Product logo

mikemaximus / gbm Goto Github PK

View Code? Open in Web Editor NEW
225.0 225.0 10.0 26.34 MB

Game Backup Monitor - Automatically backup your saved games!

Home Page: https://mikemaximus.github.io/gbm-web/

License: GNU General Public License v3.0

HTML 3.77% Makefile 0.24% Shell 0.17% PowerShell 0.53% NSIS 1.53% Visual Basic .NET 93.76%
automatic backup cloud compression game games launch launcher linux monitor save saves sync synchronization time tracking

gbm's People

Contributors

basxto avatar elonbing avatar mikemaximus avatar totalcaesar659 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gbm's Issues

GBM stops detecting games.

Very rarely GBM will stop detecting games, even when monitoring is enabled.

I've been unable to replicate this problem.

Please comment here if you have any information.

Work-around:

Quit and restart GBM.

Start with Windows setting is on, but GBM isn't starting with Windows.

This happens when the location of the GBM executable changes. I need to re-design how this setting is checked.

Use the following work-around for now:

Open the Settings, untick "Start with Windows", then click Save. Open the Settings again, tick "Start with Windows" then click Save.

Rework Notifications

The backup and restore operations spam too many notifcations, especially when running batches.

Remove special dosbox handling

The way Dosbox games are currently detected was designed back in the earliest alpha, it's a method that may be easily broken by Windows or Dosbox updates, and requires a lot of extra code behind the scenes. I don't see much benefit of keeping this method of detection.

  • Remove all special handling of dosbox games
  • Dosbox games will be detected via the process path with no special handling required.

This method will require each DOS game use it's own copy of dosbox in a unique location to be detected properly.

The import lists a game that's already been imported.

When importing from the official list or a custom XML file, you may see a game listed that already exists in your monitor list. By design the import is supposed to ignore all games that already exist.

This bug occurs when your monitor list contains 2 or more games that share the same process name, but the list you're importing only contains 1 games with that particular process name. It's an issue with how GBM detects and matches duplicates between the lists.

The end result is basically harmless as re-importing the listed game does nothing. This may be fixed in v0.94.

Move all strings into a resource file

All strings (messages, labels, etc) should be moved into a resource file.

This will ease any future translation efforts and just clean up the code in general.

Modify game detection when admin is required

When GBM requires special privileges to properly detect a game, it shows a message box. This can possibly pull focus from a game back to Windows, which is just annoying in the best of cases.

Look into an alternative way of dealing with this situation.

Improve Sync Performance

The sync code (all of it) is very messy and inefficient with database hits. It needs to be optimized before releasing 0.94.

Backup operation removes prior file too early

GBM should only remove the prior backup file when it knows it can make a proper attempt to create a new one. It's deleting it too early. For example, the old file is removed before it checks if the saved game path it's going to backup exists.

Low impact bug from literally the first version, figures I finally notice it right after a new release.

Last Game can be shown incorrectly

When the "Choose Game" window is cancelled, this can cause a random "Last Game" to be shown if a manual restore or backup is executed right after.

Low impact and rare, not fixing until v96.

Official import connection time out

After the first connection attempt (which always succeeds), subsequent connection attempts always time out when using the official import tool, and only in Linux.

Incorrect game is detected.

GBM may detect the incorrect game is running, this can only occur when games that share the same process name are running as administrator.

Disable manual backup for games set to "Monitor Only"

Currently you can tell GBM to manually backup a game set to "Monitor Only".

Depending on the game configuration this can potentially cause GBM to crash or start a backup of the entire game in question.

This needs to be disabled in the UI and at the operation level due the ability to multi-select manual backups.

Backup file rename doesn't work in all situations

In certain situations when you change the name of a game, the directory and/or file name of the backup file isn't renamed correctly.

It seems to occur when certain special characters exist in the game name.

Ability to tag games

Add the ability to assign one or more custom tags to a game in the Game Manager.

This is the prelude to more filtering and XML export features.

Make game configuration save path the default restore path

When GBM does a backup it records the saved game path in the manifest and uses that path by default to do a restore. It was designed this way back in the earliest alpha so any computer could do a restore without even having the game configured.

This is an issue when computers use different save paths for the same game. Such as when moving between Linux or Windows, or when a game can be run from multiple locations and uses a relative saved game path.

GBM currently resolves this issue by comparing the manifest restore path to the game's configured save path, then recommending the user to restore to the save path instead. This should be the default action, the only time the manifest restore path should be attempted is as a fail safe when the game doesn't have a configuration.

Make the include / exclude fields more intuitive

The include / exclude fields are a simply colon seperated lists of files, folders or file types. It should be more visually appealing and easier to read / understand for less technical users.

Ideas:

  1. Create a seperate form for working with the include / exclude fields, similar to the helpers in the Add Game Wizard, but better.
  2. In the Game Manager, display them in an appealing way. List the included/excluded folders, files and file types seperately, possibly with their own icons indicating what they are.
  3. Retain the ability for advanced users to enter their own list manually.

Drag n' Drop shortcut feature doesn't work from the start menu in Windows 10.

The Windows 10 start menu does not behave like previous versions of Windows and can't be interacted with in the same way. This will not be fixed or changed.

As a workaround you can right-click the desired shortcut, choose "Open File Location", and drag the shortcut from the Explorer window instead.

You can also replace the Windows 10 start menu with Classic Shell to solve this issue.

Add more advanced 7-Zip features

  • Add the ability to add custom arguments/switches to the 7za command when doing backup and restore operations. This allows fine control over how verbose the log is and other functionality the user may need. This feature potentially allows the user to completely break backup and restore operations by adding invalid or malformed arguments. A warning will be displayed when the field is changed, but no validation will be done on the custom arguments.
  • Add the ability to select a custom/alternate 7-Zip utility (7za) to use instead of GBM's default. The details of this feature are still being evaluated.
  • Add a function that always validates the shipped default 7za utility before running it, simply an extra protection against malware targeting GBM. This feature will prevent the user from updating 7za on their own when GBM falls behind, but the new custom/alternate 7z utility feature will allow them to use whatever version they like.

Multiple syncs being triggered

Syncs are being triggered multiple times when remote database changes are detected, seems to be random. I've observed this on Ubuntu 16.04.

Possibly related to Mono's implementation of FileSystemWatcher or how Dropbox writes files in Linux.

This doesn't seem to hurt anything, but i'll see what can be done.

"Game Information" wiped on sync

The sync rewrite in 0.94 reintroduced a bug where some Game Information (Game Path, Company, Version, Icon, Enabled, MonitorOnly) would be wiped or reset when information was synced between computers.

Segmentation fault when displaying certain message boxes

When displaying certain message boxes, specifically any message box shown by a secondary thread, Mono may crash with a segmentation fault. This seems to be related to newer versions of Mono/X11, as it doesn't happen on any older Linux distributions.

Easiest Workaround:

Run mono as superuser.

sudo mono GBM.exe

You'll if know this worked if GBM displays the shield icon (Administrator) on the status bar. This fixes all crashes related to this issue.

Other Workaround:

Some users won't like GBM running as superuser, which is understandable. If so, following these steps will minimize this issue.

  1. Don't use the automatic search, make sure your game configurations have all their path fields set.
  2. Ensure your saved game directories exist before doing a restore.
  3. Ensure "Show Overwrite Warning" setting is off.
  4. Ensure "Disable Backup Confirmation" setting is on.

Known distros with this issue:

  • Ubuntu 16.04 xenial and derivatives

I'm working on my own fixes for this issue, which will be included in the final build of 0.96.

Enable open file/folder support

The code used in the Game Manager to directly open files or folders (Open Backup File and Open Restore Path) isn't multi-platform friendly and disabled on Linux.

Re-write it using a multi-platform friendly method.

Add more features and usability to the import

The current import procedure does the bare minimum to get the job done. It needs more features!

  • The import should match against ALL available information to determine if you can "upgrade" your existing entry to a new version. This will be extremely useful when an update breaks the current official configuration, which has been happening a lot lately.
  • If your entry doesn't match the import entry, a compare window should be shown so you the user can determine if they want the import entry.
  • Show tags on the import window and allow filtering by tag

Add more advanced sync control

  • Add the ability to customize which fields or sets of fields are synced between computers that share the same backup folder.

Error when marking a game as restored

It's possible for a database constraint failure to occur when restoring a saved game or marking it as restored. It occurs in the follow situation.

  1. You change the name of a game on one computer.
  2. A new backup is created for that game on the same computer.
  3. Your other computers have prior manifest data for the game in question and see a new save to restore.
  4. You attempt a restore or mark the game as restored and a SQL constraint error occurs.

A constraint error occurs because GBM is trying to add a new manifest record with the same ID as a prior record instead of just updating the old one.

Workaround for v0.95:

Run Tools - > Clean Local Manifest to remove the old manifest record for the game.

Ability to disable Time Tracking

Some people absolutely hate Time Tracking features. Add the ability to globally disable this feature.

  • Add option to settings
  • Disable the display of all time related data
  • Disable the automatic saving of any time related data
  • Current tracking data will not be affected by enabling or disabling this feature.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.