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

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

7.8k Downloads

Refactor KRPC.dll into KRPC.dll and KRPC.Server.dll

djungelorm opened this issue ยท 2 comments

commented

Refactor the code in server/... to split it into:

  • core/... - containing the "core" implementation of kRPC, that is not dependent on any part of KSP or Unity, just the C# .NET framework, protobuf and io.ports. This part compiles into KRPC.Core.dll. This assembly includes the communication protocol implementation, service scanner, service attributes and other general utilities.
  • server/... - containing the KSP specific server code. Things like the Addon class and the user interface. This part compiles into KRPC.Server.dll, and has a dependency on KRPC.Core.dll

The main goal of this is to be able to reuse KRPC.Core.dll in KSP2 without modification.

As a first step, this refactoring will just move KRPC.Core.dll code to the core/... directory, but in future we may want to split this out into it's own repository.

commented

Work in progress is on branch djungelorm/krpc-core

This branch is used to build KRPC.Core.dll used by the work-in-progress kRPC2 mod (at tag krpc2-core)

commented

Fixed by #745
Related to #744