protonscr

Sword of the Stars: The Pit

protonclosed appid 233700Game compatibility - Unofficial.NET.NET-XNA
ValveSoftware/Proton#6290 · opened 2022-11-05 by waspennator · updated 2025-10-25 · 7 comments · github · game page · search this game
Wwaspennator 2022-11-05 github

Compatibility Report

  • Name of the game with compatibility issues: Sword of the Stars: The Pit
  • Steam AppID of the game: 233700

System Information

  • 512 GB Steam deck
  • Proton version: Experimental

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

Symptoms

Game boots and runs fine, but hangs and dies the moment you try firing your gun on deck. Protondb seems to mention this as well.
steam-233700.log

Reproduction

Start a game (any difficulty, I used the marine since he's the first to be shown in character select), then try to fire your gun (RT for me on deck) and the game should hang and die on the spot while playing the gun sound.

Wwaspennator 2023-01-06 github

Rechecking through protondb, I noticed most of the reports seem to mention using protontricks to install net40 and xna40.

As well as older reviews mentioning an "[ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidOperationException: Collection was modified; enumeration operation may not execute." Error, so maybe it relies on an older version of .net

Kkisak-valve maintainer 2023-01-06 github

Hello @waspennator, it looks like you added a Proton log after my initial read through of this issue report and that slipped through a crack.

From your Proton log, these look like some lines of interest:

[00000138:] EXCEPTION handling: System.InvalidOperationException: Collection was modified; enumeration operation may not execute.

Unhandled Exception:
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
  at System.Collections.Generic.List`1[T].ForEach (System.Action`1[T] action) [0x00046] in <e70d6e9587d64cb3abb4b3f99bbf5a0d>:0 
  at ThePit.Floor.Update (ThePit.RunContext rc) [0x00151] in <76ab0d6349e545deb69695ddc756ade3>:0 
  at ThePit.World.Update (ThePit.RunContext rc) [0x00104] in <76ab0d6349e545deb69695ddc756ade3>:0 
  at ThePit.Game1.UpdateWorld (Microsoft.Xna.Framework.GameTime gameTime) [0x0008e] in <76ab0d6349e545deb69695ddc756ade3>:0 
  at ThePit.Game1.Update (Microsoft.Xna.Framework.GameTime gameTime) [0x000b1] in <76ab0d6349e545deb69695ddc756ade3>:0 
  at Microsoft.Xna.Framework.Game.Tick () [0x00117] in <1e84196f8cbd437a9d8c04e5fa9b6015>:0 
  at Microsoft.Xna.Framework.Game.RunLoop () [0x0001f] in <1e84196f8cbd437a9d8c04e5fa9b6015>:0 
  at Microsoft.Xna.Framework.Game.Run () [0x00035] in <1e84196f8cbd437a9d8c04e5fa9b6015>:0 
  at ThePit.Program.MainCore () [0x0002f] in <76ab0d6349e545deb69695ddc756ade3>:0 
  at ThePit.Program.Main (System.String[] args) [0x0003a] in <76ab0d6349e545deb69695ddc756ade3>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
  at System.Collections.Generic.List`1[T].ForEach (System.Action`1[T] action) [0x00046] in <e70d6e9587d64cb3abb4b3f99bbf5a0d>:0 
  at ThePit.Floor.Update (ThePit.RunContext rc) [0x00151] in <76ab0d6349e545deb69695ddc756ade3>:0 
  at ThePit.World.Update (ThePit.RunContext rc) [0x00104] in <76ab0d6349e545deb69695ddc756ade3>:0 
  at ThePit.Game1.UpdateWorld (Microsoft.Xna.Framework.GameTime gameTime) [0x0008e] in <76ab0d6349e545deb69695ddc756ade3>:0 
  at ThePit.Game1.Update (Microsoft.Xna.Framework.GameTime gameTime) [0x000b1] in <76ab0d6349e545deb69695ddc756ade3>:0 
  at Microsoft.Xna.Framework.Game.Tick () [0x00117] in <1e84196f8cbd437a9d8c04e5fa9b6015>:0 
  at Microsoft.Xna.Framework.Game.RunLoop () [0x0001f] in <1e84196f8cbd437a9d8c04e5fa9b6015>:0 
  at Microsoft.Xna.Framework.Game.Run () [0x00035] in <1e84196f8cbd437a9d8c04e5fa9b6015>:0 
  at ThePit.Program.MainCore () [0x0002f] in <76ab0d6349e545deb69695ddc756ade3>:0 
Wwaspennator 2023-01-06 github

I usually type up my reports on one device, post, then attach the logs on deck to make it easier on my end, sorry if it slipped through. Either way since the same error seems to be happening, maybe the game is doing something dumb that the newer .net versions don't allow for, considering that the game is still pretty buggy on windows, but still playable.

I believe one guide I saw for getting the game working on deck also mentions using proton 4.11-13 along with the protontricks method.

Wwaspennator 2024-03-03 github

Still happens on oled with latest Experimental build

Wwaspennator 2025-04-04 github

Still occurring with proton Experimental

Mmadewokherd 2025-09-04 github

Apparently, it's another missed check in .NET Framework. This should fix the exception: https://gitlab.winehq.org/mono/wine-mono/-/commit/950af90f055ab0aba99979cd38e318eaf7ed0580

Wwaspennator 2025-10-25 github

Retested with latest proton Experimental update and it seems the issue is finally gone, shot my gun multiple times at enemies and 0 crashes through a few floors of gameplay, game is ready for testing

Proton versions