From 81572e9592be1f9de1f00a2f33fd8a453b001d01 Mon Sep 17 00:00:00 2001 From: ZehM4tt Date: Wed, 21 Jun 2017 02:00:14 +0200 Subject: [PATCH] Fix game crashing/freezing when kicking players in MP. --- src/openrct2/network/network.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/openrct2/network/network.cpp b/src/openrct2/network/network.cpp index 6ebef0f31c..1672bb89e3 100644 --- a/src/openrct2/network/network.cpp +++ b/src/openrct2/network/network.cpp @@ -2696,6 +2696,11 @@ void game_command_kick_player(sint32 *eax, sint32 *ebx, sint32 *ecx, sint32 *edx { uint8 playerid = (uint8)*eax; NetworkPlayer* player = gNetwork.GetPlayerByID(playerid); + if (player == nullptr) { + // Player might be already removed by the PLAYERLIST command, need to refactor non-game commands executing too early. + return; + } + if (player && player->Flags & NETWORK_PLAYER_FLAG_ISSERVER) { gGameCommandErrorTitle = STR_CANT_KICK_THE_HOST; gGameCommandErrorText = STR_NONE;