kRPC: Control the game using C#, C++, Java, Lua, Python...

kRPC: Control the game using C#, C++, Java, Lua, Python...

7.8k Downloads

Current state of development

03l54rd1n3 opened this issue · 18 comments

commented

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

commented

I'm back :) New release coming very soon!

And contributions to the coding welcome!

commented

Great to hear, your mod was a huge reason for me to play!

commented

Version 0.4.9 is 95% done...

commented

Great news. Thank you very much!

commented

Do you need any assistance?

commented

Take a look at milestone 0.4.9 :) maybe you can help

commented

I see two topics on there. 1 seems to be ready to merge. Any leads on the other?

commented

I would also like to know what things are still missing and if I could be of help with any of that.

commented

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!

commented

@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.

commented

@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!

commented

If people are curious, this is where I'm keeping my Rust scripts: https://github.com/ajmwagar/betterjeb

commented

@ajmwagar Oh yeah actually what I was using was krpc-mars, my mistake. Awesome initiative of yours to fork it :D

commented

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.

commented

image

Boom, just ported the Launch to Orbit tutorial from the docs into Rust.

commented

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!

commented