Skip to content

Troubleshooting

FRaccie edited this page Oct 21, 2026 · 3 revisions

Troubleshooting

  • Launcher says the Visual C++ runtime is out of date: Ember will not start with an older runtime because the game would crash. Choose Yes to open the Microsoft download, install the x86 Redistributable, then start Ember again. Under Wine or Proton, Wine's own runtime is accepted.
  • Ember is already running: a second start shows this message instead of opening another copy. If you cannot see Ember, end Launcher.exe and SSFIV.exe in Task Manager, then start it again.
  • Preflight reports an unexpected program file: a DLL or EXE that is not part of this package is in the folder, usually left by extracting over an older version. Extract the package into a new empty folder. Other files you keep there, such as the downloaded .sha256, are only reported and ignored.

Note

Coming soon (PR #90)

  • Linux (Proton or Wine): see the Steam Deck guide or, on other systems, the Linux guide. preflight.cmd checks nothing there; the Linux guide shows how to check the files instead.
  • Game not found: choose the directory containing SSFIV.exe in recovery, then Retry launch. Ember remembers that folder and uses it on later launches. Steam must be installed and the game owned.

  • Missing networking helper: extract the complete package, including sf4-net.exe. Offline remains available. Restart Launcher after restoring files.

  • Create room, Join room and Public rooms are disabled: the row says what is missing, usually an assigned gameplay controller; see Change settings for how Ember picks one.

  • Launch or injection failed: close recovery, run preflight.cmd and review %APPDATA%\sf4e\logs\launcher.log. Retry through recovery. No unrelated processes are terminated.

  • Character art missing: portraits come from the installed game. For most fighters the packaged original outfit stands in when the game's picture cannot be read. Most alternate colors have no preview picture; those show "Preview not available" by design. A picture that fails to load is retried, then logged once as Selection art ... unavailable (or ... uses a fallback) with the file and error. In game this goes to %APPDATA%\sf4e\logs\sf4e.log; on the launcher's recovery screen it goes to launcher.log in the same folder. Include that line in a report.

  • Display problems: use the native game Options menu. Ember does not override fullscreen or window behavior.

  • Invalid invitation: paste the entire private invitation. Old broker room codes and direct-IP addresses are no longer supported.

  • Room rejected: use the same release as the host, a distinct player name, and a room that is unlocked and has free capacity. Choose Stop creating or Stop joining (or Leave room once inside), fix the cause, then try Create Room or Join Room again.

  • Room still opening after 30 seconds: Ember says the room has not finished opening. Check your connection, or choose Stop creating or Stop joining and try again.

  • Connection lost: check the status line on the room screen, or use Help & About > Export diagnostics to save the connection state. Leave and rejoin with a current invitation. A continuing fight may have unavailable control-plane verification; its health should not be inferred from the HUD alone.

  • Check connection says Relayed: your two networks could not connect directly, so match traffic goes through a relay server. Matches still work; use the recommended delay, which already accounts for the extra distance. A direct connection usually needs only one of the two players on a friendlier network: turn on UPnP (sometimes called automatic port forwarding) in the router, turn off any VPN, or play from a home connection instead of a mobile hotspot, school or work network. Matches and room control prefer UDP port 45760 (45761 to 45763 for extra copies on the same PC; Help & About > Export diagnostics shows the one in use). Forwarding UDP 45760 to your PC in the router and allowing sf4-net.exe in Windows Firewall usually gives other players a direct path for the match even when both networks are strict; a forwarded port does nothing while the firewall blocks it. Some internet providers share one public address between many customers; those players cannot forward a port and often stay relayed.

  • Allowing Ember in Windows Firewall: the Windows Security prompt at first launch usually does this. If it was dismissed, the folder was moved, or outbound connections are blocked by default on your PC, open PowerShell as Administrator in the Ember folder and run:

    $ember = (Get-Location).Path
    foreach ($exe in 'sf4-net.exe','Launcher.exe','Updater.exe','ember-discord.exe') {
        foreach ($dir in 'Inbound','Outbound') {
            New-NetFirewallRule -DisplayName "Ember $exe $dir" -Direction $dir -Program "$ember\$exe" -Action Allow -Profile Private,Public
        }
    }
    New-NetFirewallRule -DisplayName 'Ember UDP 45760-45763 Inbound' -Direction Inbound -Protocol UDP -LocalPort 45760-45763 -Action Allow -Profile Private,Public
    New-NetFirewallRule -DisplayName 'Ember UDP 45760-45763 Outbound' -Direction Outbound -Protocol UDP -LocalPort 45760-45763 -Action Allow -Profile Private,Public

    The program rules are enough on a default firewall, which already allows outbound traffic; the outbound rules matter only when the default outbound action was changed to Block, or a Block rule names sf4-net.exe. The port rules also keep a forwarded port working after Ember is moved to another folder. To review or remove the rules, or to find a Block rule:

    Get-NetFirewallRule -DisplayName 'Ember*' | Format-Table DisplayName, Enabled, Direction, Action
    Get-NetFirewallRule -DisplayName 'Ember*' | Remove-NetFirewallRule
    Get-NetFirewallRule -Action Block -Enabled True | Get-NetFirewallApplicationFilter | Where Program -like '*sf4*'
  • Allowing Ember in Windows Defender: first see whether Defender acted on an Ember file at all; if the lists are empty, Defender is not the cause:

    Get-MpThreatDetection | Sort InitialDetectionTime -Descending | Select -First 10 InitialDetectionTime, ThreatID, Resources, ActionSuccess | Format-List
    Get-MpThreat | Select ThreatName, SeverityID | Format-Table

    To bring a quarantined file back, allow it in Windows Security > Virus & threat protection > Protection history > Allow on device, or as Administrator list the quarantine and restore by the threat name it shows:

    & "$env:ProgramFiles\Windows Defender\MpCmdRun.exe" -Restore -ListAll
    & "$env:ProgramFiles\Windows Defender\MpCmdRun.exe" -Restore -Name '<ThreatName>'

    Defender blocks a file restored this way again unless it is allowed or excluded. See Windows Defender for why Sidecar.dll is flagged and how to verify the files first. If you decide to exclude the verified Ember folder, as Administrator in that folder:

    $ember = (Get-Location).Path
    Add-MpPreference -ExclusionPath $ember
    foreach ($exe in 'sf4-net.exe','Launcher.exe','ember-discord.exe') { Add-MpPreference -ExclusionProcess "$ember\$exe" }
    Get-MpPreference | Select ExclusionPath, ExclusionProcess

    To undo both, in the same folder:

    $ember = (Get-Location).Path
    Remove-MpPreference -ExclusionPath $ember
    foreach ($exe in 'sf4-net.exe','Launcher.exe','ember-discord.exe') { Remove-MpPreference -ExclusionProcess "$ember\$exe" }

    If Launcher.exe shows "Windows protected your PC", choose More info > Run anyway, or run Unblock-File .\*.exe, .\*.dll in the folder. Exclusions do not fix a relay_unreachable error; for that, check Defender's network protection (Get-MpPreference | Select EnableNetworkProtection, 1 is block mode) together with any VPN adapter and Teredo (netsh interface teredo show state).

  • Ready pending: wait for the other player and preparation acknowledgement. Selections remain locked while readiness is pending. Leave is explicit.

  • Preferences could not be saved: keep the window open, resolve a read-only or busy settings directory, then choose Retry saving. Original settings and migration backups remain under %APPDATA%\sf4e.

  • No update question at launch: Ember asks only on Home, with no room or match, and checks at most once every 6 hours. Check that Help & About > Check for updates at launch is On, that you did not choose Skip this version for the release, and use Check for updates there to look right away. A check that could not reach GitHub is tried again the next time you start the game.

  • Update failed: retry from Help & About, or double-click Updater.exe with the game closed. Installation requires orderly game shutdown. Logs are in %TEMP%\sf4-netplay-update.log; the files the last update replaced or removed are kept in .ember-update-backups. Do not delete those recovery copies while investigating. If an update was interrupted, the launcher restores it on the next start. One that cannot be restored is reported once and its record is kept as .ember-update-transaction-v1.json.failed in the install folder; include it in a report.

Before reporting a problem, follow Saving logs for a bug report to save the full logs folder and export diagnostics from Help & About. For online match issues, collect logs from both players. The diagnostic export intentionally omits invitations, capabilities, player names, credentials, arbitrary log text and settings backups. Never paste a private invitation into a public issue.

Old VPS, Qt and direct-IP instructions are under docs/archive and do not describe this build.

Clone this wiki locally