Client: SceneManager: TCPSocket end end Server: TCPServerSocket SocketList --list of all client sockets if one is closed, remove it. end When the player enters the lobby, they can choose what server to connect to. When they connect to the server, they'll enter a sort of character creation screen. Once that is done, they will enter the game world proper. This is controlled through the config files for now. using ';' delimited commands, how can I get it to work? ------------------------- UDPNetworkUtility: void Open(port, packSize) void Close() //bind to an available channel int Bind(ip, port) int Bind(address) //bind to a certain channel int Bind(ip, port, channel) int Bind(address, channel) void Unbind(channel) int Send(channel, data, len) int Receive() GetIPAddress(channel) GetOutData() GetInData() GetOutPacket() GetInPacket() UDPsocket socket UDPpacket packOut UDPpacket packIn end ------------------------- packet_list.hpp: Ping: end Pong: end JoinRequest: avatarName ... end JoinConfirm: yourID end NewPlayer: id position motion avatarName end MotionUpdate: id position motion end union Packet: MotionUpdate end end ------------------------- Networking protocol: //connections ping: ping the server pong: a response to a ping join request: from client to server, this is the initial contact the client makes. it carries all of the client's information, like the handle, avatar, etc. join confirm: the response to a join request, this makes the client enter the game proper, and carries the client's playerID. disconnect: from either the client or server, his officially ends communications between the two programs //information control synchronize: update both the server and client new player: a new player enters the world. carries all player info delete player: a player leaves the world, carries the player ID movement: this is the initial position and motion of a player in the world. it is relayed to all clients, and progresses using delta progression ------------------------- Server: ClientData: int playerID int channel str handle str avatar vec position vec motion end end Client: Lobby: ServerData: name address end end end