Skip to content

Buttplug setup

diglet48 edited this page Feb 14, 2024 · 8 revisions

Buttplug is a generic sex toy control protocol.

Restim can receive commands from buttplug, this requires some manual configuration.

Basic setup

Download Intiface Central

Browse to the Intiface Central configuration directory. On windows, this directory is located in C:\Users\[UserName]\AppData\Roaming\com.nonpolynomial\intiface_central\config\. Create a new file buttplug-user-device-config.json with the following contents.

{
  "version": {
    "major": 2,
    "minor": 6
  },
  "user-configs": {
    "specifiers": {
      "tcode-v03": {
        "websocket": {
          "names": ["restim"]
        }
      }
    }
  }
}

Start Intiface Central. Make sure "Device Websocket Server" is enabled.

Start Restim. In settings, enable Buttplug WSDM (Websocket Device Manager) and input the WSDM address. By default, this is ws://127.0.0.1:54817. Restart Restim, you should see a few messages in the Intiface Central log indicating the process worked. In Intiface Central, devices tab, you can test simple movement.

Make sure Restim connects to buttplug over port 54817 (buttplug websocket device manager) and not 12345 (buttplug device control).

You can now connect your buttplug-supported application to Intiface Central (default ws://127.0.0.1:12345) and start sending commands.

Connect faptap to Intiface

faptap.net is a porn website that has support for Intiface. Load faptap.net and use the top right menu to connect to Intiface:

faptap image

If it doesn't work try a different browser.

Now play a video, you should see the Restim interface respond to the funscript actions.

Connect ScriptPlayer to Intiface

ScriptPlayer is a video player for windows, this can be used to synchronize video and funscript files that you already downloaded to your computer. You can find many funscripts on eroscripts.com.

Start ScriptPlayer and connect to Intiface Central:

Scriptplayer image

Should look like this:

Scriptplayer image

Open a video in ScriptPlayer, the accompanying funscript should be automatically loaded from disk.

Now play the video, you should see the Restim interface respond to the funscript actions.

Multi-axis support

The following section describes an experimental setup to add multi-axis support to Buttplug. This breaks most software. Skip this section unless you specifically want to test multi-axis scripts.

Open buttplug-device-config.json.

Find the section that says "tcode-v03"

Modify the "defaults" key to:

"defaults": {
  "name": "TCode v0.3 (Single Linear Axis)",
  "messages": {
    "LinearCmd": [
      {
        "StepRange": [
          0,
          100
        ],
        "ActuatorType": "Position"
      },
      {
        "StepRange": [
          0,
          100
        ],
        "ActuatorType": "Position"
      }
    ],
    "FleshlightLaunchFW12Cmd": {}
  }
}

Restart Intiface Central.

You can duplicate the LinearCMD section as many times as you want. The first axis is L0, second axis is L1, ... Most software sends the same commands to all available axis, which is not what we want.

Further reading

List of software with support for Buttplug

Buttplug Websocket Device Manager documentation