UNET Specification?

I’m gonna start off by saying I’m aware that UNET is deprecated. I’m not working on a game that uses it. I’m working with an old game that’s already been released which uses it. I’m trying to make a headless server for a game I enjoy, but that requires parsing and understanding the packets that are being sent. I have the decompiled C# as reference, but the confusion arises from how the code does not match the packets I’m receiving.
I’ve looked everywhere and could not find a specification for the binary format that the packets follow. Does anyone, possibly a Unity Developer, have something that could help me?

Thanks in advance

Unfortunately no specification was ever published for unet. There are two levels to it, the unet transport was built into the C++ engine, so you won’t see what that’s doing within the decompiled C# code. I guess you are looking at the hlapi C# code there, but maybe confusion arises from the unet transport protocol which is in there ahead of the hlapi packet data. You could possibly talk to the game clients with a headless server built with the same unity editor version as the game was built with, thus matching the same unet transport version at least.

I’m trying to install 5.6.2 since that appears to be the version that was used. Unity hub says it can’t find that archived version, and the archive leads me to this https://download.unity3d.com/download_unity/a2913c821e27/UnitySetup-5.6.2f1 access denied. Is there a way to see unity’s cpp source?

There are no view permissions on the folder but you can access files directly (like https://download.unity3d.com/download_unity/a2913c821e27/Windows64EditorInstaller/UnitySetup64-5.6.2f1.exe) You should be able to download those installers directly on the archive page (5.X tab) when picking the installers directly (like “Unity Editor 64-bit” in the windows part.

The C+ code of the Unity engine is not open source, so this is not published anywhere (only source code customers can receive the full source code).