buttplug icon indicating copy to clipboard operation
buttplug copied to clipboard

Emulate Lovense Game Mode

Open qdot opened this issue 3 years ago • 3 comments

Feature Description

Allow games using the Lovense Game Mode API to connect to Intiface.

Have done no research on this so not sure if/how this hops through Lovense's servers. It may be that the game pings lovense to get connection info, in which case we'd also have to figure out server registration, which gets dicey.

qdot avatar Aug 06 '22 17:08 qdot

There appears to be a purely local way to do it going by this page under "Command the Toy by Local Application".

I never managed to get the thing to work properly though, so I'm not absolutely certain if that's the same thing. Their developer docs are nooooot always the clearest thing in the world.

hiss-remi avatar Aug 20 '22 19:08 hiss-remi

i was flabbergasted by the fact that absolutely nobody has done it before, I'm not sure if it's reasonable to revive this issue though.

The main reason to do so is to allow third-party toys to be connected through Intiface to games, that only support Lovense toys. The solution seems trivial:

  1. create a fake lovense server, that accepts requests blindly
  2. translate those requests to buttplug.io
  3. send them to an intiface server

For the connections and server registrations - you can create a developer token on the Lovense website, so i think their API is free to use. Although IF they do require the token to connect to toys, it would be reasonable for the users to enter their own developer tokens, because I wouldn't risk doing that many requests using a single token (considering a lot of people would use it)

I think it is possible and would be a huge addition to Intiface

catboybinary avatar Jun 24 '24 10:06 catboybinary

upd. read the docs a little

here's a valid POST request to a custom web server

{
  command:"Function",
  action:"Vibrate:15", 
  timeSec: 10,
  loopRunningSec:9,
  loopPauseSec:4,
  apiVer:1
}

Once the local server has the toy connected to it, it's straight-forward, the difficult part would be connecting (or in our case emulating) the toys

Lovense servers will POST the following data on the local server, once the toy is connected

{
  "uid": "xxx",
  "appVersion": "4.0.3",
  "toys": {
    "xxxx": {
      "nickName": "",
      "name": "max",
      "id": "xxxx",
      "status": 1
    }
  },
  "wssPort": "34568",
  "httpPort": "34567",
  "wsPort": "34567",
  "appType": "remote",
  "domain": "192-168-1-44.lovense.club",
  "utoken": "xxxxxx",
  "httpsPort": "34568",
  "version": "101",
  "platform": "android"
}

not sure what to make of it, but here's the documentation about Standard API https://www.lovense.com/sextoys/developer/doc#standard-api-title

catboybinary avatar Jun 24 '24 10:06 catboybinary