intiface / intiface-desktop

DEPRECATED - USE INTIFACE CENTRAL - Desktop GUI App for Intiface Service Usage
https://intiface.com/central
Other
56 stars 7 forks source link

Server crashes when selecting csharp as engine #93

Closed thofra closed 3 years ago

thofra commented 4 years ago

When csharp engine is selected, server crashes with error message "Process most likely crashed. Contact support."

2020-09-29T14:11:44.930Z : backend : m : Running C:\Users\User\AppData\Local\IntifaceDesktop\engine\IntifaceCLI.exe with arguments --servername,Intiface Server,--deviceconfig,C:\Users\User\AppData\Local\IntifaceDesktop\buttplug-device-config.json,--frontendpipe,--stayopen,--wsinsecureport,12345,--log,Info 2020-09-29T14:11:45.472Z : backend : m : Process Log: Sep 29 16:11:45.452 INFO intiface_cli::options: Intiface CLI Options: Websocket Insecure Port 12345 2020-09-29T14:11:45.490Z : backend : m : Did not receive process ended message, process most likely crashed.

When trying to start the engine manually with the arguments given in the log file, the following error is coming up:

thread 'main' panicked at 'Built-in configuration schema is invalid! Aborting! JsonValidatorError("ValidationState { errors: [Properties { path: \"\", detail: \"Additional properties are not allowed\" }, Required { path: \"/protocols/aneros/configurations\" }, Required { path: \"/protocols/cueme/configurations\" }, WrongType { path: \"/protocols/erostek-et312/serial\", detail: \"The value must be array\" }, Required { path: \"/protocols/erostek-et312/configurations\" }, Required { path: \"/protocols/kiiroo-v1/configurations\" }, Required { path: \"/protocols/kiiroo-v2/configurations\" }, Required { path: \"/protocols/kiiroo-v2-vibrator/configurations\" }, Required { path: \"/protocols/kiiroo-v21/configurations\" }, Required { path: \"/protocols/kiiroo-v21-vibrator/configurations\" }, Required { path: \"/protocols/lelo-f1s/configurations\" }, Required { path: \"/protocols/libo/configurations\" }, Required { path: \"/protocols/lovehoney-desire/configurations\" }, Required { path: \"/protocols/lovense/configurations\" }, Required { path: \"/protocols/lovenuts/configurations\" }, Required { path: \"/protocols/magic-motion/configurations\" }, Required { path: \"/protocols/motorbunny/configurations\" }, Required { path: \"/protocols/muse/configurations\" }, Required { path: \"/protocols/mysteryvibe/configurations\" }, Required { path: \"/protocols/picobong/configurations\" }, Required { path: \"/protocols/prettylove/configurations\" }, Required { path: \"/protocols/realov/configurations\" }, WrongType { path: \"/protocols/realtouch/hid\", detail: \"The value must be array\" }, Required { path: \"/protocols/realtouch/configurations\" }, WrongType { path: \"/protocols/rez-trancevibrator/usb\", detail: \"The value must be array\" }, Required { path: \"/protocols/rez-trancevibrator/configurations\" }, Required { path: \"/protocols/sayberx/configurations\" }, Required { path: \"/protocols/svakom/configurations\" }, Required { path: \"/protocols/twerkingbutt/configurations\" }, Required { path: \"/protocols/vibratissimo/configurations\" }, WrongType { path: \"/protocols/vorze-cyclone-x/hid\", detail: \"The value must be array\" }, Required { path: \"/protocols/vorze-cyclone-x/configurations\" }, Required { path: \"/protocols/vorze-sa/configurations\" }, Required { path: \"/protocols/wevibe/configurations\" }, WrongType { path: \"/protocols/xinput\", detail: \"The value must be object\" }, Required { path: \"/protocols/youcups/configurations\" }, Required { path: \"/protocols/youou/configurations\" }, Required { path: \"/protocols/zalo/configurations\" }], missing: [] }")', C:\Users\runneradmin.cargo\registry\src\github.com-1ecc6299db9ec823\buttplug-0.8.3\src\device\configuration_manager.rs:327:19

qdot commented 4 years ago

Yeah, it doesn't reset its engine path when installing the C# binary, so it's trying to run the rust with an incorrect configuration. That's definitely a bug in Intiface Desktop.

Is there a reason you need to step back to the C#? It's getting completely dropped fairly soon, but if people have need for it then I gotta make sure I have those needs ported to rust :)

thofra commented 4 years ago

There are a few devices which are not supported by rust (yet). I understand C# is outdated but I am missing this support in rush, like the Mysteryvibe. Not sure about Erostek, it is no longer listed under C# on iostindex.com but I am sure it was supported by C# earlier.

qdot commented 4 years ago

Ah, I was wondering if we were going to get Mysteryvibe complaints! :)

I'll see about getting that into rust soon, it's just a really complicated protocol because we're doing things the Mysteryvibe was not exactly made to do (though I should revisit their protocol, see if there have been any changes).

As for the ET-312, support for that was yanked in C# in Jan 2019. The plan is to support it in buttplug-rs at some point, but it's an even more complex and finnicky protocol than Mysteryvibe so that's down the line a bit.

qdot commented 3 years ago

C# is gone, closing this. Mysteryvibe should be working in Rust now.