Jump to content

L1nkZ

Members
  • Posts

    40
  • Joined

  • Last visited

  • Days Won

    11

Everything posted by L1nkZ

  1. 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.
  2. 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.
  3. 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')" Strange, what's your setup: version of Windows, rpatchur executable (32 or 64 bits)?
  4. Hi, Are you still having an issue or is it working as intended now?
  5. 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.
  6. 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
  7. 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 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
  8. Hum, I'm not sure what you mean by that, could you elaborate ?
  9. I'm not sure what you mean by client security in this case but I'll assume that you're asking about making use of the plugin system to make bots, for example, rather than using of the plugin system to compromise a client with malicious scripts (although that is also a problem that users must acknowledge). In this case, well yeah it's clear that there are many things to consider before rushing into implementing new features. Everything that allows the player to automate something is, technically, a step closer to him being able to make a bot. For example, if we add an API that allows scripts to move the player to given coordinates, we can imagine doing a plugin that would, for example, get along with the tracking system and conveniently do the walk for you, that sounds like good enough use case to me. But then again, what about potential abuses ? Being able to move programmatically is a good start for botting as well. So it's an open problem right now. But no matter what, a system that is open-source will always benefit to both sides I guess.
  10. Here's some rAthena for you So yeah, I uploaded a very basic discord plugin on the github repository. It's a bit ugly but it does the job. Need a few things more in the API to make writing plugins a bit easier but right now it's already fairly usable. Debugging plugins is still currently messy because of the lack of exception handling (I'll be working on that) and utf8 support is still missing. I'll keep this thread updated.
  11. Alright, so to further illustrate the idea behind the plugin system I added a couple of examples on the github repository. First I added the possibility to use items (with ragnarok_client.use_items) from within python plugins and made a basic autopot plugin out of it. You can take a look at the autopot.py plugin example in the examples folder. And secondly, since a bird in the hand is worth two in the bush, I also added a small irc.py plugin that does what I mentioned in my previous post. The plugin listens to an IRC channel and transfer messages from IRC to the in-game chat. Here's a screenshot:
  12. Well, it's merely a PoC at the moment. But anything that you can think of that is event-driven is doable. All it takes is some work and deciding what you want to hook. At the moment, the only api that "commands" the client is a print_in_chat function that allows writing into the game chat from inside the plugins. As it is now, it would be possible, for example, to make an event-driven Discord or IRC client as a plugin (since you can use the usual python libraries) that would be plugged to the client and printing messages from Discord or IRC channels into the game chat. Yes that's a way of seeing it, with enough support from Bourgeon, you could imagine exposing networking parts (or higher level stuff like, move player, attack mob id) of the client and do whatever.
  13. Hey guys, Sooo, a few days ago, I wanted to try and do something related to RO, but open-source for once ... I figured, why not make a plugin system ? The idea is simple: expose an API that will allow anyone to interface with the client through a high-level scripting language. As far I as I know, this isn't the first RO client plugin system project. If I recall correctly, there was something named ROPS (Ragnarok Online Plugin System) that existed a few years ago, but it has since disappeared. Edit: I was told that apparently there was also rextensions recently, that went in the same direction as ROPS and gave access to a few hooks for use with C or C++ extensions. The idea behind this thread is, mainly, to see if there's any interest in such a system, and if there is, to see what people want to be able to do with it. This is totally a work in progress and I don't know where it'll lead or what it's gonna end up like, but it's open-sourced so it'll be potentially re-usable (if anyone's brave enough) anyway. Here are screenshots picturing different parts of the system as it is right now: Link to the github: https://github.com/L1nkZ/Bourgeon Cheers.
×
×
  • Create New...