This repository has been archived on 2026-04-30. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Tortuga/docs/networking outline.txt
T

93 lines
2.0 KiB
Plaintext

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, carries the server name
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
//player controls
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