Page MenuHomeFeedback Tracker

Mission event handler "Ended" is never fired on a dedicated server.
New, NormalPublic

Description

According to the wiki the Ended event handler should be fired every time a mission ends and it has no special case about not firing on the server, but following the steps to reproduce you'll see that it only runs locally on the player and never on the server.

Details

Severity
Major
Resolution
Open
Reproducibility
Always
Operating System
Windows 10 x64
Category
Scripting
Steps To Reproduce
  1. Create a mission with EDEN.
  2. On init.sqf include this:
addMissionEventHandler ["Ended", {
  diag_log "ENDED";
  diag_log "ENDED";
  diag_log "ENDED";
}];

Export mission to SP and MP.

SP test case

  1. Load the exported mission by using the "Scenarios" menu
  2. End the mission by either using the Zeus "End scenario" module, "endMission" script command or just dying.

The RPT will have the 3 "ENDED" lines.

Local MP test case

  1. Load the exported mission by hosting a local server by using "Host server" in the server browser.
  2. End the mission by either using the Zeus "End scenario" module, "endMission" script command or just dying.

The RPT will have the 3 "ENDED" lines.

Dedicated server test case

  1. Use TADST, dedicated server parameters, or any other tool to setup a dedicated server with the previously exported mission loaded.
  2. Join the server and start the mission.
  3. End the mission by either using the Zeus "End scenario" module, "endMission" script command or just dying.

The Server RPT will NOT have the 3 "ENDED" lines while the player WILL have those 3 lines.

Additional Information

For some reason it seems that that event in particular is never fired on the dedicated server and only runs locally on the players but there is nothing on the wiki stating that it only runs locally.

Using BIS_fnc_endMissionServer doesn't have any effect on the server output.
Adding the event handler during the mission on the server also has no effect on the output.

Event Timeline