This is a repository to share documentation about the photon protocol that VRChat uses.
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 OptoCloud#0001 and logs all photon data to json log files.
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 |
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 |
00001
: VRCPlayer00002
: USpeak00003
: PlayableController00004
: BigData