syntax = "proto3"; package protocol.message_c2s; 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. protocol.state.State next_state = 3; // The state the connection will go into after the handshake. } message MessageC2SGoodbye { enum packet_info { unknown = 0; type = 0x02; } protocol.goodbye_reason.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; } } message MessageC2SInput { enum packet_info { unknown = 0; type = 0x0b; } bool up_pressed = 1; bool down_pressed = 2; bool left_pressed = 3; bool right_pressed = 4; }