Jump to content
L1nkZ

RPatchur, a customizable patcher

Recommended Posts

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

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

Really awesome what you got there @L1nkZ  🙂
One simple question, it supports grf encryption like Thor Patcher? 

Share this post


Link to post
Share on other sites
3 hours ago, Waken said:

Really awesome what you got there @L1nkZ  🙂
One simple question, it supports grf encryption like Thor Patcher? 

Thank you !

Yes, it should support any type of file-level encryption or compression (like LessGRF) indeed, since entries are copied as-is when patching.

  • Upvote 1

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
  • Upvote 3

Share this post


Link to post
Share on other sites

and here i was thinking to create a patcher since aeomin doesn't update anymore.. and finally see this.. and so far, I think this is more flexible than thor with it's new settings.. love it @L1nkZ

  • Like 1

Share this post


Link to post
Share on other sites
6 hours ago, Litro Endemic said:

can you include examples folder on the release, thank you 😘

Sure, I'll include it in the next releases. It'll be better to have everything in a single archive for setting stuff up indeed.

Share this post


Link to post
Share on other sites

It's possible to download and patch an specific file through a UI Button?

Share this post


Link to post
Share on other sites
16 hours ago, xVaan said:

It's possible to download and patch an specific file through a UI Button?

Hi, I'm not sure I understand the question, but this is most probably a no.

Do you mean applying a patch from a THOR file that is on your disk (that you've downloaded manually for example)? And thus being able to do so from the patcher's UI?

Share this post


Link to post
Share on other sites
Posted (edited)
5 hours ago, L1nkZ said:

Hi, I'm not sure I understand the question, but this is most probably a no.

Do you mean applying a patch from a THOR file that is on your disk (that you've downloaded manually for example)? And thus being able to do so from the patcher's UI?

this will be good feature though, like iterate file plist.txt from webserver into html page, with additional button download and patch this thor file,

in my opinion the idea is like single patch file / self update like many official games that has patch file that can be downloaded manually not automatically from patcher it self.

but I think this action will not update / edit / change patch.dat or patch.json whatever the file named the index of last downloaded patch from plist.

one of issue I created previously that was is to client have ability to modify patch.dat so the user can download from specific index.

there is this scenario. the server owner want to make downloadable patch but not the patch it self is "not must" download and patch content like official data, so the owner can ship / deploy his client rpatchur with patch.json with last index from what number client has to / must download.

 

Edited by Litro Endemic
  • Upvote 1

Share this post


Link to post
Share on other sites

As @Litro Endemic explained.

The possibility of download optional patches from a custom plist.txt

  • Upvote 1

Share this post


Link to post
Share on other sites
Posted (edited)
20 hours ago, Litro Endemic said:

this will be good feature though, like iterate file plist.txt from webserver into html page, with additional button download and patch this thor file,

in my opinion the idea is like single patch file / self update like many official games that has patch file that can be downloaded manually not automatically from patcher it self.

but I think this action will not update / edit / change patch.dat or patch.json whatever the file named the index of last downloaded patch from plist.

one of issue I created previously that was is to client have ability to modify patch.dat so the user can download from specific index.

there is this scenario. the server owner want to make downloadable patch but not the patch it self is "not must" download and patch content like official data, so the owner can ship / deploy his client rpatchur with patch.json with last index from what number client has to / must download.

 

Alright, I already made the change (on the master branch) to serialize patcher.dat as JSON so people can modify it easily with a text editor if they need. I created another issue for manual patching, which is an important missing feature I agree.

 

I'll have to think about the idea of exposing the plist's content to the UI (plus the ability to download a particular patch file) and how that would work in practice. If I'm understanding you correctly.

Edited by L1nkZ
  • MVP 2

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.