OpenTTD Source
1.11.0-beta2
|
Go to the documentation of this file.
10 #ifndef NETWORK_CLIENT_H
11 #define NETWORK_CLIENT_H
NetworkRecvStatus Receive_SERVER_FRAME(Packet *p) override
Sends the current frame counter to the client: uint32 Frame counter uint32 Frame counter max (how far...
DestType
Destination of our chat messages.
static NetworkRecvStatus SendNewGRFsOk()
Tell the server we got all the NewGRFs.
@ STATUS_END
Must ALWAYS be on the end of this list!! (period)
NetworkRecvStatus Receive_SERVER_CHAT(Packet *p) override
Sends a chat-packet to the client: uint8 ID of the action (see NetworkAction).
static NetworkRecvStatus SendSetName(const char *name)
Tell the server that we like to change the name of the client.
NetworkRecvStatus Receive_SERVER_COMPANY_INFO(Packet *p) override
Sends information about the companies (one packet per company): uint8 Version of the structure of thi...
@ STATUS_AUTH_COMPANY
Last action was requesting company password.
static NetworkRecvStatus SendChat(NetworkAction action, DestType type, int dest, const char *msg, int64 data)
Send a chat-packet over the network.
NetworkRecvStatus Receive_SERVER_BANNED(Packet *p) override
Notification that the client trying to join is banned.
const char * _network_join_server_password
Login password from -p argument.
NetworkAction
Actions that can be used for NetworkTextMessage.
static NetworkRecvStatus SendMove(CompanyID company, const char *password)
Ask the server to move us.
NetworkRecvStatus Receive_SERVER_COMPANY_UPDATE(Packet *p) override
Update the clients knowledge of which company is password protected: uint16 Bitwise representation of...
void CheckConnection()
Check the connection's state, i.e.
static bool GameLoop()
Actual game loop for the client.
NetworkRecvStatus Receive_SERVER_ERROR(Packet *p) override
The client made an error: uint8 Error code caused (see NetworkErrorCode).
static ClientNetworkGameSocketHandler * my_client
This is us!
NetworkRecvStatus Receive_SERVER_MAP_BEGIN(Packet *p) override
Sends that the server will begin with sending the map to the client: uint32 Current frame.
Owner
Enum for all companies/owners.
NetworkRecvStatus CloseConnection(NetworkRecvStatus status) override
Close the network connection due to the given status.
Base socket handler for all TCP sockets.
NetworkRecvStatus Receive_SERVER_CLIENT_INFO(Packet *p) override
Send information about a client: uint32 ID of the client (always unique on a server.
Read some packets, and when do use that data as initial load filter.
@ STATUS_INACTIVE
The client is not connected nor active.
NetworkRecvStatus Receive_SERVER_NEWGAME(Packet *p) override
Let the clients know that the server is loading a new map.
NetworkRecvStatus Receive_SERVER_NEED_COMPANY_PASSWORD(Packet *p) override
Indication to the client that the server needs a company password: uint32 Generation seed.
NetworkRecvStatus Receive_SERVER_NEED_GAME_PASSWORD(Packet *p) override
Indication to the client that the server needs a game password.
static NetworkRecvStatus SendJoin()
Tell the server we would like to join.
@ STATUS_MAP
The client is downloading the map.
NetworkRecvStatus Receive_SERVER_MAP_DATA(Packet *p) override
Sends the data of the map to the client: Contains a part of the map (until max size of packet).
NetworkRecvStatus Receive_SERVER_FULL(Packet *p) override
Notification that the server is full.
Everything we need to know about a command to be able to execute it.
NetworkRecvStatus Receive_SERVER_CHECK_NEWGRFS(Packet *p) override
Sends information about all used GRFs to the client: uint8 Amount of GRFs (the following data is repe...
static bool IsConnected()
Check whether the client is actually connected (and in the game).
NetworkRecvStatus Receive_SERVER_WELCOME(Packet *p) override
The client is joined and ready to receive his map: uint32 Own client ID.
Base class that provides memory initialization on dynamically created objects.
NetworkRecvStatus Receive_SERVER_JOIN(Packet *p) override
A client joined (PACKET_CLIENT_MAP_OK), what usually directly follows is a PACKET_SERVER_CLIENT_INFO:...
@ STATUS_COMPANY_INFO
We are trying to get company information.
void NetworkClientSetCompanyPassword(const char *password)
Set/Reset company password on the client side.
@ STATUS_JOIN
We are trying to join a server.
const char * _network_join_company_password
Company password from -P argument.
ServerStatus
Status of the connection with the server.
@ STATUS_MAP_WAIT
The client is waiting as someone else is downloading the map.
Internal entity of a packet.
static NetworkRecvStatus SendCompanyInformationQuery()
Make sure the server ID length is the same as a md5 hash.
ClientNetworkGameSocketHandler(SOCKET s)
Create a new socket for the client side of the game connection.
static bool Receive()
Check whether we received/can send some data from/to the server and when that's the case handle it ap...
NetworkRecvStatus Receive_SERVER_CONFIG_UPDATE(Packet *p) override
Update the clients knowledge of the max settings: uint8 Maximum number of companies allowed.
static NetworkRecvStatus SendSetPassword(const char *password)
Tell the server that we like to change the password of the company.
static NetworkRecvStatus SendRCon(const char *password, const char *command)
Send a console command.
static NetworkRecvStatus SendCommand(const CommandPacket *cp)
Send a command to the server.
NetworkRecvStatus Receive_SERVER_ERROR_QUIT(Packet *p) override
Inform all clients that one client made an error and thus has quit/been disconnected: uint32 ID of th...
@ STATUS_AUTHORIZED
The client is authorized at the server.
NetworkRecvStatus
Status of a network client; reasons why a client has quit.
static NetworkRecvStatus SendError(NetworkErrorCode errorno)
Send an error-packet over the network.
NetworkRecvStatus Receive_SERVER_SYNC(Packet *p) override
Sends a sync-check to the client: uint32 Frame counter.
void ClientError(NetworkRecvStatus res)
Handle an error coming from the client side.
byte token
The token we need to send back to the server to prove we're the right client.
@ STATUS_AUTH_GAME
Last action was requesting game (server) password.
static NetworkRecvStatus SendCompanyPassword(const char *password)
Set the company password as requested.
friend void NetworkExecuteLocalCommandQueue()
Execute all commands on the local command queue that ought to be executed this frame.
~ClientNetworkGameSocketHandler()
Clear whatever we assigned.
NetworkRecvStatus Receive_SERVER_COMMAND(Packet *p) override
Sends a DoCommand to the client: uint8 ID of the company (0..MAX_COMPANIES-1).
Class for handling the client side of the game connection.
NetworkRecvStatus Receive_SERVER_SHUTDOWN(Packet *p) override
Let the clients know that the server is closing.
@ STATUS_NEWGRFS_CHECK
Last action was checking NewGRFs.
static NetworkRecvStatus SendGetMap()
Request the map from the server.
NetworkRecvStatus Receive_SERVER_RCON(Packet *p) override
Send the result of an issues RCon command back to the client: uint16 Colour code.
CompanyID _network_join_as
Who would we like to join as.
static NetworkRecvStatus SendMapOk()
Tell the server we received the complete map.
struct PacketReader * savegame
Packet reader for reading the savegame.
static NetworkRecvStatus SendAck()
Send an acknowledgement from the server's ticks.
NetworkRecvStatus Receive_SERVER_MAP_DONE(Packet *p) override
Sends that all data of the map are sent to the client:
static NetworkRecvStatus SendQuit()
Tell the server we would like to quit.
friend void NetworkClose(bool close_admins)
Close current connections.
@ STATUS_ACTIVE
The client is active within in the game.
ServerStatus status
Status of the connection with the server.
NetworkRecvStatus Receive_SERVER_MAP_SIZE(Packet *p) override
Sends the size of the map to the client.
NetworkRecvStatus Receive_SERVER_QUIT(Packet *p) override
Notification that a client left the game: uint32 ID of the client.
NetworkRecvStatus Receive_SERVER_MOVE(Packet *p) override
Move a client from one company into another: uint32 ID of the client.
static void Send()
Send the packets of this socket handler.
void NetworkClient_Connected()
Is called after a client is connected to the server.
NetworkErrorCode
The error codes we send around in the protocols.
static NetworkRecvStatus SendGamePassword(const char *password)
Set the game password as requested.
ClientNetworkGameSocketHandler MyClient
Helper to make the code look somewhat nicer.
NetworkRecvStatus Receive_SERVER_WAIT(Packet *p) override
Notification that another client is currently receiving the map: uint8 Number of clients waiting in f...