Current state of development
03l54rd1n3 opened this issue · 18 comments
What's the current state of development for krpc? I see a few recent issues and people trying it with recent ksp versions.
Is there support for ksp 1.11 or maybe at least 1.10? There are 200+ commits since the last release, so where is this heading?
Would really appreciate your input and would definitely love to play with it!
Thanks
I'm back :) New release coming very soon!
And contributions to the coding welcome!
I see two topics on there. 1 seems to be ready to merge. Any leads on the other?
I would also like to know what things are still missing and if I could be of help with any of that.
Any updates on this? I'm looking to start building a client library in Rust, but I don't want to start if a new release is about to drop.
Please advise. Also thanks for all the hard work on this!
@ajmwagar Are you aware of https://github.com/krpc-rs/krpc-rs? I have used it a few years ago and it worked fine with a few tweaks. (just chiming in, in case you weren't aware of this Rust client). It probably still works today with current krpc, even though it's not maintained.
@nguiard I found and forked krpc-mars
which had a another library that generated code from the JSON service definitions.
My fork is here: https://github.com/ajmwagar/krpc-mars
I had to do a bit of work to update it for the newer version of Rust.
Spent the last 6 hours writing some scripts and dealing with weird bugs. Things seem to work now!
If people are curious, this is where I'm keeping my Rust scripts: https://github.com/ajmwagar/betterjeb
@ajmwagar Oh yeah actually what I was using was krpc-mars, my mistake. Awesome initiative of yours to fork it :D
Thanks. Took a bit of work to bring it to Rust 2018.
I'm probably going to move to prost
from rust-protobuf
for codegen.
It has some heavy reliance on deprecated functions from both the std
library and protobuf
.
Service generation seems okay, but I want to abstract things a bit higher. Potentially creating a trait for each service, and wrapping the generated service/RPC code in an associated struct function so I don't need to pass so many arguments around.
The Python client for krpc
does some voodoo magic from my pov to call RPC set methods whenever you assign a valid to a field. I don't think it's feasible to match this in Rust (my naive opinion, please prove me wrong).
Also, the server-side events stuff seems pretty rough. I'm just directly generating that from the KRPC.json
file distributed with the mod.
Soo... i've been watching this for quite a while now and I do not expect any major update anytime soon, if at all. djungelorm stated multiple times now that he is just too busy with life and that has been the status quo for over two years now.
I think that Paulo's comments early in this issue were pretty much troll, as there has been no activity towards any of the milestones for a long long time. And even if new release would come out, krpc has been fairly backwards compatible across releases.
Honestly, if djungelorm finds time to continue development, I would expect it to mostly contain bugfixes and no major changes in the protocol. I maintain a client library myself, although I don't rely on code generation. I wouldn't worry about deprecation.
All in all, this project is pretty much came to a stop. If somebody would be willing to fork and continue maintenance and development that would be awesome!