RagnarokOnline Patcher Lite (c) 2009-2018 Ai4rei/AN

Old news

[2018-01-14] Release

This release adds iRO:Restart, kRO Zero and phRO, and updates jRO patch information. Fixes a super-random crash on super-modern systems.

[2017-12-07] Development updates

Currently there are only nightly releases for the insane ones. Recently the memory manager was replaced, which causes less memory to go to waste and makes exiting a bit quicker. The UI will remain more or less the same, most of the changes happen under the hood in preparation for new features. There are also plans to add support for new pRO and iRO:Restart, assuming they stay alive until the next stable release, which probably will not make it this year anymore.

[2017-09-07] Missile testing at Gravity

The patch 2017-09-06_data_sakray_k.rgz updates the binkw32.dll responsible for bink video rendering in a way, that breaks old clients. If that applies to you, here is the old one.

[2017-05-25] Release

This release updates kRO patch information to reflect a change in the patch transfer protocol (HTTP). This update is needed to continue receiving new kRO patches whether you use the mirror server or not.

[2017-04-01] Release

This release adds support for GRF resets employed on sakray servers and fixes a bunch of various issues, among others, patch failures caused by non-standard file attributes on NT platforms.

[2017-03-03] Release

This release fixes incorrect handling of mirror failures introduced in last release.

[2017-01-25] Seemingly missing files and random RO client crashes after patching

After updating a Ragnarok installation with the official patcher or with RO Patcher Lite 2.4.7 or older, the following symptoms can occur:

  • the client crashes either during start-up or in-game
  • the client reports missing files
  • sprites or textures appear corrupted

This can be caused by too large GRF archive. The RO client and most GRF tools cannot handle archives of more than 2 GB in size and depending on the archive layout and the file being requested, the above issues may occur. The issue can be remedied by repacking the GRF archive with the command line option /repak or with GRF Diet Plan. You might want to update to RO Patcher Lite 2.4.8 or newer, as these automatically repack the archive when it reaches the limit.

[2017-01-15] Release

This release improves download performance and stability, and fixes minor UI glitches and memory leaks.

[2017-01-14] Statistics

The collected usage data can be viewed in some fancy graphs now (updated weekly). Also belated Happy New Year, there are some updates coming in the next days.

[2016-06-12] Release (twRO only)

This release updates twRO patch information and adds support for patches distributed through HTTP (needed for twRO).

[2016-06-07] Release

This release fixes mirror selection issues and adds an option to always patch from kRO mirrors.

[2016-06-04] Release

This release fixes, among others, some elevation-related issues.

[2016-05-14] RO Patcher Lite's future and the ELUR Project

For some time the 2.x branch has been limited to bugfixes (except maybe the mirror support). There will be one more update to this branch, before it is limited to critical bugfixes1) and occasional refreshes2) only. There are also no changes to the fact, that the 3.x branch is dropped. The 4.x3) branch is on hold until ELUR is released and stable.

Now, what the heck is ELUR? The ELUR Project is a suite of universal auto-patcher applications, based among others on the RO Patcher Lite and ROCred code-base, that are distributed under a less restrictive extensions API. The point is, that RO Patcher Lite is only for updating on official RO Servers, the ELUR Project is to satisfy specialized patching needs, and mixing those made a mess of the original code-base. There is currently no ETA on when it will be available.

And to close with some rants, the kRO mirror backup/load-balance server closed last month with 63GiB of traffic; free things sure are great, aren't they?

  1. There were not many of those since the public-release, as this reflects only worst-case bugs, ex. OS incompatibilities.
  2. When enough significant shared code-base updates accumulate and the binary has not been updated in a long while, a "refresh release" occurs. A long while can also be 2 years.
  3. Full rewrite to separate UI/misc from core, also includes liniris and general *nix support.

[2016-01-09] Release

This release adds support for ASLR and DEP, improves kRO mirror balancing and the GRF repacking scenario.

[2016-01-09] Windows 10 issues with HTML patch news (panhtml)

When the update KB3132372 is installed, a patcher enhanced with the HTML patch news plug-in may crash, if the patch news contain Flash-based content. This is a problem in the flash control (issues DebugBreak when SetProcessValidCallTargets fails) and unrelated to the patcher or the plug-in.

