By default, the Project Cars 2 server's sms_stats plugin does not correctly persist race results. You can fix this by editing the lua/sms_stats/sms_stats.lua file in every server in your multiserver setup (and the root server).
Find the handle_session_game_state_change function, and replace it with the below code:
-- Session game state changes.
function handle_session_game_state_change( old_state, new_state )
if not old_state or old_state == "" then
old_state = "None"
end
session_game_state = new_state
if ( old_state == "None" ) and ( new_state == "Lobby" ) then
handle_new_session_lobby()
elseif ( old_state == "Returning" ) and ( new_state == "Lobby" ) then
handle_returning_session_lobby()
elseif ( old_state == "Lobby" ) and ( new_state == "Loading" ) then
handle_session_loading()
elseif ( old_state == "Loading" ) and ( new_state == "PostRace" or new_state == "Race" ) then
handle_session_loaded()
elseif ( old_state == "PostRace" or old_state == "Race" ) and ( new_state ~= "PostRace" and new_state ~= "Race" ) then
if new_state == "None" then
handle_session_finished_prematurely()
else
handle_session_finished()
end
end
end