Default package

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

enum AdvantageChoice

ssl_gc_rcon_team.proto:38

the current advantage choice of the team the choice is valid until another choice is received if the team disconnects, the choice is reset to its default (STOP) teams may either send their current choice continuously or only on change

Used in: TeamToController

message AutoRefCiInput

ssl_autoref_ci.proto:10

The AutoRefCiInput contains all packets/messages that would otherwise be received through multicast by the auto-referee It may contain either a raw or a tracked SSL-vision packet. If both are given, the implementation may choose either one.

message AutoRefCiOutput

ssl_autoref_ci.proto:22

The AutoRefCiOutput contains any new data created by the auto-referee for further processing

message AutoRefConfig

ssl_gc_engine_config.proto:38

The config for an auto referee

Used in: Config

enum AutoRefConfig.Behavior

ssl_gc_engine_config.proto:43

Behaviors for the game events reported by this auto referee

Used in: AutoRefConfig

message AutoRefRegistration

ssl_gc_rcon_autoref.proto:7

AutoRefRegistration is the first message that a client must send to the controller to identify itself

message AutoRefToController

ssl_gc_rcon_autoref.proto:15

AutoRefToController is the wrapper message for all subsequent messages from the autoRef to the controller

message Ball

ssl_gc_engine.proto:80

The ball state

Used in: GcStateTracker

enum Capability

ssl_vision_detection_tracked.proto:9

Capabilities that a source implementation can have

Used in: TrackedFrame

message Change

ssl_gc_change.proto:27

A certain change

Used in: Input, ProtocolEntry, StateChange

message Change.AcceptProposalGroup

ssl_gc_change.proto:111

Accept a proposal group (that contain one or more proposals of the same type)

Used in: Change

message Change.AddGameEvent

ssl_gc_change.proto:93

Add a new game event

Used in: Change

message Change.AddPassiveGameEvent

ssl_gc_change.proto:99

Add a new passive game event (that is only logged, but does not automatically trigger anything)

Used in: Change

message Change.AddProposal

ssl_gc_change.proto:105

Add a new proposal (i.e. from an auto referee for majority voting)

Used in: Change

message Change.AddRedCard

ssl_gc_change.proto:79

Add a new red card

Used in: Change

message Change.AddYellowCard

ssl_gc_change.proto:71

Add a new yellow card

Used in: Change

message Change.ChangeStage

ssl_gc_change.proto:59

Switch to a new stage

Used in: Change

message Change.NewCommand

ssl_gc_change.proto:53

New referee command

Used in: Change

message Change.NewGameState

ssl_gc_change.proto:191

Change the current game state

Used in: Change

message Change.Revert

ssl_gc_change.proto:185

Revert a certain change

Used in: Change

message Change.SetBallPlacementPos

ssl_gc_change.proto:65

Set the ball placement pos

Used in: Change

message Change.SetStatusMessage

ssl_gc_change.proto:196

Used in: Change

message Change.SwitchColors

ssl_gc_change.proto:181

Switch the team colors

Used in: Change

(message has no fields)

message Change.UpdateConfig

ssl_gc_change.proto:119

Update some configuration

Used in: Change

message Change.UpdateTeamState

ssl_gc_change.proto:132

Update the current state of a team (all fields that should be updated are set)

Used in: Change

message Change.YellowCardOver

ssl_gc_change.proto:87

Trigger when a yellow card timed out

Used in: Change

message CiInput

ssl_gc_ci.proto:9

The input format to the GC

message CiOutput

ssl_gc_ci.proto:21

The output format of the GC response

message Command

ssl_gc_state.proto:28

Used in: Change.NewCommand, State

enum Command.Type

ssl_gc_state.proto:32

Used in: Command

message Config

ssl_gc_engine_config.proto:4

The engine config

Used in: Input, Output

enum Config.Behavior

ssl_gc_engine_config.proto:21

Behaviors for each game event

Used in: Config

message ContinueAction

ssl_gc_engine.proto:97