[2015-05-02] Release

This release undoes settings removal in 2.4.5, improves performance and stability, and adds support for idRO (region-locked). There is also some more stuff to read in the doc/ folder.

[2015-04-10] Release

This release fixes kRO mirror attributions not being readable on certain Windows versions.

[2015-04-09] Release

This release adds support for community contributed fall-back mirror servers (kRO only).

[2015-01-03] Release

This release fixes various UI issues, improves UAC handling and fixes a rare, but possible GRF archive corruption issue. The executable is now tested and marked as Windows 10 compatible.

[2014-04-15] Randoms

Hello. There is currently one known issue with the patcher and one minor notice:

  • Issue: In user- or 3rdparty-induced scenarios, the patcher fails to realize that it has no write access to the GRF archive or files patched with RGZ patches due to security constraints. Current workaround is to fix the security attributes of the RO folder by applying an inherited security descriptor recursively (guide pending). All versions up to 2.4.3 are affected. A patch for this issue is being worked on. Fixed.
  • Notice: There will be no future releases of RO Patcher Lite for eRO/myRO and thRO due to a region-lock and shutdown respectively.

[2013-12-01] Release

This release fixes an issue, where the client would take over the patcher's privileges, rather than asking for elevation. The executable is now marked as Windows 8.1 compatible.

[2013-10-13] Release

*blows off dust* This release updates iRO patch information and refreshes some core/snippets code. The executable should now also be properly recognized by Windows as Windows 8 compatible. And no, RO Patcher Lite is not dead yet.

[2012-12-13] Windows 8

RO Patcher Lite has been tested for compatibility with OOBE Windows 8; result: supported, there are no changes to the user experience from Windows 7.

[2012-09-28] Random stuff from 3.x development

While testing a new code component for the patcher, I ended up writing a generator for visual waste maps of GRF archives in the spirit of common defrag programs. When I said that 3.x had reached usable state it turned out, it wasn't and it isn't. Plug-ins are currently broken, the UI has various glitches and accompanied source hacks. It would be nice to get things done until Christmas.

[2012-07-29] Note on 'run it as administrator'-fix suggestions

I have stumbled upon various threads over the last months telling people to run the patcher or any other of my tools 'as administrator' when they are experiencing problems. While this certainly fixes issues with a lot of software, it does not apply to my tools. They are UAC-aware, which means that they ask for elevation only when really necessary and otherwise do not need it. Running as administrator should not be considered a bug-fixing measure in general, especially not with software you do not know and use for the first time. That said, also avoid telling others to run something 'as administrator' and ask them to report the issue instead.

[2012-04-15] Release

Aw, I'm slow; sorry, I meant lazy. Anyway this release fixes most of the timeout related issues experienced with various versions of the WinInet library. Additionally almost all network-related failures are collected in a debug log file in this version, so any remaining people experiencing issues can send it to me. The 'keep patches' (SHIFT+Close) feature now works regardless of patch process outcome. Finally pure and full-bundle packages were also updated to benefit from this bug-fix. The latter needed an update anyway, as the aRO patch information was outdated.

[2012-02-18] Time-out issues

Users with a high latency connection between themselves and the patch server they connect to, may experience either of the following issues:

  • Patcher gets stuck at 'attempt to connect to file server' or starts downloading patches slowly and gets stuck after a while, and does not continue for an hour unless the patch process is canceled or the connection taken down by force (ex. disconnecting cable/wireless network).
  • Patcher randomly fails to connect to file server or fails in mids of downloading on random patches when the download connection speed drops below 340 bytes/s (2.7 kbit/s).

The first issue can be experienced when IE6 is installed and is caused by a bug that makes the patcher unable to detect the failed connection within reasonable time, and the other with IE7 and newer[1] which is caused by a code defect that makes the patcher unable to correctly adjust to the connection (read: it is implemented, but it does not work as it should). Either of the issues is unlikely to occur with IE4. Both issues will be addressed by a 2.x bugfix release.

[2011-12-07] Roll-up patch for missing patches

