Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error connecting to Beadi #151

Open
EskCresh opened this issue Sep 17, 2024 · 4 comments
Open

Error connecting to Beadi #151

EskCresh opened this issue Sep 17, 2024 · 4 comments

Comments

@EskCresh
Copy link

EskCresh commented Sep 17, 2024

This might actually be an error in buttplug, I don't know enough to say.

When connecting with Beadi (which uses the V2 spec), the following messages are transmitted:

[{"RequestServerInfo": {
    "Id":1,
    "ClientName":"Beadi Client 'Localhost'",
    "MessageVersion":2}
}]
[{"Error": {
    "Id":0,
    "ErrorCode":3,
    "ErrorMessage":"{\"ButtplugMessageError\":{\"MessageConversionError\":\"Message V3(ServerInfo(ServerInfoV2 { id: 1, message_version: Version2, max_ping_time: 0, server_name: \\\"Intiface Server\\\" })) not in Spec V2! This is a server bug.\"}}"
}}]

Slightly prettified error message:

Message V3(
  ServerInfo(
    ServerInfoV2 {
      id: 1,
      message_version: Version2,
      max_ping_time: 0,
      server_name: "Intiface Server"
    }
  )
) not in Spec V2! This is a server bug.

It looks like it's trying to send a Message V3 in a V2 session? I think this might have been introduced in 2.6.x, as I used Beadi a few weeks ago and it was fine.

I'm using Intiface Central 2.6.2+28 on Windows.

Intiface logs:

Websocket: Got connection
Server handshake done.
Starting remote server loop
Starting websocket server connection event loop
Setting JSON Wrapper message version to Version2
Performing server handshake check with client Beadi Client 'Localhost' at message version  Version2.
Server handshake check successful.
Client connected: Beadi Client 'Localhost'
@qdot
Copy link
Contributor

qdot commented Sep 17, 2024

Woah! That is probably an error in Buttplug's new message handling, yeah. Thanks for reporting it, I'll check this out soon and will link to the relevant bug over there.

@EskCresh
Copy link
Author

It looks like this can affect V3 as well:

[{"RequestServerInfo":{"Id":1,"ClientName":"Unity Client","MessageVersion":3}}]
[{"Error":{"Id":0,"ErrorCode":3,"ErrorMessage":"{\"ButtplugMessageError\":{\"MessageConversionError\":\"Message V2(ServerInfo(ServerInfoV2 { id: 1, message_version: Version3, max_ping_time: 0, server_name: \\\"Intiface Server\\\" })) not in Spec V3! This is a server bug.\"}}"}}]

But some clients work fine:

[{"RequestServerInfo":{"Id":1,"ClientName":"Buttplug Interactive Editor","MessageVersion":2}}]
[{"ServerInfo":{"Id":1,"MessageVersion":2,"MaxPingTime":0,"ServerName":"Intiface Server"}}]

As best as I can tell, this is consistent by client whether it works or fails. Seemingly, most other V2 clients work fine. I've only found one other V3 client (Wholesome Club Extensions), which also fails.

@EskCresh
Copy link
Author

Okay, not sure what to make of this. Everything I tested earlier that failed, seems to work now. I don't know of any material changes to my setup that could have affected this.

@qdot
Copy link
Contributor

qdot commented Sep 22, 2024

... Huh. That is super weird, 'cause this sounded like a bug in 2.6.1 that I fixed in 2.6.2 and I thought was happening again. I'll still leave this open until I can verify locally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants