Skip to content

Server rewrite#1798

Draft
loucass003 wants to merge 48 commits intomainfrom
server-rewrite
Draft

Server rewrite#1798
loucass003 wants to merge 48 commits intomainfrom
server-rewrite

Conversation

@loucass003
Copy link
Copy Markdown
Member

@loucass003 loucass003 commented Mar 27, 2026

Server features to implement

Config

  • Basic module to interface with config
  • Config profiles (user and settings)
  • Profile switching
  • Auto save

Device

  • Basic module / Holding the basic state
  • Calculate tps based on updates

Tracker

  • Basic module / Holding the basic state
  • Need to define how the to categorize trackers
  • Position data is set by feeder and driver
    • We have the source, but no stuff like are they trackers computed for steamvr or vmc
  • User can:
    • Assign a body part
    • Set the custom name of a tracker
    • Enable mag

Firmware Tool

  • Firmware tool can flash trackers through serial and ota
  • Unit testing

Serial

  • Scan for new ports
  • open connection for serial
  • open connection for flashing
  • support multiple connections at the same time
  • Platform support:
    • Windows
    • Linux
    • MacOS
    • Android
  • Unit testing

Height Calibration

  • Go through all the steps of the calibration
  • Can give the user height
  • Can give the user height to scaled proportions
  • Unit testing
    • Basic testing without actual data

HID (usb dongles)

  • Can detect dongles
  • Create device and trackers
  • Handles all the HID packets
  • Calculate packet loss
  • Platform support:
    • Windows
    • Linux
    • MacOS
    • Android

UDP Trackers

  • Can parse all UDP packets
  • Create device and trackers
  • Handles reconnection / timeouts
  • Handle out of order packets
  • Calculate ping
  • Calculate packet loss

Wi-Fi Provisioning

  • Can connect a tracker to the wifi
  • Handle all error cases
  • Handle retries
  • Handle detection of turned off trackers
  • Handle detection of unplugged trackers
  • Unit testing

Skeleton

  • Need to figure out a data structure

Solarxr

  • Can handle solarxr messages
  • WS support
  • File socket / named pipes support
  • Platform Support:
    • Windows
    • Linux
    • MacOS
  • Can initialize datafeeds
  • Can send RPC packets and listen to them
  • Unit testing

VRChat Config Warnings

  • Send vrc config warning status to solarxr
  • Can verify vrc data against recommended values
  • Handles reading config from:
    • Windows
    • Linux
    • MacOS

Tracking Checklist

  • Can mute steps and save to config
  • Handle all these steps
    • Network profile detection
    • Steamvr disconnected
    • Tracker error
    • Rest calibration
    • Full Reset
    • Mounting calibration
    • Feet mounting
    • Unassigned HMD
    • Stay Aligned
    • VRC settings

Scaled Proportions

  • Can calculate body proportions based on user height

OSC Router

  • TBD

VRC OSC

  • Send tracking data to VRC

VMC

  • Send data to vmc apps
  • Handle VRM models
  • Anchor hip
  • Tracking mirroring

BVH

  • Can record data
  • Can save to a file
  • Can create a file without prompt if folder is defined

Server Guards

Handle the following guards:

  • Can do mounting
  • Can do yaw reset
  • Can do height calibration
  • Reset can do mounting after 2min since last full reset

Autobone

  • TBD

Manual Proportions

  • User can set body proportion values
  • Skeleton updates accordingly
  • Body proportions are saved to user config

Taps

  • Taps are detected from trackers
  • Taps trigger the corresponding resets
  • Taps amounts / delay / enabled can be configured

Stay Aligned

  • can record rest poses
  • Can correct skeleton based on rest poses
  • Adjust trackers and Hide adjustments toggles

Keybinds

  • Can read key inputs:
    • Windows
    • Linux
    • MacOS
  • Trigger the corresponding resets
  • Handle GUI assignment

Driver

  • Basic reporting of trackers to the driver
  • Platform Support:
    • Windows
    • Linux
    • MacOS

Feeder

  • Collect tracker data and create devices / trackers to the server
  • Platform Support:
    • Windows
    • Linux
    • MacOS

SteamVR

  • Enabled trackers

Leg Tweaks

  • TBD

Skating correction

  • TBD

Filtering

  • Smoothing
  • Prediction

@github-actions github-actions bot added Area: Documentation Improvements or additions to documentation Area: Skeletal Model Deals with the model of the skeleton and its pose Area: Application Protocol Related to communication with apps like the GUI, overlay, games Area: Hardware Protocol Related to communication with hardware/software trackers Area: AutoBone The AutoBone feature Area: SteamVR Driver Related to the SteamVR Driver labels Mar 27, 2026
@github-actions github-actions bot added Area: Server Related to the server Area: VMC Related to the VMC driver Area: VRCOSC Related to the VRChat OSC driver labels Mar 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: Application Protocol Related to communication with apps like the GUI, overlay, games Area: AutoBone The AutoBone feature Area: Documentation Improvements or additions to documentation Area: Hardware Protocol Related to communication with hardware/software trackers Area: Server Related to the server Area: Skeletal Model Deals with the model of the skeleton and its pose Area: SteamVR Driver Related to the SteamVR Driver Area: VMC Related to the VMC driver Area: VRCOSC Related to the VRChat OSC driver

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants