package gameController

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

enum AdvantageChoice

ssl_gc_rcon_team.proto:40

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 AutoRefConfig

ssl_gc_engine_config.proto:40

The config for an auto referee

Used in: Config

enum AutoRefConfig.Behavior

ssl_gc_engine_config.proto:45

Behaviors for the game events reported by this auto referee

Used in: AutoRefConfig

message AutoRefRegistration

ssl_gc_rcon_autoref.proto:9

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

message AutoRefToController

ssl_gc_rcon_autoref.proto:17

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

message Ball

ssl_gc_engine.proto:82

The ball state

Used in: GcStateTracker

message BotId

ssl_gc_common.proto:16

BotId is the combination of a team and a robot id

Used in: KickedBall, Robot, TrackedRobot, sslsim.RobotSpecs, sslsim.TeleportRobot

enum Capability

ssl_detection_tracked.proto:11

Capabilities that a source implementation can have

Used in: TrackedFrame

message Change

ssl_gc_change.proto:29

A certain change

Used in: Input, ProtocolEntry, StateChange

message Change.AcceptProposalGroup

ssl_gc_change.proto:113

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

Used in: Change

message Change.AddGameEvent

ssl_gc_change.proto:95

Add a new game event

Used in: Change

message Change.AddPassiveGameEvent

ssl_gc_change.proto:101

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:107

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

Used in: Change

message Change.AddRedCard

ssl_gc_change.proto:81

Add a new red card

Used in: Change

message Change.AddYellowCard

ssl_gc_change.proto:73

Add a new yellow card

Used in: Change

message Change.ChangeStage

ssl_gc_change.proto:61

Switch to a new stage

Used in: Change

message Change.NewCommand

ssl_gc_change.proto:55

New referee command

Used in: Change

message Change.NewGameState

ssl_gc_change.proto:193

Change the current game state

Used in: Change

message Change.Revert

ssl_gc_change.proto:187

Revert a certain change

Used in: Change

message Change.SetBallPlacementPos

ssl_gc_change.proto:67

Set the ball placement pos

Used in: Change

message Change.SetStatusMessage

ssl_gc_change.proto:198

Used in: Change

message Change.SwitchColors

ssl_gc_change.proto:183

Switch the team colors

Used in: Change

(message has no fields)

message Change.UpdateConfig

ssl_gc_change.proto:121

Update some configuration

Used in: Change

message Change.UpdateTeamState

ssl_gc_change.proto:134

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:89

Trigger when a yellow card timed out

Used in: Change

message CiInput

ssl_gc_ci.proto:11

The input format to the GC

message CiOutput

ssl_gc_ci.proto:23

The output format of the GC response

message Command

ssl_gc_state.proto:30

Used in: Change.NewCommand, State

enum Command.Type

ssl_gc_state.proto:34

Used in: Command

message Config

ssl_gc_engine_config.proto:6

The engine config

Used in: Input, Output

enum Config.Behavior

ssl_gc_engine_config.proto:23

Behaviors for each game event

Used in: Config

message ContinueAction

ssl_gc_engine.proto:99

Used in: GcState, Input

enum ContinueAction.State

ssl_gc_engine.proto:139

Used in: ContinueAction

enum ContinueAction.Type

ssl_gc_engine.proto:115

Used in: ContinueAction

message ContinueHint

ssl_gc_engine.proto:149

Used in: GcState

message ControllerReply

ssl_gc_rcon.proto:6

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

Used in: ControllerToAutoRef, ControllerToTeam

enum ControllerReply.StatusCode

ssl_gc_rcon.proto:19

Used in: ControllerReply

enum ControllerReply.Verification

ssl_gc_rcon.proto:25

Used in: ControllerReply

message ControllerToAutoRef

ssl_gc_rcon_autoref.proto:27

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

message ControllerToTeam

ssl_gc_rcon_team.proto:48

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

enum Division

ssl_gc_common.proto:24

Division denotes the current division, which influences some rules

Used in: Change.UpdateConfig, State

message Foul

ssl_gc_state.proto:24

Used in: Change.UpdateTeamState, TeamInfo

message GameEvent