Used in: GcState, Input

enum ContinueAction.State

ssl_gc_engine.proto:138

Used in: ContinueAction

enum ContinueAction.Type

ssl_gc_engine.proto:113

Used in: ContinueAction

message ContinueHint

ssl_gc_engine.proto:148

Used in: GcState

message ControllerReply

ssl_gc_rcon.proto:4

a reply that is sent by the controller for each request from teams or autoRefs

Used in: ControllerToAutoRef, ControllerToRemoteControl, ControllerToTeam

enum ControllerReply.StatusCode

ssl_gc_rcon.proto:17

Used in: ControllerReply

enum ControllerReply.Verification

ssl_gc_rcon.proto:23

Used in: ControllerReply

message ControllerToAutoRef

ssl_gc_rcon_autoref.proto:25

ControllerToAutoRef is the wrapper message for all messages from controller to autoRef

message ControllerToRemoteControl

ssl_gc_rcon_remotecontrol.proto:53

wrapper for all messages from controller to a team's computer

message ControllerToTeam

ssl_gc_rcon_team.proto:46

wrapper for all messages from controller to a team's computer

enum Division

ssl_gc_common.proto:22

Division denotes the current division, which influences some rules

Used in: Change.UpdateConfig, State

message Foul

ssl_gc_state.proto:22

Used in: Change.UpdateTeamState, TeamInfo

message GameEvent

ssl_gc_game_event.proto:12

GameEvent contains exactly one game event Each game event has optional and required fields. The required fields are mandatory to process the event. Some optional fields are only used for visualization, others are required to determine the ball placement position. If fields are missing that are required for the ball placement position, no ball placement command will be issued. Fields are marked optional to make testing and extending of the protocol easier. An autoRef should ideally set all fields, except if there are good reasons to not do so.

Used in: AutoRefToController, Change.AddGameEvent, Change.AddPassiveGameEvent, Change.AddRedCard, Change.AddYellowCard, Foul, GameEvent.MultipleFouls, GameEventProposalGroup, Proposal, RedCard, Referee, State, YellowCard

message GameEvent.AimlessKick

ssl_gc_game_event.proto:124

the ball left the field via goal line and a team committed an aimless kick

Used in: GameEvent

message GameEvent.AttackerDoubleTouchedBall

ssl_gc_game_event.proto:343

an attacker touched the ball multiple times when it was not allowed to

Used in: GameEvent

message GameEvent.AttackerTooCloseToDefenseArea

ssl_gc_game_event.proto:352

an attacker was located too near to the opponent defense area during stop or free kick

Used in: GameEvent

message GameEvent.AttackerTouchedBallInDefenseArea

ssl_gc_game_event.proto:297

an attacker touched the ball inside the opponent defense area

Used in: GameEvent

message GameEvent.AttackerTouchedOpponentInDefenseArea

ssl_gc_game_event.proto:332

an attacker touched the opponent robot inside defense area

Used in: GameEvent

message GameEvent.BallLeftField

ssl_gc_game_event.proto:115

the ball left the field normally

Used in: GameEvent

message GameEvent.BotCrashDrawn

ssl_gc_game_event.proto:202

two robots crashed into each other with similar speeds

Used in: GameEvent

message GameEvent.BotCrashUnique

ssl_gc_game_event.proto:219

two robots crashed into each other and one team was found guilty to due significant speed difference

Used in: GameEvent

message GameEvent.BotDribbledBallTooFar

ssl_gc_game_event.proto:321

a bot dribbled to ball too far

Used in: GameEvent

message GameEvent.BotDroppedParts

ssl_gc_game_event.proto:262

a bot dropped parts

Used in: GameEvent

message GameEvent.BotHeldBallDeliberately

ssl_gc_game_event.proto:365

a bot held the ball for too long

Used in: GameEvent

message GameEvent.BotInterferedPlacement

ssl_gc_game_event.proto:376

a bot interfered the ball placement of the other team

Used in: GameEvent

