P2P is for decentralization. Why would a centralized entity want to implement a decentralized service when they can create a centralized version of that same service faster, easier, and cheaper?
P2P is _hard_ with a capital H.
P2P is _hard_ with a capital H.
On server maintain list of ips. Serve ip to the client-peer. If the connection gets spotty replace it or use direct connection to your server. All State exists on your server. Caching may be an anti-pattern depending.
What's so hard?
Decentralization is allowing peers to find and negotiate their own connections and demoting your servers to a very powerful peer.