[ Preview ] AutoPatcher v1.0 (Python Src Fully Customizable)

[SA] - TheSeed Project
Member
Sep
Threads
4
202
10
18

AD: Mt2009 - Mobile & PC - 30 January 2026 CHECK THE PRESENTATION!

logo-png.2639


Hello,
My nick is
free-discord-logo-icon-download-in-svg-png-gif-file-formats--social-network-media-communicatio...png


Today I'm here to share a preview of my AutoPatcher.
There are many out there on the forum, but in my opinion, they are too complicated, and I also wanted to practice.

⚠️ It's not intended for end-user use (with a few improvements it could be) but I developed it only for my beta testers. ⚠️




🛠️ Server Side:
📂 Pack: (with updated file ready to download)
1735046639694.png
📁 Patcher: (with patch_list.json)
JSON:
{
    "patch_14.8": [
        {
            "locale.data": {
                "hash": "0b9dc31f07064c805e1cbe8b02e1676cbf460ac6c1d29f3012c5e21d80cdc33f",
                "size": 53122560
            },
            "locale.idx": {
                "hash": "3d73f7f25be0793d91e451f150c60e1668db7085bb06b10c77f10c32530ea388",
                "size": 72956
            },
            "root.data": {
                "hash": "e172c66a46e17e6fe474b6668a1f20b3f331289d067058905617d8f848717523",
                "size": 3738112
            },
            "root.idx": {
                "hash": "2ed323cc0c6fbadbd7ca4b1174e9daa15d870b7c28139df5f74c225e7882b90f",
                "size": 15156
            }
        }
    ],
    "exe": {
        "Metin2Release.exe": {
            "hash": "d9ec724b2aa89fbe9ddbc67521d92e992beed98e4f7d7bbfd7a1301bb87cee39",
            "size": 6532608
        }
    }
}

🛠️ Client Side:
📜Version.txt (with current client version)
📂 Pack (with eix/epk*)
🤖 Patcher.exe

❓ How it's work?

The patcher operates by connecting to a server to download a patchlist, which contains the version numbers and file hashes of the latest updates.
Then compares these details with the version numbers and hashes of the files present in the client, If discrepancies are found either in the version numbers or file hashes the patcher automatically downloads the necessary updated files from the server to ensure the client is up- to-date.


❓ How do I generate the patchlist?

🛠️ Admin Side:
I also developed a script that processes the files inside the update folder.
It calculates their size and hash values and then generates a JSON file, which is ready to be uploaded to the server for managing updates efficiently.

📜 PatcherMaker.py (patchlist maker)
📂 Update (folder with new file updated)

✨
The project is lightweight, fast, and efficient.
It has been compiled into an executable (.exe) and is fully customizable.


🖼️ All images/icons are in the Images folder
⚙️all addresses, including slide links are fully customizable in a config.py file

🤙
After due testing i will be happy to release it if anyone might be interested.
There are definitely more professional tools, but this is simple and super fast to set up,
great for beta phases or to keep the server updated for friends.



LESGOSKY 🇮🇹
 
AdBlock Detected

We get it, advertisements are annoying!

Sure, ad-blocking software does a great job at blocking ads, but it also blocks useful features of our website. For the best site experience please disable your AdBlocker.

I've Disabled AdBlock