Still having outdated client, but cannot patch because the patches are no longer available, yet don't want to download a new client? There are two patch-roll-up packages available, one for kRO RAG and the other for kRO RE. Each package contains extracted .rgz files and a patcher that updates the GRF archive to a state that is patch-able (up to 2011-07-20).

Just extract the package, launch the patcher and choose the correct GRF archive (patch8 -> data.grf, patchRE3 -> rdata.grf). After the patch process is complete, copy all stuff from folder 'RO' into the folder you just updated (overwrite everything). After this you should be able to patch with RO Patcher Lite again.

Download: patch8.zip (49 MB; mediafire), patchRE3.zip (48 MB; mediafire).

[2011-11-05] Deleted kRO patches

Some bad news for those, who weren't fast enough. Patches 2011-04-19aRagexe.rgz through 2011-07-13rdata_j.gpf were deleted from old kRO patch server, so if your data is still out-of-date you will no longer be able to patch normally and get an error, that fetching 2011-04-20data_x.gpf failed.

[2011-11-02] Release

Another kRO specific release, this time to update location of the old patch server, which seemed shut-off or dead, until I was brought into attention that it is not. If you weren't able to patch these days, get this release and try again.

[2011-10-02] RO Patcher Lite 3.0

The development of the 3.x branch is slowly advancing to some usable state. Most parts have been rewritten, which will also make development of Liniris easier. The windows UI will remain the same. Changes in behavior will mainly affect handling of file types, plug-ins and the settings file.

Some interesting suggestions from various people will also make it in. Do you have some idea as well? Feel free to share it.

[2011-08-12] Release

This release is kRO specific to reflect the recent change of the file server and patch list location. You are encouraged to update if you want to continue to receive new patches. Do not worry about whether the old patcher finished patching at the old file server, as this version detects automatically when to use the new location.

[2011-05-25] Tools Release 1.5

All tools (diff, merge, pack, test) have been updated to use the latest stable version of the RSU GRF engine. Minor issues and typos have been fixed as well.

[2011-04-06] Release

This is a maintenance release with a few fixes and updates here and there, see the history for details. The SSO login mechanism for kRO patchers has been taken out again and it is uncertain, whether or not it will ever make it again in there.

[2011-01-15] Upcoming planned changes

Most of the planned changes are not really visible code clean ups from mess caused between 1.3.x and 1.4.x, among others the weird behavioral changes depending on rsu.ini existence will go. UI access for plug-ins will be simplified, so that multiple changes do not cause mess (such as pantext with panhtml). RSU for iRO (all except Valkyrie) will be updated soon as their patch information seems to be outdated.

[2010-11-19] Release

This release fixes multiple issues with the kRO sign-in feature introduced in 2.1.0, that have arisen during testing. They do not affect the patch process, but it is recommended to update. Non-kRO patchers are not affected by these issues.

[2010-11-17] Release

This release primarily introduces support for kRO specific SSO/OTP sign-in and Lua-based in-archive file deletion. The support for the 1.x versions of the GRF archive is now complete as well. Some traces of context-sensitive help are also present in this release, though the help content is still incomplete. Finally jRO PK patcher is now finally able to run the client after patching and no known false-positives are currently present for the kRO patchers.

Thanks for implementation details on the kRO OTP part, not present inside the ActiveX, go to kRO Auto Login System. Feedback on whether it works or not, is still appreciated.

[2010-10-30] kRO sign-in

The worst part of implementing the kRO sign-in is done, although waiting for the credentials getting confirmed currently freezes up the entire patcher interface. The log-in dialog is available since Windows XP, everything before that, except Windows 2000, is not able to play kRO anyway, so there will be no down-level implementation for that.

On top of that, I'm not able to test the log-in procedure, because I do not have a kRO account. Anyway using this feature is obviously at your own risk, because it substitutes the ActiveX control completely, which was originally intended for that purpose by Gravity. If you feel adventurous, you can try nightly versions and later, and report back, whether it works or not.

[Update] No longer freezes up and does not take that long for initial log-in.

[2010-10-16] Release

This release is in sign of clearing misconceptions from initial release and reflecting recent updates to the official patcher. Apparently I also managed to mix up the links of the previous release, with those of 1.4.4, causing some links not downloading the expected files.

