What the server holds for each player until the player's next packet, as FTE keeps it
for a client: the reliable messages (MSG_ONE, reliable multicasts, prints), the
datagram (unreliable multicasts), and the last centerprint, which goes out with the
next packet after the reliable messages queued before it.
server = QuakeServer.Outbox.print(server, 1, 2, "You got the shotgun\n")
{%{reliable: [_], datagram: []}, server} = QuakeServer.Outbox.take(server, 1)Each message is a binary of whole server messages, opening with its svc byte. The
players are the entities 1 to the server's slots once a player has connected.
Summary
Functions
Make text the centerprint player gets with the next packet, replacing one waiting.
The connected players.
Queue text reliably for player as a print of level (svc_print).
Queue bytes reliably for player.
Take player's packet: the reliable messages, then the waiting centerprint, and the datagram.
Add bytes to player's datagram.
Types
Functions
@spec centerprint(QuakeServer.Server.t(), pos_integer(), String.t()) :: QuakeServer.Server.t()
Make text the centerprint player gets with the next packet, replacing one waiting.
@spec players(QuakeServer.Server.t()) :: [pos_integer()]
The connected players.
@spec print(QuakeServer.Server.t(), pos_integer(), integer(), String.t()) :: QuakeServer.Server.t()
Queue text reliably for player as a print of level (svc_print).
@spec reliable(QuakeServer.Server.t(), pos_integer(), binary()) :: QuakeServer.Server.t()
Queue bytes reliably for player.
@spec take(QuakeServer.Server.t(), pos_integer()) :: {packet(), QuakeServer.Server.t()}
Take player's packet: the reliable messages, then the waiting centerprint, and the datagram.
@spec unreliable(QuakeServer.Server.t(), pos_integer(), binary()) :: QuakeServer.Server.t()
Add bytes to player's datagram.