message GameEvent.BotKickedBallTooFast

ssl_gc_game_event.proto:308

a bot kicked the ball too fast

Used in: GameEvent

message GameEvent.BotPushedBot

ssl_gc_game_event.proto:238

a bot pushed another bot over a significant distance

Used in: GameEvent

message GameEvent.BotSubstitution

ssl_gc_game_event.proto:466

bots are being substituted by a team

Used in: GameEvent

message GameEvent.BotTippedOver

ssl_gc_game_event.proto:251

a bot tipped over

Used in: GameEvent

message GameEvent.BotTooFastInStop

ssl_gc_game_event.proto:180

a bot moved too fast while the game was stopped

Used in: GameEvent

message GameEvent.BoundaryCrossing

ssl_gc_game_event.proto:504

a robot chipped the ball over the field boundary out of the playing surface

Used in: GameEvent

message GameEvent.ChallengeFlag

ssl_gc_game_event.proto:476

A challenge flag, requested by a team previously, is flagged

Used in: GameEvent

message GameEvent.ChallengeFlagHandled

ssl_gc_game_event.proto:481

A challenge, flagged recently, has been handled by the referee

Used in: GameEvent

message GameEvent.ChippedGoal

ssl_gc_game_event.proto:167

the ball entered the goal, but was initially chipped

Used in: GameEvent

message GameEvent.DefenderInDefenseArea

ssl_gc_game_event.proto:273

a defender other than the keeper was fully located inside its own defense and touched the ball

Used in: GameEvent

message GameEvent.DefenderInDefenseAreaPartially

ssl_gc_game_event.proto:284

a defender other than the keeper was partially located inside its own defense area and touched the ball

Used in: GameEvent

message GameEvent.DefenderTooCloseToKickPoint

ssl_gc_game_event.proto:191

a bot of the defending team got too close to the kick point during a free kick

Used in: GameEvent

message GameEvent.EmergencyStop

ssl_gc_game_event.proto:488

An emergency stop, requested by team previously, occurred

Used in: GameEvent

message GameEvent.ExcessiveBotSubstitution

ssl_gc_game_event.proto:471

A foul for excessive bot substitutions

Used in: GameEvent

message GameEvent.Goal

ssl_gc_game_event.proto:135

a team shot a goal

Used in: GameEvent

message GameEvent.IndirectGoal

ssl_gc_game_event.proto:156

the ball entered the goal directly during an indirect free kick

Used in: GameEvent

message GameEvent.KeeperHeldBall

ssl_gc_game_event.proto:441

a keeper held the ball in its defense area for too long

Used in: GameEvent

message GameEvent.KickTimeout

ssl_gc_game_event.proto:402

timeout waiting for the attacking team to perform the free kick

Used in: GameEvent

message GameEvent.MultipleCards

ssl_gc_game_event.proto:385

a team collected multiple yellow cards

Used in: GameEvent

message GameEvent.MultipleFouls

ssl_gc_game_event.proto:390

a team collected multiple fouls, which results in a yellow card

Used in: GameEvent

message GameEvent.MultiplePlacementFailures

ssl_gc_game_event.proto:397

a team failed to place the ball multiple times in a row

Used in: GameEvent

message GameEvent.NoProgressInGame

ssl_gc_game_event.proto:411

game was stuck

Used in: GameEvent

message GameEvent.PenaltyKickFailed

ssl_gc_game_event.proto:511

the penalty kick failed (by time or by keeper)

Used in: GameEvent

message GameEvent.PlacementFailed

ssl_gc_game_event.proto:418

ball placement failed

Used in: GameEvent

message GameEvent.PlacementSucceeded

ssl_gc_game_event.proto:450

a team successfully placed the ball

Used in: GameEvent

message GameEvent.Prepared

ssl_gc_game_event.proto:461

both teams are prepared - all conditions are met to continue (with kickoff or penalty kick)

Used in: GameEvent

message GameEvent.TooManyRobots

ssl_gc_game_event.proto:493

