Our Network

GLCV3 Rocket Logo

Latest News

How to make a Game Patcher

All PC Games need patching, regardless of the developer’s roadmap, stance or opinion. Creating a routine to making your own game patcher is a must in this day and age. Writing out hundreds (maybe thousands) of lines of code is not cool, not to mention the constant debugging and testing that comes with creating a patcher.

Having a suitable, efficient and fast patching system for your game, ensures that your users are running the most up to date version you have assembled. The problem is, there are also numerous different ways to patch a game.

What is right and what is wrong in the world of game patching? There isn’t really a right or wrong answer when it comes to making a decision on making a patch routine, however, there are standards most developers seem to follow and we have a professional standard we want to introduce you to.

The Old-Skool method of Game Patching

Back in the ol’ days, the standard method of patching was to either download the latest installer (and overwrite the files), then updating registry settings or INI file settings, or maybe even just a local file containing a list of installed files.

The user would download the install.exe then run it and just do a complete overwrite on the install. This was okay, this was the standard. There are however, a few flaws with this method.

Copying Game Files

The first being, sometimes (most times) the installer would not remove redundant files, in which case the users computer ended up cluttered with files that would never be used again, this is uncool. The second reason being, it meant the user had to re-download the entire installer just to patch maybe 1-2 files. If your total install is say, 500MB, this is a lot of bandwidth just to update 1-2 files on the users computer, again, very uncool. Not only is this costly in bandwidth but it’s not cool for the user to have to sit through a download which may take up to an hour just to patch over 1-2 files.

The new-skool method of game patching

So what’s the modern standard of game patching? Well, again this is entirely developed-based. Each developer or development studio has their own opinions and concocts their own system to designing and developing a game patching method for their games.

With the advancement of DNS servers and fast-caching nodes such as CloudFlare enabling you to host your files on a huge number of servers around the world, allowing the user to download from the server that is closest to them and with the fact that the Internet is widely available globally with speeds increasing literally everywhere, the trendiest way is to provide a delivery system that can patch only the files that need to be patched.

So if your game is 500MB in total file size including all the folders, data, graphics and sound and you update say 2 images at 128kb, then surely the user doesn’t need to download and overwrite the whole 500MB again just to overwrite 2 image files at 128kb, you simply just download the 2 images at 128kb and patch just them.

Patching with Windows Accounts

Post-Windows XP, Microsoft introduced a new system that allowed for Standard user accounts and Administration accounts on PC’s. The system was introduced so app/games (executables) could choose a model, to be invoked by a Standard user which grants both the game and the user to low-level access to the computer. An administrator account is elevated privileges that allow for high-end access, such as writing to Program Files and other typical read-only directories on the computer.

The system is great, it allows a basic layer of security for the operating system and the computer. It can however make the development of a patching system more cumbersome in that there are regulations and roadblocks that crop up due to this secure layer that Microsoft developed. For example, the executable that is copying (and overwriting) the files to be patched, can be denied access and sometimes, you cannot even pull an error back to catch this. It can just be silent, but it’s Windows simply just not allowing the game to patch due to low-level access.

Not only does your patcher need to have elevated rights for the execution level, but also enforced within the Manifest. A typical MANIFEST will look like this

<?xmlversion=“1.0“encoding=“UTF-8“standalone=“yes“?>
<assemblyxmlns=“urn:schemas-microsoft-com:asm.v1“manifestVersion=“1.0“>
<trustInfoxmlns=“urn:schemas-microsoft-com:asm.v3“>
<security>
<requestedPrivileges>
<requestedExecutionLevellevel=“requireAdministrator“uiAccess=“true“/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

This will either need to accompany the executable (same directory) or will have to be embedded into the executable file itself.

Game Patching with Checksums

Md5 File Hashing for Game PatchingSo, how do you know if a file on the users computer differs from a file that’s been released as patched? Checksums. A checksum is a unique string that is generated from a unique set of data and hashed to make it even more unique. You would then compare the hash from the patched file to the hash of the file located on the users computer.

Patching via checksums is most certainly the standard today, it not only provides a unique way to identify files that differ, but it also provides a more secure method of file comparison as the hash has to be unique and unique only to your development, or game, or app.

You can hash with literally any level of security such as SHA-2, but you can also use just the basic form of MD5. An MD5 signature, provided it is salted.

So how do you salt an MD5 signature? Well there are two ways, statically and dynamically. So you could use “justthislittleformedstring” to add on to the end of the already-existing checksum string, or you could generate something that is dynamic (and random) to go with it. The latter, is a tad overkill for game patching. It’s not really required to be super-stringent on security because afterall, this is your game development, it’s already unique and it makes no sense for someone to do anything other with the file, than install it.

