Jump to content
L1nkZ

RPatchur, a customizable patcher

Recommended Posts

Hi,

 

A few days ago I released the first version of an open-source patcher I've been working on. The project has been developed in Rust and the UI is based on the webview project.

The project also includes a cross-platform, command-line THOR patch generator.

 

The patcher's current features are the following:

* Customizable, web-based UI

* Cross-platform (Windows 7/8/10, Linux, macOS)

* Configurable through an external YAML file

* HTTP/HTTPS support

* GRF file patching (version 0x101, 0x102, 0x103 and 0x200)

* THOR patch format support

* Drop-in replacement for the Thor patcher

* SSO login support (i.e., can act as a launcher)

* Manual patching

* Can use multiple patch mirrors

 

The project's repository can be found here: https://github.com/L1nkZ/rpatchur (and documentation can be found here). Contributions are welcome!

 

Releases

v0.3.0: https://github.com/L1nkZ/rpatchur/releases/tag/v0.3.0

v0.2.3: https://github.com/L1nkZ/rpatchur/releases/tag/v0.2.3

v0.2.2: https://github.com/L1nkZ/rpatchur/releases/tag/v0.2.2

v0.2.1: https://github.com/L1nkZ/rpatchur/releases/tag/v0.2.1

v0.2.0: https://github.com/L1nkZ/rpatchur/releases/tag/v0.2.0

v0.1.0: https://github.com/L1nkZ/rpatchur/releases/tag/v0.1.0

Edited by L1nkZ

Share this post


Link to post
Share on other sites
On 12/4/2020 at 7:22 PM, hadiesyafiq said:

Can it customize to have login panel like launcher?

Hi,

No, this is not currently possible. I'll see if there's a proper way I can add that feature because it would definitely be a plus.

Share this post


Link to post
Share on other sites
On 12/21/2020 at 10:11 PM, L1nkZ said:

A version 0.2.0 has been released: https://github.com/L1nkZ/rpatchur/releases/tag/v0.2.0

It includes a few improvements and fixes a bug on Linux. Changes are listed on the page linked above.

 

@hadiesyafiq This release should allow you to make a launcher.

Thanks @L1nkZ 

Share this post


Link to post
Share on other sites
9 hours ago, hadiesyafiq said:

hi @L1nkZ i got this error while cargo build..how to fix this?

...

Hi,

 

It seems you're missing a package on your distribution.

Doing the following on Debian/Ubuntu will probably fix that (although you may have some other missing packages):

sudo apt-get install libglib2.0-dev

 

Take a look at this Dockerfile to see most of the dependencies you may be missing for building the project on Debian or Ubuntu.

Edited by L1nkZ

Share this post


Link to post
Share on other sites
11 hours ago, L1nkZ said:

Hi,

 

It seems you're missing a package on your distribution.

Doing the following on Debian/Ubuntu will probably fix that (although you may have some other missing packages):

sudo apt-get install libglib2.0-dev

sudo apt-get install libglib2.0-dev

 

Take a look at this Dockerfile to see most of the dependencies you may be missing for building the project on Debian or Ubuntu.

Hi..i install all from dockerfile...all 243 of 244 success but just one error how to fix this error? /swt

 

rpatchur.png

Share this post


Link to post
Share on other sites
11 hours ago, hadiesyafiq said:

Hi..i install all from dockerfile...all 243 of 244 success but just one error how to fix this error? /swt

 

...

 

What are the specs of the box you use to compile the project?

Rust is actually pretty resource intensive when it comes to compiling and linking the code. For some projects for example, 4GiB of RAM might not be enough. I don't know for sure for RPatchur but it might require more than 1 or 2GiB, never checked.

Edited by L1nkZ

Share this post


Link to post
Share on other sites
7 hours ago, L1nkZ said:

 

What are the specs of the box you use to compile the project?

Rust is actually pretty resource intensive when it comes to compiling and linking the code. For some projects for example, 4GiB of RAM might not be enough. I don't know for sure for RPatchur but it might require more than 1 or 2GiB, never checked.

Have other way?/sob...my vps 2core 1gbram

Share this post


Link to post
Share on other sites
On 1/14/2021 at 3:37 AM, hadiesyafiq said:

Have other way?/sob...my vps 2core 1gbram

Well, your only option is compiling on a more powerful computer (either on a VM or natively).

And by the way, compiling on your VPS probably wasn't going to cut it anyway, unless you're running the same Linux distribution you plan running RPatchur on.

If you want to compile a Windows executable you'd have to cross-compile or compile directly on a Windows machine.

Share this post


Link to post
Share on other sites
On 2/8/2021 at 11:10 AM, hadiesyafiq said:

hi @L1nkZ i success cargo build --release...and now where can i get patcher.exe to copy to my game client directory?not found...or just use thor.exe?

Hi,

You can find the compiled executable in the target/release/ sub-directory.

Share this post


Link to post
Share on other sites
Posted (edited)

A new release has been tagged: https://github.com/L1nkZ/rpatchur/releases/tag/v0.2.2

Not really much changes on the patcher side (apart from a dependency update and a binary size reduction).

 

However, the release now includes a tool (mkpatch) to generate THOR patches easily from the command-line.

Check it out, feedback's welcome! The musl release of mkpatch should run out of the box on most linux distributions.

Edited by L1nkZ

Share this post


Link to post
Share on other sites

A new version has been released! Here are the download links: https://github.com/L1nkZ/rpatchur/releases/tag/v0.3.0

The example UI and the documentation have been updated.

 

Warning to server administrators

This update includes breaking changes: the patcher's configuration file must be updated and the patcher's cache file will be reset.

 

Summary of changes

* It's now possible to apply patches manually (through the UI)

* Multiple patch servers can now be specified in the configuration (and if one is down, rpatchur will try to use the others)

* The cache file (containing the last patch index) is now saved as JSON and can therefore be modified with a text editor (be careful though)

* The window title can now be modified through the configuration file

* A lock file is now used to ensure that only one rpatchur process can update game files at a time

* Configuration errors are now displayed using native message boxes

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.