a team has too many robots on the field

Used in: GameEvent

enum GameEvent.Type

ssl_gc_game_event.proto:520

Used in: GameEvent

message GameEvent.UnsportingBehaviorMajor

ssl_gc_game_event.proto:434

a team was found guilty for major unsporting behavior

Used in: GameEvent

message GameEvent.UnsportingBehaviorMinor

ssl_gc_game_event.proto:427

a team was found guilty for minor unsporting behavior

Used in: GameEvent

message GameEventProposalGroup

ssl_gc_referee_message.proto:219

List of matching proposals

Used in: Referee

message GameState

ssl_gc_state.proto:47

Used in: Change.NewGameState, State

enum GameState.Type

ssl_gc_state.proto:51

Used in: GameState

message GcState

ssl_gc_engine.proto:9

The GC state contains settings and state independent of the match state

Used in: Output

message GcStateAutoRef

ssl_gc_engine.proto:59

The GC state of an auto referee

Used in: GcState

message GcStateTeam

ssl_gc_engine.proto:27

The GC state for a single team

Used in: GcState

message GcStateTracker

ssl_gc_engine.proto:65

GC state of a tracker

enum HullColor

ssl_gc_referee_message.proto:241

HullColor is the color of the hull of the robots of a team

Used in: Change.UpdateTeamState, Referee.TeamInfo, TeamInfo

message Input

ssl_gc_api.proto:45

Message format that can be send from the client to the GC

Used in: CiInput

message KickedBall

ssl_vision_detection_tracked.proto:31

A ball kicked by a robot, including predictions when the ball will come to a stop

Used in: TrackedFrame

enum MatchType

ssl_gc_referee_message.proto:229

MatchType is a meta information about the current match for easier log processing

Used in: Change.UpdateConfig, Referee, State

message Output

ssl_gc_api.proto:11

Message format that is pushed from the GC to the client

message Proposal

ssl_gc_state.proto:64

Used in: Change.AddProposal, ProposalGroup

message ProposalGroup

ssl_gc_state.proto:71

Used in: State

message Protocol

ssl_gc_api.proto:23

The game protocol

Used in: Output

message ProtocolEntry

ssl_gc_api.proto:33

A protocol entry of a change

Used in: Protocol

message RedCard

ssl_gc_state.proto:17

Used in: Change.UpdateTeamState, TeamInfo

message Referee

ssl_gc_referee_message.proto:6

Each UDP packet contains one of these messages.

Used in: AutoRefCiInput, CiOutput

enum Referee.Command

ssl_gc_referee_message.proto:75

These are the "fine" states of play on the field.

Used in: Referee

message Referee.Point

ssl_gc_referee_message.proto:177

The coordinates of the Designated Position. These are measured in millimetres and correspond to SSL-Vision coordinates. These fields are always either both present (in the case of a ball placement command) or both absent (in the case of any other command).

Used in: Referee

enum Referee.Stage

ssl_gc_referee_message.proto:19

These are the "coarse" stages of the game.

Used in: Change.ChangeStage, Referee, State

message Referee.TeamInfo

ssl_gc_referee_message.proto:127

Information about a single team.

Used in: Referee

message RemoteControlRegistration

ssl_gc_rcon_remotecontrol.proto:7

a registration that must be send by the remote control to the controller as the very first message

enum RemoteControlRequestType

ssl_gc_rcon_remotecontrol.proto:108

All possible request types that the remote control can make

Used in: RemoteControlTeamState

message RemoteControlTeamState

ssl_gc_rcon_remotecontrol.proto:62

Current team state from Controller for remote control

Used in: ControllerToRemoteControl

message RemoteControlToController

ssl_gc_rcon_remotecontrol.proto:15

wrapper for all messages from the remote control to the controller

enum RemoteControlToController.Request

ssl_gc_rcon_remotecontrol.proto:39

Used in: RemoteControlToController

message Robot

ssl_gc_engine.proto:89

The robot state

Used in: GcStateTracker

message RobotId