MD5 provides a basic layer of encryption, but it also provides a unique signature per file depending on at least one of the factors making up the string to be hashed, is dynamic. With file patching or game patches, you would usually take the filesize (in bytes) for the longest filesize integer plus the filename plus the last modified date of the file.

This will give you a unique MD5 signature, enough for patching files, even if you had over 12,000 files, it’s still ample.

The Advanced Online Patching System

The AOPS (Advanced Online Patching System) was designed and built into Game Launcher Creator V2 Pro, to allow game developers to skip all the required programming and coding to design and develop their own game patching system.

GLC V2 Pro contains an already developed and customizable system that will generate a patching routine exclusively and uniquely for your game developments. You simply fill out the method of game patching and just release the launcher with your game.

Your users (players) can now simply click a customized button in your launcher and it will start the patching process. The AOPS system will first check for an update, if there is one available, it will prompt the user and they can begin patching their game up to the latest version.

Minecraft Game Patcher

 

It’s quite customizable and there are many switches available for the AOPS patching system, such as suppressing the prompt and just auto-patching and even performing an auto-update check. It will literally save you hours designing, developing and testing your own coded patching system as well as debugging any issues that may crop up.

The AOPS patching system also includes a debugging log system, which means if you users ever experience difficulties or errors, you can debug immediately by looking at the debug log. It’s a fool-proof, highly advanced patching system that you can setup in literally 2 minutes.

We highly recommend you check out the AOPS system and if you don’t have it yet, purchase GLC V2 Dev edition today.

What game do you want to create for?

What Development do you want to build for?

Our Stats

0 +

Years Development

0 +

Software Updates

2500 +

Users Worldwide

6000 +

Launchers Built

Terms and Conditions

Game Launcher Creator V3 is a Windows software product developed by ByteBox Media Ltd.

When you purchase a license for Game Launcher Creator V3, you are purchasing a single-user, lifetime license.

This means you are entitled to lifetime use of the software version you have purchased.

When you checkout to purchase, you agree to our terms and conditions at our online store. Furthermore, upon installing the software to your computer and activating the license key, you also agree to the EULA (End User License Agreement).

Your purchase and your use of the software is tied to the terms and conditions set out at the checkout and in the EULA.

End User License Agreement (EULA)

End-User License Agreement (EULA) of Game Launcher Creator V3 (GLCV3).

This End-User License Agreement (“EULA”) is a legal agreement between you and ByteBox Media.

This EULA agreement governs your acquisition and use of our Game Launcher Creator software (“Software”) directly from ByteBox Media or indirectly through a ByteBox Media authorized reseller or distributor (a “Reseller”).

Please read this EULA agreement carefully before completing the installation process and using the Game Launcher Creator software. It provides a license to use the Game Launcher Creator software and contains warranty information and liability disclaimers.

If you register for a free trial of the Game Launcher Creator software, this EULA agreement will also govern that trial. By clicking “accept” or installing and/or using the Game Launcher Creator software, you are confirming your acceptance of the Software and agreeing to become bound by the terms of this EULA agreement.

If you are entering into this EULA agreement on behalf of a company or other legal entity, you represent that you have the authority to bind such entity and its affiliates to these terms and conditions. If you do not have such authority or if you do not agree with the terms and conditions of this EULA agreement, do not install or use the Software, and you must not accept this EULA agreement.

This EULA agreement shall apply only to the Software supplied by ByteBox Media herewith regardless of whether other software is referred to or described herein. The terms also apply to any ByteBox Media updates, supplements, Internet-based services, and support services for the Software, unless other terms accompany those items on delivery. If so, those terms apply.

License Grant
ByteBox Media hereby grants you a personal, non-transferable, non-exclusive licence to use the Game Launcher Creator V3 software on your devices in accordance with the terms of this EULA agreement.

You are permitted to load the Game Launcher Creator software (for example a PC, laptop, mobile or tablet) under your control. You are responsible for ensuring your device meets the minimum requirements of the Game Launcher Creator software.

You are not permitted to share your license key with anybody. Each license key is a single-user license to be used by the individual named on the purchase receipt. Any sharing of keys will be a violation of this End User License Agreement and the additional terms set out at https://gamelaunchercreator.com/terms/ will be terminated and banned by us, with no refunds.

Please ensure the software contains the features you are expecting before installing and activating the license and using the software. Once a license is installed and activated (used) refunds will not be permitted. As per the terms and conditions at https://gamelaunchercreator.com/terms/ agreed to by you upon checkout, you ensure you have checked the most recent features available of GLCV3.

