syntax = "proto3"; package protocol.messagec2s; import "state.proto"; import "goodbye_reason.proto"; message MessageC2SHello { enum packet_info { unknown = 0; type = 0x01; } uint32 version = 1; // Version of the protocol. Currently always 1 string requested_username = 2; // The username that the client is requesting. State next_state = 3; // The state the connection will go into after the handshake. } message MessageC2SGoodbye { enum packet_info { unknown = 0; type = 0x02; } GoodbyeReason reason = 1; // The reason the client is disconnecting the server } message MessageC2SChat { enum packet_info { unknown = 0; type = 0x03; } string message = 1; // The chat message to sent } message MessageC2SPing { enum packet_info { unknown = 0; type = 0x04; } }