Skip to content
This repository has been archived by the owner on Jul 27, 2022. It is now read-only.

OptoCloud/VRC-PhotonDocs

Repository files navigation

PhotonDocs

This is a repository to share documentation about the photon protocol that VRChat uses.

Tools (feel free to add yours)

ImHex will be used to document a bunch of the binary formats here and is a really neat reverse engineering tool to have

PhotonDebug Is a photon debug tool made by HentaiHeaven#0001 and logs all photon data to json log files.

OpCodes

Official documentation

VRChat specific documentation for OpCodes:

Code OpCode Name Description Docs
217 GetRoomList
219 WebRPC
220 GetRegions
221 GetLobbyStats
222 FindFriends
225 JoinRandomRoom
226 JoinRoom
227 CreateRoom
228 LeaveLobby
229 JoinLobby
230 Authenticate
231 AuthenticateOnce
251 GetProperties
252 SetProperties
253 RaiseEvent
254 Leave
255 Join

Events

These are events that can be sent by invoking Operation RaiseEvent (253)

Code Event Name Description Authoritative Docs
1 Voice Voice transmission via uSpeak. No. format
2 ExecutiveMessage Used by backend to communicate alerts to clients. Yes. format
3 PastEvents Used to request the past events of an instance. No. (Only send to Master) format
4 SyncEvents Used as a response to SendPastEvents No. format
5 SyncFinished Marks a SendPastEvents request as finished. No. format
6 ProcessEvent Broadcast Used for VrcEvents (like RPCs). No. format
7 Unreliable Serialization Used for any type of data that can be interpolated or doesn't have to be sent reliably. No. format
8 InterestManagement Used for interest list sync. Yes. format
9 Reliable Serialization Used for any type of data that should always be reliably sent like AV3 parameters, Udon Sync and late joiner position sync for players and pickups. No. format
33 ExecutiveAction General Moderation event. Yes. format
34 RatelimitValueSync In-game rate-limiter Yes. format
35 RatelimitUpdate Update Tick for Ratelimited Actors Yes. format
40 UserRecordUpdate Used to update a user's details. Yes. format
42 UserRecordUpdate.. 2? Very similar to Event 40, added in build 1169 in preparation for the IK beta. Yes. format
60 PhysBonesPermissions Used to compute which actors can interact with which in an instance. ??? format
202 Instantiate Used to instanciate self in lobby. ??? format
209 OwnershipRequest
210 OwnershipTransfer
211 VacantViewIds
223 Photon AuthEvent

Misc

ViewID list

  • 00001: VRCPlayer
  • 00002: USpeak
  • 00003: PlayableController
  • 00004: BigData

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages