Releases: iv4xr-project/iv4xr-se-plugin
SE Plugin 0.7.0
This release updates aplib version, improves support for multiplayer testing and adds many new APIs.
IMPORTANT: Make sure Windows is OK to run the libraries. Windows (10+) blocks "randomly" downloaded libraries. To unblock them, right-click on each of them and open file properties. Look for Security section on the bottom part of the General tab. You might see a message: "This file came from another computer and might be blocked...". If so, check the Unblock
checkbox.
(If you skip this step, the game will probably crash with a message: System.NotSupportedException
: An attempt was made to load an assembly from a network location...)
The plugin runs a TCP/IP server with JSON-RPC 2.0 API. It allows to access surrounding of the player's character in a structured form (WOM), control the character, and much more.
Plugin binaries tested with Space Engineers version 1.201.013 (released in May 2022).
Built against SE sources revision 140124 (from February 2022).
Main Changes
- Now using aplib 1.4.2
- Recording and replaying inputs, can be used for movement of vehicles
- Lots of multiplayer testing improvements
- Support for more screens
- Many new and extended APIs: dampeners, gravity, saving
- Navigation graph now detects which side is "up" for the character
See also
- The README.md file of this repository.
- The JVM Client README file.
- The API documentation.
What's Changed
- Multiplayer testing client by @hovi in #142
- Mock cleanup: Remove SeServerMock and other unused code by @PremekPaska in #143
- API returning some basic meta info about the game instance. by @hovi in #144
- Plugin configuration by @hovi in #145
- API to list games and join them. by @hovi in #146
- Jvm libs upgrade by @hovi in #148
- Interface attributes by @hovi in #147
- Lobby tests by @hovi in #149
- Maze generator + one instance of maze generated as a save. by @hovi in #150
- Interface cleanup tests by @hovi in #151
- Continuous movement cleanup. by @hovi in #153
- BDD cleanup. by @hovi in #154
- Which side is up? by @PremekPaska in #155
- SaveAs screen API. by @hovi in #158
- Character gravity. by @hovi in #160
- Character jump. by @hovi in #161
- Asserts cleanup. by @hovi in #162
- Saved and reload tests. by @hovi in #163
- Json-rpc exception wrapped and containing TCP port information. by @hovi in #164
- Dampeners api by @hovi in #165
- Parked property for grid. by @hovi in #166
- Input replay by @hovi in #167
- Movement wrapper by @hovi in #168
Full Changelog: v0.6.0...v0.7.0
3rd Party Library Dependencies (for v0.6.0+)
This is a supplementary release to allow easy download of the 3rd party libraries. They are not part of the official release because – among other things – they may have different licenses. See the attached DLLs.
NOTE: Make sure Windows is OK to run the libraries. Windows (10+) blocks "randomly" downloaded libraries. To unblock them, right-click on each of them and open file properties. Look for Security section on the bottom part of the General tab. You might see a message: "This file came from another computer and might be blocked...". If so, check the Unblock
checkbox.
Versions
- AustinHarris.JsonRpc.dll: 1.2.3
- ImpromptuInterface.dll: 6.2.2
- Newtonsoft.Json.dll: 12.0.3
Licenses
You can find the license of each library in their home repositories:
- https://github.com/Astn/JSON-RPC.NET
- https://github.com/ekonbenefits/impromptu-interface
- https://github.com/JamesNK/Newtonsoft.Json
How to get the libraries from original sources
You can obtain the latest libraries from the official sources by following these steps:
- Check-out the JSON-RPC.NET master branch.
- Side note: The releases are not updated (compared to NuGet packages), but the the last release v1.1.74 works as well. You can try it if the master branch does not.
- Build the solution including the test project (tested with Visual Studio 2019).
- You will find the
AustinHarris.JsonRpc.dll
library in this path:
Json-Rpc\bin\Debug\netstandard2.0
- And the
Newtonsoft.Json.dll
library in this path:
AustinHarris.JsonRpcTestN\bin\Debug\netcoreapp3.0
- Similarly for the Impromptu Interface, you can pull it as a NuGet dependency to a project.
SE Plugin 0.6.0
This release was built using newer SE sources to be compatible with the Steam version of the game, it also adds support for multiplayer testing (that's a work in progress).
IMPORTANT: Make sure Windows is OK to run the libraries. Windows (10+) blocks "randomly" downloaded libraries. To unblock them, right-click on each of them and open file properties. Look for Security section on the bottom part of the General tab. You might see a message: "This file came from another computer and might be blocked...". If so, check the Unblock
checkbox.
(If you skip this step, the game will probably crash with a message: System.NotSupportedException
: An attempt was made to load an assembly from a network location...)
The plugin runs a TCP/IP server with JSON-RPC 2.0 API. It allows to access surrounding of the player's character in a structured form (WOM), control the character, and much more.
Plugin binaries tested with Space Engineers version 1.200.032 (released in March 2022).
Built against SE sources revision 140124 (from February 2022).
Main Changes
- Added APIs for multiplayer testing: Admin observer to see all characters, connect and disconnect.
- Added APIs for controlling screens: Medical room (respawn), Production and Inventory tabs of the Terminal screen, Load game
- Fixed the plugin config which contained the default values by mistake
- Internals: the API code is now dynamically generated to reduce boiler plate code (adds one new dependency, the Impromptu Interface)
See also
- The README.md file of this repository.
- The JVM Client README file.
- The API documentation.
SE Plugin 0.5.1
This release stabilizes multiple agents and improves creating blocks using admin commands.
IMPORTANT: Make sure Windows is OK to run the libraries. Windows 10 blocks "randomly" downloaded libraries. To unblock them, right-click on each of them and open file properties. Look for Security section on the bottom part of the General tab. You might see a message: "This file came from another computer and might be blocked...". If so, check the Unblock
checkbox.
(If you skip this step, the game will probably crash with a message: System.NotSupportedException
: An attempt was made to load an assembly from a network location...)
The plugin runs a TCP/IP server with JSON-RPC 2.0 API. It allows to access surrounding of the player's character in a structured form (WOM), control the character, and much more.
Plugin binaries tested with Space Engineers version 1.199.025 (released in August 2021).
Built against SE sources revision 136941 (May2021).
Main Changes
- Added BuiltBy property to blocks.
- Admin.Block.PlaceAt now respects ownership and is built and owned by the current character.
- Admin.Block.PlaceInGrid function to add blocks to an existing grid.
See also
- The README.md file of this repository.
- The JVM Client README file.
- The API documentation.
3rd Party Library Dependencies (for v0.4.0)
This is a supplementary release to allow easy download of the 3rd party libraries. They are not part of the official release because – among other things – they may have different licenses. See the attached DLLs.
NOTE: Make sure Windows is OK to run the libraries. Windows 10 blocks "randomly" downloaded libraries. To unblock them, right-click on each of them and open file properties. Look for Security section on the bottom part of the General tab. You might see a message: "This file came from another computer and might be blocked...". If so, check the Unblock
checkbox.
Versions
- AustinHarris.JsonRpc.dll: 1.2.3
- Newtonsoft.Json.dll: 12.0.3
Licenses
You can find the license of each library in their home repositories:
How to get the libraries from original sources
You can obtain the latest libraries from the official sources by following these steps:
- Check-out the JSON-RPC.NET master branch.
- Side note: The releases are not updated (compared to NuGet packages), but the the last release v1.1.74 works as well. You can try it if the master branch does not.
- Build the solution including the test project (tested with Visual Studio 2019).
- You will find the
AustinHarris.JsonRpc.dll
library in this path:
Json-Rpc\bin\Debug\netstandard2.0
- And the
Newtonsoft.Json.dll
library in this path:
AustinHarris.JsonRpcTestN\bin\Debug\netcoreapp3.0
SE Plugin 0.4.0
This release extends and improves the APIs. It also changes the structure of the project.
IMPORTANT: Make sure Windows is OK to run the libraries. Windows 10 blocks "randomly" downloaded libraries. To unblock them, right-click on each of them and open file properties. Look for Security section on the bottom part of the General tab. You might see a message: "This file came from another computer and might be blocked...". If so, check the Unblock
checkbox.
(If you skip this step, the game will probably crash with a message: System.NotSupportedException
: An attempt was made to load an assembly from a network location...)
The plugin runs a TCP/IP server with JSON-RPC 2.0 API. It allows to access surrounding of the player's character in a structured form (WOM), control the character, and much more.
Plugin binaries tested with Space Engineers version 1.199.025 (released in August 2021).
Built against SE sources revision 136799 (April 2021).
Main Changes
Some of the changes, such as API renames are potentially breaking.
- We have renamed some APIs such as GetToolbar -> Toolbar
- The C# interface was separated into a new assembly called Ivxr.SpaceEngineers.dll (so there are now 3 plugin libraries)
- Added support for adding and controlling multiple characters in the game
- Added character properties such as heath and oxygen status
- Added access to character's inventory
- Added an initial version of a navigation graph (experimental)
- Added a command to switch the view between first person and third person
- Improved block definitions (polymorphic blocks)
The list is not complete. For currently available APIs see the C# interface ISpaceEngineers
or the corresponding Kotlin interface on the client side (the Java/Kotlin client repository has been merged into this repository, see the directory JvmClient).
See also
- The README.md file of this repository.
- The JVM Client README file.
- The API documentation.
Full integration (September deliverable)
Full integration aims to provide sufficient interface for the testing agents.
There are some minor breaking changes in this release, see below.
IMPORTANT: Make sure Windows is OK to run the libraries. Windows 10 blocks "randomly" downloaded libraries. To unblock them, right-click on each of them and open file properties. Look for Security section on the bottom part of the General tab. You might see a message: "This file came from another computer and might be blocked...". If so, check the Unblock
checkbox.
(If you skip this step, the game will probably crash with a message: System.NotSupportedException
: An attempt was made to load an assembly from a network location...)
Plugin binaries tested with Space Engineers version 1.199.025 (released in August 2021).
The plugin runs a TCP/IP server with JSON-RPC 2.0 API. It allows to access surrounding of the player's character in a structured form (WOM), control the character, and much more.
Breaking Changes
- Instead of string block type we now use structured Definition ID (
DefinitionId
) -- block type is one of its two components. This change was necessary because the block type was not unique in some cases.
New Features
The following list is not complete. For currently available APIs see the C# interface ISpaceEngineers
or the corresponding Kotlin interface on the client side (the Java/Kotlin client repository has been merged into this repository, see the directory JvmClient).
New features include:
- Exposing block properties using polymorphic blocks
- Using structured Definition ID
- Many small improvements
See also
- The README.md file of this repository.
- The JVM Client README file.
- The API documentation.
Full integration, Preview 1
Full integration aims to provide sufficient interface for the testing agents.
There are some breaking changes in this release, see below.
IMPORTANT: Make sure Windows is OK to run the libraries. Windows 10 blocks "randomly" downloaded libraries. To unblock them, right-click on each of them and open file properties. Look for Security section on the bottom part of the General tab. You might see a message: "This file came from another computer and might be blocked...". If so, check the Unblock
checkbox.
(If you skip this step, the game will probably crash with a message: System.NotSupportedException
: An attempt was made to load an assembly from a network location...)
Plugin binaries tested with Space Engineers version 1.199.023 (released in August 2021).
The plugin runs a TCP/IP server with JSON-RPC 2.0 API. It allows to access surrounding of the player's character in a structured form (WOM), control the character, and much more.
Breaking Changes
- In this release, we have removed the old protocol (custom JSON over TCP/IP) so any clients now have to use the newer JSON-RPC based APIs (it was already available in the previous release).
- Individual APIs were moved around to create more clear categories. Notably some methods were moved into the Admin section to make it clear that these actions are not available to the player and are directly accessing the game internals.
- The observation now does not contain blocks unless you ask for them.
New Features
The following list is not complete. For currently available APIs see the C# interface ISpaceEngineers
or the corresponding Kotlin interface on the client side (the Java/Kotlin client repository has been merged into this repository, see the directory JvmClient).
New features include:
- Open/close the character's helmet and get the character's health status.
- Use an object (such as open the door)
- Remove the frame rate limit to speed up the game.
3rd Party Library Dependencies
This is a supplementary release to allow easy download of the 3rd party libraries. They are not part of the official release because – among other things – they may have different licenses. See the attached DLLs.
NOTE: Make sure Windows is OK to run the libraries. Windows 10 blocks "randomly" downloaded libraries. To unblock them, right-click on each of them and open file properties. Look for Security section on the bottom part of the General tab. You might see a message: "This file came from another computer and might be blocked...". If so, check the Unblock
checkbox.
Licenses
You can find the license of each library in their home repositories:
How to get the libraries from original sources
You can obtain the latest libraries from the official sources by following these steps:
- Check-out the JSON-RPC.NET master branch.
- Side note: The releases are not updated (compared to NuGet packages), but the the last release v1.1.74 works as well. You can try it if the master branch does not.
- Build the solution including the test project (tested with Visual Studio 2019).
- You will find the
AustinHarris.JsonRpc.dll
library in this path:
Json-Rpc\bin\Debug\netstandard2.0
- And the
Newtonsoft.Json.dll
library in this path:
AustinHarris.JsonRpcTestN\bin\Debug\netcoreapp3.0
Compatibility Release: The last release with the old protocol
We are currently doing significant protocol changes. We've added JSON-RPC-based version of the protocol in recent months and we plan to remove the old plain (proprietary) Json protocol in all future releases – this is the last release still supporting the old protocol.
We recommend this release also for any new development (using the new Json-RPC based protocol) before we do any newer release. The old protocol does not contain all available features, as the new features were being added only to the new protocol in recent moths. Alternatively, you can also build the plugin from the sources.
IMPORTANT: Make sure Windows is OK to run the libraries. Windows 10 blocks "randomly" downloaded libraries. To unblock them, right-click on each of them and open file properties. Look for Security section on the bottom part of the General tab. You might see a message: "This file came from another computer and might be blocked...". If so, check the Unblock
checkbox.
(If you skip this step, the game will probably crash with a message: System.NotSupportedException
: An attempt was made to load an assembly from a network location...)
Plugin binaries tested with Space Engineers version 1.198.031 (released in May 2021).