ssl_gc_game_event.proto:17

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. IMPORTANT: If any field is added here, also update the reflection when displaying the event (currently in refereestatuswidget)

Used in: GameEventProposalGroup, SSL_Referee, amun.GameState, amun.LogGameEvent, AutoRefToController, Change.AddGameEvent, Change.AddPassiveGameEvent, Change.AddRedCard, Change.AddYellowCard, Foul, Proposal, RedCard, State, YellowCard

message GameEvent.AimlessKick

ssl_gc_game_event.proto:129

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:348

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

Used in: GameEvent

message GameEvent.AttackerTooCloseToDefenseArea

ssl_gc_game_event.proto:357

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:302

an attacker touched the ball inside the opponent defense area

Used in: GameEvent

message GameEvent.AttackerTouchedOpponentInDefenseArea

ssl_gc_game_event.proto:337

an attacker touched the opponent robot inside defense area

Used in: GameEvent

message GameEvent.BallLeftField

ssl_gc_game_event.proto:120

the ball left the field normally

Used in: GameEvent

message GameEvent.BotCrashDrawn

ssl_gc_game_event.proto:207

two robots crashed into each other with similar speeds

Used in: GameEvent

message GameEvent.BotCrashUnique

ssl_gc_game_event.proto:224

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:326

a bot dribbled to ball too far

Used in: GameEvent

message GameEvent.BotDroppedParts

ssl_gc_game_event.proto:267

a bot dropped parts

Used in: GameEvent

message GameEvent.BotHeldBallDeliberately

ssl_gc_game_event.proto:370

a bot held the ball for too long

Used in: GameEvent

message GameEvent.BotInterferedPlacement

ssl_gc_game_event.proto:381

a bot interfered the ball placement of the other team

Used in: GameEvent

message GameEvent.BotKickedBallTooFast

ssl_gc_game_event.proto:313

a bot kicked the ball too fast

Used in: GameEvent

message GameEvent.BotPushedBot

ssl_gc_game_event.proto:243

a bot pushed another bot over a significant distance

Used in: GameEvent

message GameEvent.BotSubstitution

ssl_gc_game_event.proto:472

bots are being substituted by a team

Used in: GameEvent

message GameEvent.BotTippedOver

ssl_gc_game_event.proto:256

a bot tipped over

Used in: GameEvent

message GameEvent.BotTooFastInStop

ssl_gc_game_event.proto:185

a bot moved too fast while the game was stopped

Used in: GameEvent

message GameEvent.BoundaryCrossing

ssl_gc_game_event.proto:510

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:482

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

Used in: GameEvent

message GameEvent.ChallengeFlagHandled

ssl_gc_game_event.proto:487

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

Used in: GameEvent

message GameEvent.ChippedGoal

ssl_gc_game_event.proto:172

the ball entered the goal, but was initially chipped

Used in: GameEvent

message GameEvent.DefenderInDefenseArea

ssl_gc_game_event.proto:278

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:289

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:196

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:494

An emergency stop, requested by team previously, occurred

Used in: GameEvent

message GameEvent.ExcessiveBotSubstitution

ssl_gc_game_event.proto:477

A foul for excessive bot substitutions

Used in: GameEvent

message GameEvent.Goal

ssl_gc_game_event.proto:140

a team shot a goal

Used in: GameEvent

message GameEvent.IndirectGoal

ssl_gc_game_event.proto:161

the ball entered the goal directly during an indirect free kick

Used in: GameEvent

message GameEvent.KeeperHeldBall

ssl_gc_game_event.proto:447

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

Used in: GameEvent

message GameEvent.KickTimeout

ssl_gc_game_event.proto:408

timeout waiting for the attacking team to perform the free kick

Used in: GameEvent

message GameEvent.MultipleCards

ssl_gc_game_event.proto:390

a team collected multiple yellow cards

Used in: GameEvent

message GameEvent.MultipleFouls

ssl_gc_game_event.proto:395

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

Used in: GameEvent

message GameEvent.MultiplePlacementFailures

ssl_gc_game_event.proto:403

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

Used in: GameEvent

message GameEvent.NoProgressInGame

ssl_gc_game_event.proto:417