ssl_gc_common.proto:14

RobotId is the combination of a team and a robot id

Used in: KickedBall, Robot, TrackedRobot

message SSL_BallModelChipFixedLoss

ssl_vision_geometry.proto:121

Fixed-Loss model for chipped balls. Uses fixed damping factors for xy and z direction per hop.

Used in: SSL_GeometryModels

message SSL_BallModelStraightTwoPhase

ssl_vision_geometry.proto:110

Two-Phase model for straight-kicked balls. There are two phases with different accelerations during the ball kicks: 1. Sliding 2. Rolling The full model is described in the TDP of ER-Force from 2016, which can be found here: https://ssl.robocup.org/wp-content/uploads/2019/01/2016_ETDP_ER-Force.pdf

Used in: SSL_GeometryModels

message SSL_DetectionBall

ssl_vision_detection.proto:3

Used in: SSL_DetectionFrame

message SSL_DetectionFrame

ssl_vision_detection.proto:39

Used in: AutoRefCiInput, SSL_WrapperPacket

message SSL_DetectionRobot

ssl_vision_detection.proto:20

Used in: SSL_DetectionFrame

message SSL_FieldCircularArc

ssl_vision_geometry.proto:30

Represents a field marking as a circular arc segment represented by center point, a start angle, an end angle, and an arc thickness.

Used in: SSL_GeometryFieldSize

message SSL_FieldLineSegment

ssl_vision_geometry.proto:15

Represents a field marking as a line segment represented by a start point p1, and end point p2, and a line thickness. The start and end points are along the center of the line, so the thickness of the line extends by thickness / 2 on either side of the line.

Used in: SSL_GeometryFieldSize

enum SSL_FieldShapeType

ssl_vision_geometry.proto:141

Used in: SSL_FieldCircularArc, SSL_FieldLineSegment

message SSL_GeometryCameraCalibration

ssl_vision_geometry.proto:84

Used in: SSL_GeometryData

message SSL_GeometryData

ssl_vision_geometry.proto:135

Used in: AutoRefCiInput, CiInput, SSL_WrapperPacket

message SSL_GeometryFieldSize

ssl_vision_geometry.proto:47

Used in: SSL_GeometryData

message SSL_GeometryModels

ssl_vision_geometry.proto:130

Used in: SSL_GeometryData

enum SSL_Source

ssl_vision_wrapper.proto:6

Used in: SSL_WrapperPacket

message SSL_WrapperPacket

ssl_vision_wrapper.proto:15

message ShootoutState

ssl_gc_state.proto:129

Used in: State

message Signature

ssl_gc_rcon.proto:31

Signature can be added to a request to let it be verfied by the controller

Used in: AutoRefRegistration, AutoRefToController, RemoteControlRegistration, RemoteControlToController, TeamRegistration, TeamToController

message State

ssl_gc_state.proto:105

Used in: Output, StateChange

message StateChange

ssl_gc_change.proto:13

A state change

enum Team

ssl_gc_common.proto:4

Team is either blue or yellow

Used in: Change.AddRedCard, Change.AddYellowCard, Change.UpdateConfig, Change.UpdateTeamState, Change.YellowCardOver, Command, ContinueAction, GameEvent.AimlessKick, GameEvent.AttackerDoubleTouchedBall, GameEvent.AttackerTooCloseToDefenseArea, GameEvent.AttackerTouchedBallInDefenseArea, GameEvent.AttackerTouchedOpponentInDefenseArea, GameEvent.BallLeftField, GameEvent.BotCrashUnique, GameEvent.BotDribbledBallTooFar, GameEvent.BotDroppedParts, GameEvent.BotHeldBallDeliberately, GameEvent.BotInterferedPlacement, GameEvent.BotKickedBallTooFast, GameEvent.BotPushedBot, GameEvent.BotSubstitution, GameEvent.BotTippedOver, GameEvent.BotTooFastInStop, GameEvent.BoundaryCrossing, GameEvent.ChallengeFlag, GameEvent.ChallengeFlagHandled, GameEvent.ChippedGoal, GameEvent.DefenderInDefenseArea, GameEvent.DefenderInDefenseAreaPartially, GameEvent.DefenderTooCloseToKickPoint, GameEvent.EmergencyStop, GameEvent.ExcessiveBotSubstitution, GameEvent.Goal, GameEvent.IndirectGoal, GameEvent.KeeperHeldBall, GameEvent.KickTimeout, GameEvent.MultipleCards, GameEvent.MultipleFouls, GameEvent.MultiplePlacementFailures, GameEvent.PenaltyKickFailed, GameEvent.PlacementFailed, GameEvent.PlacementSucceeded, GameEvent.TooManyRobots, GameEvent.UnsportingBehaviorMajor, GameEvent.UnsportingBehaviorMinor, GameState, RemoteControlRegistration, RemoteControlTeamState, RobotId, ShootoutState, State, TeamRegistration

