This is a working LAN/P2P patch for Supreme Commander 2 to connect without SteamP2P.
In its current state it should be fully working for private matches. Matchmaking is not planned.
Due to me scavenging code and tools from my previous projects (most notably from IW4x) this might be a bit overengineered. Sorry!
SC2 uses the Steam P2P API to connect peers to each other and then handle all communication. One could trivially proxy Steam to replace this API with another STUN/TURN implementation, relayed or not, or even just a simple Winsock TCP socket.
However there is another way.
The UDP Connector used by Supreme Commander: Forged Alliance is still partially present in the code, somewhat. It doesn't work out of the box but with a tiny push, it does.
- Open game directory from Steam
- Browse to the /bin subfolder
- Rename your existing steam_api.dll to preserve it
- Grab the latest version of SC2-Proxima at https://github.com/Rackover/sc2-proxima/releases/latest
- Put it in the same folder, next to SupremeCommander2.exe
- You're good to go!
Then configure the lobby as you like.

- You can also type IP:Port.
- Example,
127.0.0.1. - The default hosting port is 16010. If you specify nothing, the port will be 16010.
Click Search tags. A single game will appear in the browser. (Game name and map do not matter, its a "fake" game)
This is a very direct approach to peer connection, there is no relay, no tunneling, no punching - you will need to open the port on your router and/or firewall for it to work. This program is only for the Steam version of SC2 (1.260). Other versions may not be supported. Only the private match multiplayer experience was my focus, so the rest of the game might be wrecked. Not sure.
If you have launched the game at least once, you will have a file named PlayerData.txt in a Proxima/ directory next to SupremeCommander2.exe
Use it to change your name and to change the default hosting/joining port if you need something else than 16010.
Thanks to the incredible efforts of the Goldberg team for reversing almost every version of Steam API out there, this helped tremendously to tailor the proxy to Supreme Commander 2 specifically :)