Jump to content

RPatchur, a customizable patcher


Recommended Posts


  • Group:  Members
  • Topic Count:  61
  • Topics Per Day:  0.02
  • Content Count:  911
  • Reputation:   166
  • Joined:  11/27/14
  • Last Seen:  

Interesting 

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  33
  • Topics Per Day:  0.01
  • Content Count:  355
  • Reputation:   34
  • Joined:  02/09/12
  • Last Seen:  

Please don't let this die. 

 

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

  • Like 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  31
  • Topics Per Day:  0.01
  • Content Count:  491
  • Reputation:   19
  • Joined:  11/19/11
  • Last Seen:  

wow nice for this, unbelievable 

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  248
  • Reputation:   34
  • Joined:  11/19/11
  • Last Seen:  

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

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  22
  • Topics Per Day:  0.01
  • Content Count:  806
  • Reputation:   220
  • Joined:  03/13/12
  • Last Seen:  

You had me interested at "developed in Rust"

  • Upvote 1
Link to comment
Share on other sites

  • 2 months later...

  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  40
  • Reputation:   72
  • Joined:  01/24/18
  • Last Seen:  

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
  • Love 1
  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  40
  • Reputation:   72
  • Joined:  01/24/18
  • Last Seen:  

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
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  13
  • Reputation:   0
  • Joined:  10/08/20
  • Last Seen:  

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
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  40
  • Reputation:   72
  • Joined:  01/24/18
  • Last Seen:  

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?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  13
  • Reputation:   0
  • Joined:  10/08/20
  • Last Seen:  

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
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  40
  • Reputation:   72
  • Joined:  01/24/18
  • Last Seen:  

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)?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  13
  • Reputation:   0
  • Joined:  10/08/20
  • Last Seen:  

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

Link to comment
Share on other sites

  • 3 weeks later...

  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  40
  • Reputation:   72
  • Joined:  01/24/18
  • Last Seen:  

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.

Edited by L1nkZ
  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  65
  • Reputation:   7
  • Joined:  06/06/12
  • Last Seen:  

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

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  40
  • Reputation:   72
  • Joined:  01/24/18
  • Last Seen:  

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
Link to comment
Share on other sites

  • 1 month later...

  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  40
  • Reputation:   72
  • Joined:  01/24/18
  • Last Seen:  

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
Link to comment
Share on other sites

  • 2 weeks later...

  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  477
  • Reputation:   269
  • Joined:  06/13/17
  • Last Seen:  

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
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  25
  • Topics Per Day:  0.01
  • Content Count:  283
  • Reputation:   76
  • Joined:  06/13/13
  • Last Seen:  

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

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  40
  • Reputation:   72
  • Joined:  01/24/18
  • Last Seen:  

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.

Link to comment
Share on other sites

  • 1 month later...

  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  22
  • Reputation:   1
  • Joined:  06/21/20
  • Last Seen:  

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

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  40
  • Reputation:   72
  • Joined:  01/24/18
  • Last Seen:  

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?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  25
  • Topics Per Day:  0.01
  • Content Count:  283
  • Reputation:   76
  • Joined:  06/13/13
  • Last Seen:  

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
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  22
  • Reputation:   1
  • Joined:  06/21/20
  • Last Seen:  

As @Litro Endemic explained.

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

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  40
  • Reputation:   72
  • Joined:  01/24/18
  • Last Seen:  

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
Link to comment
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...