Events/Hooks
The server communicates with the controller through callbacks/events. Some of the more important events are preprocessed by EvoSC to make them easier to use. All those events called "Hooks" will be listed below.
Registering a Hook
To bind a method to an EvoSC-Hook or TM-Event, you simply call Hook::add('NameOfHookOrEvent', [FullyQualifiedClassName, 'methodName') inside the start method of the module.
You can always create a hook for the methods listed in https://github.com/maniaplanet/script-xmlrpc/blob/master/XmlRpcListing.md#callbacks
Hooks
| Name | Passed arguments | Description | 
| PlayerConnect | Player $player | Called when a player spawns in the server | 
| PlayerDisconnect | Player $player | Called when a player leaves the server | 
| PlayerFinish | Player $player, int $timeInMilliseconds, string $checkpointsCommaSeparated | Called when a player finishes or resets, then the time is 0 | 
| PlayerCheckpoint | Player $player, int $timeInMilliseconds, int $checkpointNumber, bool $isFinish | Called when a player passes a checkpoint | 
| PlayerStartCountdown | Player $player | Called when the 3-2-1-countdown starts for a player | 
| PlayerPb | Player $player, int $timeInMilliseconds | Called when player drives a new personal best | 
| BeginMatch | - | Called when the countdown/match starts | 
| EndMatch | - | Called when the match ended | 
| BeginMap | Map $map | Called when a map starts and when EvoSC boots | 
| EndMap | Map $map | Called when a map ends | 
| MatchSettingsLoaded | string $matchSettingsFile | Called when a match-settings is loaded | 
| AddedTimeChanged | int $addedSeconds | Called when the timelimit was in/decreased | 
| MapPoolUpdated | - | Called when the maplist changed | 
| MatchTrackerUpdated | Collection $scores | Called when scores affecting the match changed (player finished with better time, got points, etc...) | 
| MapQueueUpdated | Collection $mapsInQueue | Called when a map was added/removed to/from the jukebox | 
| WarmUpStart | - | Called when the warmup phase starts | 
| WarmUpEnd | - | Called when the warmup phase ends | 
| AnnounceWinner | Player $winner | Called on match end, when the winner is decided | 
| ShowScores | Collection $allPlayersThatParticipatedInMatch | Called when ther end result is displayed after the match ended | 
| GroupChanged | Player $player | Called when the group of a player was changed |