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