[2010-10-11] Release

This release fixes a bunch of minor and major bugs, memory leaks and crashes. All ipatch and i18n functionality is now part of the patcher, the related plug-ins are no longer available. The performance and stability of the GRF archive engine has been improved. Ability to automatically check for updates has been added. See doc/history.txt for details.

Network access related changes did not make it into this release, due to various hardships. Actually this version should have been released yesterday, but Avira AntiVir, CAT-QuickHeal and McAfee had marked the patcher as various kinds of malware, so the code required further tweaks. Documentation will be updated soon, next release might be able to deal with kRO's new authentication scheme.

[2010-10-07] RSU/2.0 progress

One could say, things get slowly to the point of being called completed. Most of the significant TODO (especially bug fixes) is done, the insignificant part, which I want to get into 2.0 is kinda large though. How can you help? Use RSU or test the nightly releases, and if it does something, what you think it should not, or if it does not do something, what it should, post it in the bbs.

On an unrelated note, I got finally rid of a wast amount of typos in this page, even though I probably did not get all of them...

[2010-08-05] Regarding kRO authentication update

During the kRO maintenance on 2010/08/04, the authentication scheme was changed and the patcher was made part of it. This means, you can still use RSU for patching kRO, but you are required to use the official kRO/RE patcher to log-in. If it does not turn out to be waste of effort, I'll make the next release to support starting the kRO client again together with some minor features, which were implemented into the official patcher.

[2010-07-29] Plans on 2.x, no further updates to 1.x

RSU will experience some major changes until the next release, thus there will not be any further updates released for the 1.x line, except for critical bugs. I noticed a certain confusion between the lite and normal releases, so the patcher will be split into two semi-separate development lines; RO Patcher Lite and RO Patcher Max, which will correspond to the lite and normal releases respectively.

The lite patchers will have i18n functionality included, but continue to have fixed patch information. Additionally there will be always a release for each and every official server I know of (currently 7, total of 11 patchers). The max patchers will have i18n and ipatch functionality included and will not have any default patch information (so it must be specified via rsu.ini). Patches will no longer require to have them hosted on FTP. Likewise you will be able to host patch-allow and patch-listing on FTP and the settings file remotely as well.

Existing plugins, except i18n, ipatch and possibly banned ones, will continue to work without problems, and the UI will not receive any visible changes. If you have any further ideas, for either lite or max patchers, feel free to post them inside the bbs.

[2010-07-07] Lite Release Collection

This is a single, all-in-one lite release, which contains patchers for all currently supported official RO servers. Documentation is a bit stripped down and adjusted, so if you need the entire thing, you will have to take it from a normal release.

Download: rsu-lite-all.zip (Version; 724KB)

[2010-07-07] Tools BugFix Release

This tool release fixes a GRF handling (retrieving data) issue, which can occur with specially crafted archives. Normal archives found in the wild are not affected.

[2010-07-05] #*@! Week

Another batch of hardware failures managed to keep me busy since last week. 'Luckily' the only thing, which did not get damaged at all, were sources. The repositories and their recent backups did not survive that 'Double Attack' though, so I'll probably have to recommit into a three month old backup (343 revisions difference…), which was not affected. That's also why some nightly do not have proper version.

[2010-06-13] Release

First of all sorry for the late release, it took a while to figure out the cause for the patch issues and on top of that, the machine hosting the rsu repository exploded. This release fixes patch issues with slow/high-latency/broken connections (hopefully) and certain lock-ups during the patch process. For further updates, check doc/history.txt, which is included with every patcher.

[2010-06-03] 'Failed to retrieve patch_allow.txt' issues

Recently some people are running into this error while patching. I'm not exactly aware what it is caused by, could be a block or network issue. To find out, I made a release, which tracks, what really fails and writes it into a log file. 'NIO' in the log file means the last code spot, where data is actually about being transfered. All error codes are system error codes retrieved from GetLastError(). If you or your players are having such issues, download the logging client, and look for the log file after patching (ex. rsu.log).

[Update] Thanks to those, who sent the reports back to resolve the issues, will be part of the next release soon.

[2010-06-01] Release

