mikemaximus / gbm Goto Github PK
View Code? Open in Web Editor NEWGame Backup Monitor - Automatically backup your saved games!
Home Page: https://mikemaximus.github.io/gbm-web/
License: GNU General Public License v3.0
Game Backup Monitor - Automatically backup your saved games!
Home Page: https://mikemaximus.github.io/gbm-web/
License: GNU General Public License v3.0
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.
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.
The backup and restore operations spam too many notifcations, especially when running batches.
Display the size of the backup file in the session log after a backup is completed.
When you restore a backup with a relative save path, if the game path isn't set GBM will ask for it.
The game path should be saved after it's been set during the restore procedure, but it's currently not.
Suggestion from http://www.gog.com/forum/general/a_backupcloud_save_utility_for_any_game/post25
"Monitor Only" should be synced and currently is not.
The current max length on the log is quite small and it's being cleared too often.
Add a simple developer console to run commands for quick troubleshooting or repairs.
In very rare instances (multiple entries of the same game using different save paths) the restore path of a backup may not match the save path of the associated game. This should be checked then a choice made as to which path to use.
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.
This method will require each DOS game use it's own copy of dosbox in a unique location to be detected properly.
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.
The full backup should be saving the entire folder, not just files with extensions.
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.
An unhandled exception occurs while trying to edit any list view item on the Include / Exclude builder. The edit fails and GBM tries to shut down.
This only occurs when running with Mono.
It would be nice to filter by Name or Process when working on the Game Manager.
The Settings screen has become a bloated mess. Change it to a standard panel preference UI.
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.
The sync code (all of it) is very messy and inefficient with database hits. It needs to be optimized before releasing 0.94.
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.
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.
GBM keeps asking for the executable path when a game is detected, even after it's already been set during the same session.
After the first connection attempt (which always succeeds), subsequent connection attempts always time out when using the official import tool, and only in Linux.
GBM may detect the incorrect game is running, this can only occur when games that share the same process name are running as administrator.
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.
This happens due to how Windows handles permissions, this will not be fixed or changed.
Run GBM with UAC (User Access Control) off or run it with normal permissions to use the drag n' drop features.
All managers are grabbing data table fields by their select order, this is just causing stupid bugs when the query or code has to be updated.
Change all managers to grab fields by their name.
Fix the compatibility problems so automatic file/folder searching works in Linux.
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.
It's kind of annoying to have GBM pop up a message about new backups when it's launched during windows startup.
I'm going to replace that prompt with a less annoying method of notification.
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.
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.
The timestamp setting is a personal choice, it should never be imported or exported when sharing game configurations.
The timestamp setting will still be sync'd between computers sharing a backup folder.
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:
There are a few cases when GBM has to be running as Administrator to properly detect and backup a game. We need a quick and easy way to do this.
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.
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.
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.
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.
Known distros with this issue:
I'm working on my own fixes for this issue, which will be included in the final build of 0.96.
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.
The current import procedure does the bare minimum to get the job done. It needs more features!
I've been packaging dlls that aren't used. Remove them from the project.
Add a new optional setting that will require a specific session time to elapse before GBM will trigger a backup when the game is closed.
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.
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.
When a user deletes backup files and folders from GBM it should go to the recycle bin instead of perma delete.
Some people absolutely hate Time Tracking features. Add the ability to globally disable this feature.
GBM should allow you to cancel out of "Choose Game" window when multiple games are detected.
Just in case the game in question hasn't even been added to the game list yet.
Selecting multiple games and clicking save causes a conversion exception.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.