You are not permitted to:

Edit, alter, modify, adapt, translate or otherwise change the whole or any part of the Software nor permit the whole or any part of the Software to be combined with or become incorporated in any other software, nor decompile, disassemble or reverse engineer the Software or attempt to do any such things
Reproduce, copy, distribute, resell or otherwise use the Software for any commercial purpose.

Allow any third party to use the Software on behalf of or for the benefit of any third party
Use the Software in any way which breaches any applicable local, national or international law
use the Software for any purpose that ByteBox Media considers is a breach of this EULA agreement.

Intellectual Property and Ownership
ByteBox Media shall at all times retain ownership of the Software as originally downloaded by you and all subsequent downloads of the Software by you. The Software (and the copyright, and other intellectual property rights of whatever nature in the Software, including any modifications made thereto) are and shall remain the property of ByteBox Media.

Licenses are issued in the form of a serial number generated upon purchase. This serial number is not to be shared, distributed or altered. You must keep your serial number safe. If it is found in the wild (ie: attached to a forum post, torrent, download or shared in any way) it will be banned and no refunds issued.

You are not permitted to change the launcher icon outside of the GLCV3 editing environment. You will void your license in doing so.

You are permitted to use GLCV3 to create custom launchers for your own personal and commercial game projects. You are not permitted to use GLCV3 to create launchers for other people, companies or users. You are not permitted to use GLCV3 for the purpose of a SaaS such as Fiverr.

ByteBox Media reserves the right to grant licences to use the Software to third parties.

Termination
This EULA agreement is effective from the date you first use the Software and shall continue until terminated. You may terminate it at any time upon written notice to ByteBox Media.

It will also terminate immediately if you fail to comply with any term of this EULA agreement. Upon such termination, the licenses granted by this EULA agreement will immediately terminate and you agree to stop all access and use of the Software. The provisions that by their nature continue and survive will survive any termination of this EULA agreement.

You are not permitted to change any of the files that come with the installation including the editor and/or the launcher files except your project file and settings files. Modifying the binary information, the binary executables or any file belonging to the GLCV3 installation or runtime of the launcher, outside of the GLCV3 editing environment can result in your license being terminated.

DISCLAIMER OF WARRANTY.
THE SOFTWARE AND THE ACCOMPANYING FILES ARE PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, BYTEBOX MEDIA DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF PERFORMANCE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL BYTEBOX MEDIA BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL OR INCIDENTAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION OR LOSS OF BUSINESS INFORMATION) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF BYTEBOX MEDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

Governing Law
This EULA agreement, and any dispute arising out of or in connection with this EULA agreement, shall be governed by and construed in accordance with the laws of England.

Affiliate Program

The affiliate program for Game Launcher Creator V3 is a private affiliate program at the moment.

If you wish to contact us regarding this, please email us directly.

Copyrights

Game Launcher Creator V3 (GLCV3) Copyright © 2017 – 2023 ByteBox Media Ltd.

We have specific guidelines on the use of our branding including, but not limited to, images, logos and software screenshots.

Some trademarks and brands used throughout our network are copyright of their respective owners.

We are not affiliated with, endorsed by nor partnered with any other company outside of our partners page.

Our software product contains only material copyright to ByteBox Media Ltd or our partners. We do not affiliate with CFX, FiveM, RageMP, AltM. We neither endorse use of private or illegally modified servers and we certainly do not endorse illegal downloads or modification of files.

Our software is a standalone software that does not modify any game files, game servers or configuration files. We do not inject any files, nor modify any memory footprints or allocations.

You can view our full copyright and trademark notices here.

You can contact our legal team here.

Privacy Policies

ByteBox Media Ltd follows all regulatory instructions for privacy across our entire network of websites. Your data is secure and private. You can click the cookie button to review cookie settings for this website and any of our network websites.

You can also click the button here to view our global privacy policy which applies across our network of websites and this domain.

You can always contact us via email if you ever have any concerns and we would be happy to correspond with you.

Choose A Site

Quickly browse to any of our other websites in our network here.

Game Patch Creator

A professional game patching software

Config File Creator

Create your own INI dialogs and settings.

GamGuard Anti-Cheat

A professional anti-cheat protection for developers

Game Install Creator

A professional anti-cheat solution for developers

ByteBox Media Hosting

Professional web and patch server hosting

ByteBox Media Store

Our official support and documentation website

ByteBox Media Support

Our official support and documentation website

Our Coroporate Site

Our official corporate company website