This release fixes a small issue in RGZ processing and introduces support for mouse-less usage.

[2010-05-22] Release

This release fixes 2 minor UI glitches with start-button and status line and changes the behavior of lite releases to match the official patchers.

[2010-05-19] Release

This release introduces a plug-in system, which allows you to extend or change the patcher to match your needs. All you need is the plug-in SDK below. Translating and changing patch information is now done through the plug-in API, basic pre-made plug-ins are available, that work, like the old patcher did.

[2010-05-16] Bugfix Release 1.4.1

Today during some worst-case-scenario tests of 1.4.1, an annoying bug popped up; all GRF archives beyond 2GB on-disk size will break, because of an impossible seek. Unfortunately, this bug is not only in RSU, but in all GRF browsing/manipulation software, that uses SetFilePointer, ftell or fseek, because all of them use 'long' as offset. That being said, it also affects the official RO client and patcher. This release fixes the issue in the patcher, so that GRF archives beyond 2GB can be read without errors (writing was not affected). Until Gravity fixes their CGPak class, you may try to reclaim wasted space with /repak, if your GRF archive hits the limit, to get the file size below 2GB.

This also means, that all releases up to now are removed, since they are not able to process GRFs once they reach 2GB. Although this bug does not pose a risk at the moment (most official GRF archives are about 1.5GB large), you are encouraged to update. The customizable release will come within the next days.

[2010-05-04] Release 1.4.0 (Lite)

So yeah, where are the plug-ins? They work, and they do not. I'm not really satisfied the way everything works inside the plug-in part, so the full version with plug-in support will be delayed. Never mind, even that way there is a lot of changes and bug fixes, check the included history for details. The mentioned self-update feature can be found inside the system menu.

[2010-04-18] Generic plug-in preview

The plug-in system is done soon. The entire thing uses COM-like interfaces for version independence and allows plug-ins even to offer functionality for other plug-ins. Release is planned around first week of May, until then you can take a look at a generic plug-in made for testing. If you have any suggestions, feel free to post them in the simple bbs. Except the main (common) interface, network, UI, grf and rgz interfaces are present.

[2010-04-10] Removal of custom releases

Some issues have arisen with custom-released patchers, so this offer is no longer available. Those who already have such patcher, will continue to receive their updates. For everyone else the previously mentioned plug-in system will be available in future releases.

[2010-04-04] Going for 1.4.0

OK, 1.3.0 is said to be the final release, but I felt like toying around with it further. So 1.3.0 can be considered final in means, that everything it advertises, is really in there. Various stuff popped up through regular use, that proved to be annoying (ex. minimizing to see overall progress), as well as two issues/glitches, that are considered minor, thus not requiring an extra patch. Currently, I am considering to add plug-in support, so that the skilled ones can add stuff, like patch news, to the patcher. That would also make translation (i18n) and custom patch info (ipatch) plug-ins as well, but that is still not decided.

[2010-03-06] Release

This is the final release, and most probably the last, unless there are updates necessary, due to changes made by Gravity or any bug occurrence. It does, want I wanted it to, actually even more, considering the external patch information and translation support. UAC compatibility is improved, with on-demand elevation in case, that you are running RO on Vista/7 in wrong folder. The patcher also attempts to retry a failed download once, and if it fails even when retrying (seems to happen on kRO FTP kinda often lately), it will at least apply already downloaded patches, so it can resume on the failed download on next start.

[2010-01-18] Release

This release introduces lightweight customization of the patcher in means of translating and using own patch information. Downloaded patches can be preserved just by pressing SHIFT key when 'Close' is clicked. Finally certain UI issues have been resolved. Until final release, there is not much to do, except few performance tweaks, like safe re-usage of gaps inside the GRF archive and avoiding patches, that get overwritten anyway.

[2010-01-04] Release

This release says good bye to grf.dll and introduces own grf engine, based observations, tests and some days of debugging of newer and older official patchers and clients. All started with tracking down random missing files or completely unusable archives. There is issue in grf.dll, that cannot handle transition between v1.x and v2.x grf archives. As most of the main grf archives are v2.0 and the patches are provided in encrypted v1.02 ones, there was need for an alternative; libgrf wasn't one, due to GPL.