message TeamAdvantageChoice

ssl_gc_engine.proto:45

The choice from a team regarding the advantage rule

Used in: GcStateTeam

enum TeamAdvantageChoice.AdvantageChoice

ssl_gc_engine.proto:50

possible advantage choices

Used in: TeamAdvantageChoice

message TeamInfo

ssl_gc_state.proto:81

Used in: State

message TeamRegistration

ssl_gc_rcon_team.proto:7

a registration that must be send by teams to the controller as the very first message

message TeamToController

ssl_gc_rcon_team.proto:17

wrapper for all messages from a team's computer to the controller

message TrackedBall

ssl_vision_detection_tracked.proto:17

A single tracked ball

Used in: TrackedFrame

message TrackedFrame

ssl_vision_detection_tracked.proto:69

A frame that contains all currently tracked objects on the field on all cameras

Used in: TrackerWrapperPacket

message TrackedRobot

ssl_vision_detection_tracked.proto:49

A single tracked robot

Used in: TrackedFrame

message TrackerWrapperPacket

ssl_vision_wrapper_tracked.proto:7

A wrapper packet containing meta data of the source Also serves for the possibility to extend the protocol later

Used in: AutoRefCiInput, AutoRefCiOutput, CiInput

message Vector2

ssl_gc_geometry.proto:4

A vector with two dimensions

Used in: Change.SetBallPlacementPos, GameEvent.AimlessKick, GameEvent.AttackerDoubleTouchedBall, GameEvent.AttackerTooCloseToDefenseArea, GameEvent.AttackerTouchedBallInDefenseArea, GameEvent.AttackerTouchedOpponentInDefenseArea, GameEvent.BallLeftField, GameEvent.BotCrashDrawn, GameEvent.BotCrashUnique, GameEvent.BotDribbledBallTooFar, GameEvent.BotDroppedParts, GameEvent.BotHeldBallDeliberately, GameEvent.BotInterferedPlacement, GameEvent.BotKickedBallTooFast, GameEvent.BotPushedBot, GameEvent.BotTippedOver, GameEvent.BotTooFastInStop, GameEvent.BoundaryCrossing, GameEvent.ChippedGoal, GameEvent.DefenderInDefenseArea, GameEvent.DefenderInDefenseAreaPartially, GameEvent.DefenderTooCloseToKickPoint, GameEvent.Goal, GameEvent.IndirectGoal, GameEvent.KeeperHeldBall, GameEvent.KickTimeout, GameEvent.NoProgressInGame, GameEvent.PenaltyKickFailed, GameEvent.TooManyRobots, KickedBall, Robot, State, TrackedRobot

message Vector2f

ssl_vision_geometry.proto:4

A 2D float vector.

Used in: SSL_FieldCircularArc, SSL_FieldLineSegment

message Vector3

ssl_gc_geometry.proto:10

A vector with three dimensions

Used in: Ball, KickedBall, TrackedBall

message YellowCard

ssl_gc_state.proto:11

Used in: Change.UpdateTeamState, TeamInfo