Getting sockets to work and getting your python script to communicate with a server is the first step.
The 2nd step would be to decide what to communicate. In my opinion, using the physics engine in a multiplayer setting would be a problem because you would need to keep things in sync, you’ll notice some “jumping around” in some multiplayer demo’s…
I would use udp rather than tcp for a game that syncronization is not super important. tcp has error checking so messages are garenteed to arrive in order, this is good for something like a chess game… udp is used for action games like 1st person shooters. Because blender runs a scripts in intervals, the fact that you send too many udp packets out will not be a problem but sending too many lines of text in tcp will make a buffer get really big on the server or client… err I heard of an idea that uses 2 connections, one udp for action of a game, and one tcp connection for chat.
That’s most of my thoughts, i’ll probably be doing some multiplayer work too. goodluck~