From Wiki96
Revision as of 23:08, 25 January 2023 by Themirrazz (talk | contribs)
Jump to: navigation, search

P3, also known as Psuedo Peer-to-Peer or PPP, is a protocol developed by utf#7185 for simulating P2P connections on Windows 96. The official relay server, which is hosted on https://p3.windows96.net, broke in August 2022, but as of January 2023 is up and running again. P3 was first seen in Windows 96 v2sp2, and continues to remain. During the development of v3, a replacement for P3 called Bell was created, but never finished in time, so v3 shipped with P3 instead.

P3 works by contacting a relay server to give you a static or dynamic address. When you have a P3 address, you can either host a P3 server, or connect to one. Each P3 address has different "ports" to listen on, to allow one P3 address to run multiple servers. Some common ports are 121, the default SuperTerm port; 140, the port used for Remote Console, and 737, which is used for connecting to a P3FS. The discovery feature of P3 allows you to broadcast open ports via flags that you can search for. This allows people to search for publicly available services and easily connect to them.

P3 contacts a relay server through SocketIO, a popular library for WebSockets. Connections to the P3 network are initiated by sending a hello message to the relay server, along with your P3 key. I (themirrazz) have documented the P3 protocol on my alt GitHub account at themirrazzalt/p3protocol, you can learn more about the interior of P3's protocol there. On v2sp2, you can obtain a custom address if you have a Windows 96 Product Key that you have activated your installation with.

Third-Party/Unofficial P3 Libraries

The only current third-party P3 library that I know of that exists is my mikesoftp3 NodeJS library, but if you know of any others, don't be afraid to add them to this page and submit an issue on my GitHub.