Jump to content
L1nkZ

RPatchur, a customizable patcher

Recommended Posts

Posted (edited)

Hi everyone,

It's been a while since I've published something. Today I'm releasing the code of a patcher I've been working on for some time.

The idea was to make an open-source drop-in replacement for the Thor patcher while also bringing some improvements. The project has been developed in Rust and the UI is based on the webview project.

The patcher's current features are the following:

  • Customizable, web-based UI
  • 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
  • Cross-platform (Windows 7/8/10, Linux, macOS)

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

Releases

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

Edited by L1nkZ
release
  • Upvote 8
  • Love 1
  • MVP 1
  • Like 2

Share this post


Link to post
Share on other sites

Please don't let this die. 

 

At least make it up to a point where is a stable long term release ! 

  • Like 1

Share this post


Link to post
Share on other sites

wow nice for this, unbelievable 

Share this post


Link to post
Share on other sites

This is nice,. keep it up mate. will test it soon.

Share this post


Link to post
Share on other sites

You had me interested at "developed in Rust"

  • Upvote 1

Share this post


Link to post
Share on other sites

Quick update post.

I've worked on the patcher a bit since my last post. Here's a quick summary of the changes:

* Allow cancelling the patching process

* Fix several bugs (related to both archive parsing and patching)

* Improve overall patching performance

* Add a couple of configuration fields (to toggle integrity checks and GRF file creation)

* Switch configuration file format from JSON to YAML

* Add documentation (https://l1nkz.github.io/rpatchur/)

* Add ability to display the current download speed in the UI

Edited by L1nkZ
  • Upvote 1
  • Like 1

Share this post


Link to post
Share on other sites

I published a first release (v0.1.0) that should be fairly stable. Files can be downloaded here: https://github.com/L1nkZ/rpatchur/releases/tag/v0.1.0

Documentation can be found here: https://l1nkz.github.io/rpatchur/

If you find any bug that you want to report, please create an issue on github.

If you don't have an HTTP server available for testing, you can either use a path to a local HTML file (file:///C:/path/to/index.html) or https://rawcdn.githack.com/L1nkZ/rpatchur/v0.1.0/examples/bootstrap/index.html as the index_url in your configuration.

Disclaimer: This URL is a mirror that serves the HTML example hosted on github but I can't guarantee that the content isn't modified by the service provider.

Note: Linux users may have to recompile the project for their own distributions (because of a few dependencies), the Linux release was compiled on Ubuntu Xenial.

Edited by L1nkZ
  • Upvote 1

Share this post


Link to post
Share on other sites

I'm having a problem and I don't really understand what is the problem. I have uploaded the web file onto my server (a raspberry pi with apache2 if it can help) I'm running no-ip so I can connect directly to the apache server and I can download the .thor file I uploaded directly from my browser.

However, when I open the Patcher, it sees that there's a patch, showing downloading 0/1 but it goes directly to installing 0/1 and nothing change.

I try creating an empty grf file to see if it get patched but the file stays empty.

Am I doing something wrong?

Thank in advance and nice Patcher

Edit: Both the empty grf and the thor file have been created with GRF Editor version 1.8.3.4 and I also tried to make a thor file with ThorGenerator

Edit2: Sorry about that, I made a mistake in the plist.txt file and the GRF file were updating the data folder of the client.

Edited by exyoupjkbrxd

Share this post


Link to post
Share on other sites
2 hours ago, exyoupjkbrxd said:

Edit2: Sorry about that, I made a mistake in the plist.txt file and the GRF file were updating the data folder of the client.

Hi,

Are you still having an issue or is it working as intended now?

Share this post


Link to post
Share on other sites
On 11/27/2020 at 1:45 PM, L1nkZ said:

Hi,

Are you still having an issue or is it working as intended now?

It is working as intended, I am sorry about that.

Do you think it would be possible to close the patcher when you click on play? It stays open as of now.

 

Edit: I would love to know why something happens though. Launching the game from your patcher, if I close the client by the X at the top, a website is launched on my computer. Why is that happening and how can I remove that

Edited by exyoupjkbrxd

Share this post


Link to post
Share on other sites
On 11/28/2020 at 6:14 PM, exyoupjkbrxd said:

Do you think it would be possible to close the patcher when you click on play? It stays open as of now.

The easy way to do this (without recompiling) is to update the play button in your index.html file.

You can change:

onclick="external.invoke('play')"

to

onclick="external.invoke('play');external.invoke('exit')"
On 11/28/2020 at 6:14 PM, exyoupjkbrxd said:

Edit: I would love to know why something happens though. Launching the game from your patcher, if I close the client by the X at the top, a website is launched on my computer. Why is that happening and how can I remove that

Strange, what's your setup: version of Windows, rpatchur executable (32 or 64 bits)?

Share this post


Link to post
Share on other sites
9 minutes ago, L1nkZ said:

Strange, what's your setup: version of Windows, rpatchur executable (32 or 64 bits)?

Windows 10 Pro, running the 64 bits that I compiled myself a bit without knowing what I was doing. I have the 64bits one downloaded from github though, I could always try it.

But I'm using Annacondaq offline server that I transformed into an online server, so maybe that what it is

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.   Paste as plain text instead

  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.


×
×
  • Create New...

Important Information

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