game was stuck

Used in: GameEvent

message GameEvent.PenaltyKickFailed

ssl_gc_game_event.proto:517

the penalty kick failed (by time or by keeper)

Used in: GameEvent

message GameEvent.PlacementFailed

ssl_gc_game_event.proto:424

ball placement failed

Used in: GameEvent

message GameEvent.PlacementSucceeded

ssl_gc_game_event.proto:456

a team successfully placed the ball

Used in: GameEvent

message GameEvent.Prepared

ssl_gc_game_event.proto:467

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:499

a team has too many robots on the field

Used in: GameEvent

enum GameEvent.Type

ssl_gc_game_event.proto:526

Used in: GameEvent

message GameEvent.UnsportingBehaviorMajor

ssl_gc_game_event.proto:440

a team was found guilty for major unsporting behavior

Used in: GameEvent

message GameEvent.UnsportingBehaviorMinor

ssl_gc_game_event.proto:433

a team was found guilty for minor unsporting behavior

Used in: GameEvent

message GameState

ssl_gc_state.proto:49

Used in: Change.NewGameState, State

enum GameState.Type

ssl_gc_state.proto:53

Used in: GameState

message GcState

ssl_gc_engine.proto:11

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

Used in: Output

message GcStateAutoRef

ssl_gc_engine.proto:61

The GC state of an auto referee

Used in: GcState

message GcStateTeam

ssl_gc_engine.proto:29

The GC state for a single team

Used in: GcState

message GcStateTracker

ssl_gc_engine.proto:67

GC state of a tracker

message Input

ssl_gc_api.proto:47

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

Used in: CiInput

message KickedBall

ssl_detection_tracked.proto:33

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

Used in: TrackedFrame

message Output

ssl_gc_api.proto:13

Message format that is pushed from the GC to the client

message Proposal

ssl_gc_state.proto:66

Used in: Change.AddProposal, ProposalGroup

message ProposalGroup

ssl_gc_state.proto:73

Used in: State

message Protocol

ssl_gc_api.proto:25

The game protocol

Used in: Output

message ProtocolEntry

ssl_gc_api.proto:35

A protocol entry of a change

Used in: Protocol

message RedCard

ssl_gc_state.proto:19

Used in: Change.UpdateTeamState, TeamInfo

message Robot

ssl_gc_engine.proto:91

The robot state

Used in: GcStateTracker

message ShootoutState

ssl_gc_state.proto:131

Used in: State

message Signature

ssl_gc_rcon.proto:33

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

Used in: AutoRefRegistration, AutoRefToController, TeamRegistration, TeamToController

message State

ssl_gc_state.proto:107

Used in: Output, StateChange

message StateChange

ssl_gc_change.proto:15

A state change

enum Team

ssl_gc_common.proto:6

Team is either blue or yellow

Used in: BotId, 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, ShootoutState, State, TeamRegistration

message TeamAdvantageChoice

ssl_gc_engine.proto:47

The choice from a team regarding the advantage rule

Used in: GcStateTeam

enum TeamAdvantageChoice.AdvantageChoice

ssl_gc_engine.proto:52

possible advantage choices

Used in: TeamAdvantageChoice

message TeamInfo

ssl_gc_state.proto:83

Used in: State

message TeamRegistration

ssl_gc_rcon_team.proto:9

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

message TeamToController

ssl_gc_rcon_team.proto:19

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

message TrackedBall

ssl_detection_tracked.proto:19

A single tracked ball

Used in: TrackedFrame

message TrackedFrame

ssl_detection_tracked.proto:71

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

Used in: TrackerWrapperPacket

message TrackedRobot

ssl_detection_tracked.proto:51

A single tracked robot

Used in: TrackedFrame

message TrackerWrapperPacket

ssl_wrapper_tracked.proto:9

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

Used in: CiInput

message Vector2

ssl_gc_geometry.proto:6

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 Vector3

ssl_gc_geometry.proto:12

A vector with three dimensions

Used in: Ball, KickedBall, TrackedBall

message YellowCard

ssl_gc_state.proto:13

Used in: Change.UpdateTeamState, TeamInfo