How to Solve Metin2 Client Patch and Pack Update Problems?
Detailed guide for patcher, pack, root, locale and old client file problems.
On Metin2 servers, changes made on the client side must reach the players correctly. When the root, locale, uiscript, icon, item_proto, mob_proto, map or effect files are updated, serious incompatibilities may occur if the player enters the game with the old files.
If the patcher is not working, if the file is not downloading, if the players are logging in with the old pack, or if some players have errors but others do not, the problem is usually in the client update system.
1. Symptoms of Patch Problem
- New item icons do not appear for players.
- Some players experience client shutdowns, some do not.
- The new interface change is not reflected in the player.
- The new map does not open for some players.
- Patcher does not download files or gives an error.
- Even though the root is updated, the game runs with the old Python file.
- Missing pack file errors appear in the client syserr.
2. Which Files Should Be Updated?
The pack files that need to be updated vary depending on the changes made.
- Python interface change: rootpack
- Translation and interface texts: local pack
- New item icon: icon pack and item_list
- New item/mob: client item_proto, mob_proto, icon/model files
- New map: map pack, atlasinfo, terrain/property files
- New effect: effect files and effect definitions
Updating just a single file may not be enough. For example, when adding a new item, both server item_proto, client item_proto, item_list and icon files must be compatible.
3. Is the Player Really Using the Current Client?
The first check is whether the player has received an updated patch. While the developer sees the file as updated in his client, players can continue to log in with the old file.
Things to check:
- Did Patcher download the new file?
- Is the file date in the Pack folder current?
- Does the player skip the patcher and enter directly with the exe?
- Could the old client folder be used?
- Is the file actually updated on the patch server?
- Could Cache or CDN be giving the old file?
4. Patchlist or Version File Check
Patcher systems generally work through a patchlist, version file or file hash list. If the patchlist is not updated even though the file is updated, the patcher may not download the new file.
General control logic:
- Has the updated pack file been added to the patch list?
- Is the file size correct?
- Has the hash or CRC value been updated?
- Has the version number been increased?
- Does the file path comply with the patcher format?
Patcher infrastructure may be different on each server. Therefore, taking an existing working file line as an example, the new file line should be edited in the same format.
5. Has the Pack File Really Changed?
Sometimes the file is edited in the source folder but the pack file is not repackaged. In this case, the developer thinks he has made a change, but the client still uses the old pack content.
Checklist:
- Has root or locale really been repackaged?
- Has the packaged file been copied to the correct client folder?
- Is the file on the patch server old or new?
- Does Patcher write the downloaded file to the correct location?
- Does the pack index file show the new file?
6. What Happens If Players Skip the Patcher?
Some players can run the client exe file directly instead of the patcher. In this case, they do not receive updates and try to enter the game with old files.
As a result:
- New items do not appear.
- New maps will not open.
- Python interfaces give errors.
- Client-server proto incompatibility occurs.
- Certain systems work for some players and not for others.
On professional servers, patcher bypass behavior should be prevented or client version control should be done.
7. Catching Patch Problems with Client Syserr
In error notifications coming from the player, the client must be syserr.txt file should be requested.
In case of patch deficiency, the following errors may occur:
CANNOT_FIND_PACK_FILE Failed to load image No such file or directory LoadScriptFile Error Traceback File "uiInventory.py"
If there is a missing file error in the player's syserr file, the patcher may not have downloaded that file or the file may not have been added to the pack.
8. How to Perform Clean Client Testing?
A clean client test must be performed to understand that the update is actually distributed correctly.
- Do not use the old client folder.
- Get a clean client copy.
- Run the patcher from scratch.
- Check that all files are downloaded.
- Log in to the game and test the updated system.
- Check the client syserr.txt file.
If it works on a clean client but does not work on the player, it should be considered that the player has not received a patch or is using an old client.
9. If You Use CDN or Cache
If patch files are behind a CDN or cache, old files may continue to be served for a while. In this case, even if the file is up to date on the patch server, the player can download the old file.
As a solution:
- CDN cache must be cleared.
- The file name or version number can be changed.
- Patchlist hash value must be updated.
- The file size downloaded by the player should be checked.
Common Mistakes
- Forgetting to edit and pack the root file
- Not updating patchlist or hash value
- Allowing players to bypass patcher and enter via exe
- Not performing clean client testing
- Not realizing that old files are being distributed due to CDN cache
- Skipping client pack update while updating server
FAQ
It works for me but it doesn't work for the players, why?
You may be using an updated client. Players may have received an old pack, old root or missing patch.
I added a new item, some players do not have an icon. What is the reason?
The new icon, item_list or client item_proto may not be up to date on the players' client.
Patcher is not downloading files, what should I check?
Patchlist, file path, hash/CRC, version number, web server access and CDN cache should be checked.
Operation Recommendations
- Perform clean client testing after every client update.
- Check the patch list and file hashes regularly.
- Use version control to prevent players from bypassing the patcher.
- Plan root, locale and proto changes together.
- Examine the syserr.txt files received from players after the update.
This article is specially prepared for PvPServer.