Deployment - Frequently asked questions
Posted by Panagiotis Mantzouranis on 28 May 2019 06:22 PM
1. What exactly is Gizmo deployment feature?
Gizmo deployment is one of Gizmo's main features. It's function is to update a folder on the client with files from a source folder (most commonly located on your server). Gizmo deployment compares the 2 folders (source-destination), and copies only files that is different. Optionally it can also delete files that are no longer on the source folder.
You use Gizmo deployment to update a game on your client's hard disk. You can also use it to deploy any kind of file/folder.
2. How does the deployment work?
Gizmo creates 2 file lists. One for the source folder and another for the destination. It then compares the 2 lists. Any file that is different is marked for deployment. Then gizmo copies all the different files to the client.
3. What can i use deployment for?
You can use the deployment feature to:
4. Will Gizmo automatically update my games?
Gizmo's function is to copy all files that are different, even if the file on the source folder is older. Gizmo is not aware of the game status, it does not know what the files contain, if they are corrupt or if there are files missing from the source folder. Gizmo's goal is to ensure that the files on the client are exactly the same as the files on the source folder.
You must keep the source files up to date and error free.
5. When are the files deployed by Gizmo?
There are 2 ways to initiate deployment
6. Does Gizmo deployment feature require a Windows server?
In short, No. Gizmo has 2 deployment methods.
Direct access requires network shares. Indirect access does not.
You can read more about the differences in this article
7. Why does Gizmo sometimes deploy the entire game when it is already on the client?
Gizmo copies any file that is different between the source (server) and the destination (client). By default, any file with different size, different creation/modification date, or different attributes is treated as different. A game installed on two different computers, in theory, is the same, but for Gizmo their files will have different creation dates. This difference triggers the deployment of the file. Gizmo allows you to select what it considers as a difference. This setting is called "comparison mode". Using "fast" comparison mode will not compare dates and will make gizmo deploy less files, but, skipping the files could lead to the game not working correctly.
After the initial deployment, Gizmo should not redeploy the files, since they are now an exact copy of the source (including dates etc). After that you should never again update the game on the client, only on the server. If you do, then all the updated files on the client will not match those on the server, thus triggering a deployment next time.
8. Why does Gizmo deploy a file size total of xx, when the game update was much smaller?
A game patch is designed to be as small as possible. This is because games are updated over the internet, and, keeping the patch files small saves bandwidth and time for both customer and the developer.
Game patches contain only the differences between the outdated game installation and the new one. They are designed in such a way that they only work if you have a specific (previous) version of the game. If your game installation is missing files, the game patch will not repair or update these files.
Creating these patches require a lot of CPU and time. Because the game developer has full control over the previous and next game version files, he has the time to create the patch and deploy it beforehand. If Gizmo checked each file's actual contents, and then create a new patch, it would take a lot longer, than it would to simply copy the entire file.
If a 1MB patch updates a 1,2GB file, then Gizmo will need to deploy the file again. Patches usually modify many different files, thus forcing Gizmo to redeploy them.
9. Why does Gizmo re-deploy the game after every restart?
This could happen if the game updates itself after launch. Updating, as we know, modifies the game files. Next time the client restarts and the game is launched, Gizmo will compare the files, find differences, and deploy them. The game will then launch, update the files again and so on. To solve this, make sure the server files are always up to date. Keep in mind, this update could happen in the background, while the customer is playing. Some games (such as Battle.net) download future updates while you are playing the game.
Another reason could be that you are deploying 2 different source folder to the same destination folder. If you have enabled "mirroring" mode, the second deployment may delete the files of the first. Be very careful when creating profiles with the same destination.
10. Why do some games complain that they need updating, even after i successfully deploy all the files?
Every game uses a different method to check if it is updated or not. Most games check the main executable version. Other games keep a file inside the game folder that stores the updater status. There are games that keep their version info in the windows registry. Updating the main game file does not always mean that the actual game will know it has been updated. You will need to find how each game knows if it is updated or not and make sure that you do whatever is required to update this info too.
Classic example of the above is Fortnite. Even if you update Fortnite main game files, the game will still report that it requires an update. This is because fornite stores the update status of the game inside "C:\ProgramData\Epic\" folder and not inside the actual game
In order for the game to appear updated, you also need to update "C:\ProgramData\Epic\" folder
11. Why do some games only work/appear updated only if i first delete the game from the client's pc?
There could be a number of reasons for the above. One reason is that the client pc folder contains extra/old files that are not required in the new version. By default, Gizmo only copies different files, it does not delete files. In order for Gizmo to delete unnecessary files from the client, which are not present on the server, you need to enable the "mirroring" option.
Another reason is that some files may have become corrupted on the client PC. Corrupted files are files that have been damaged, but all their properties are still the same (size, creation date, attributes). In order to detect these damaged files, you need to use the "thorough" comparison mode. Using this mode will force Gizmo to check each file's CRC and correctly detect the damaged files. Keep in mind that "thorough" takes a lot of time to complete. You should only use it if there is a verified problem with the files, and only until the files have been correctly redeployed.
A third reason is that you are using the "fast" method. "Fast" comparison mode only checks the file size. If a game relies on other file attributes, it will not work until you delete the file and gizmo redeploys it. To solve this, use "normal" comparison mode, not "fast".
12.Why does Gizmo sometimes fail to update files and/or appears to hang during automatic deployment?
In automatic deployment, when Gizmo encounters a file that it cannot update (overwrite), it retries a few times before giving up and proceeding to the next one. In some cases, the number of files to be updated are hundreds. Failing to update and retrying each file could lead to a significant deployment time, making the process appear hanged. When this happens, Gizmo manager will store a deployment error message.
In manual deployment, the deployment may fail without an error.
The most common reason for this is when the files that need to be updated are in use, usually by the game itself. To verify files are locked, try to manually delete the files from the client. If you receive an error message, that means that they are in use. You first need to close any program/service that is using the files. Some game launchers (like Epic launcher) add themselves to the windows startup. Disable this option.
Another reason is that Gizmo client process does not have access to write to specific folder, usually system. If you attempt to deploy/update files inside windows or system folders and see deployment errors in manager, disable UAC.
13.Why do some games work on the server but do not work after being deployed to the client?
Again, this has to do with how each game works. During install, the game may modify OS settings, install redistributables, install services and files outside the game folder. Simply copying the game files may not be enough for a game to work on another PC. If the game has never been installed on the client, all the other changes that would normally occur during the normal installation could cause the game to fail.
In order to solve this, you can either: