A run script hangs on wineserver -w
Symptoms
A script that starts the game and then waits with wineserver -w never returns, though the game has quit.
Cause
wineserver -w waits until every Wine process of the prefix has ended. Wine's own services can stay up after the game exits (observed under Wine 11.18).
What to do
Do not wait on the server. Wait on the game's own process, or poll for it by name. If you need a clean state, then stop the prefix with wineserver -k. Check for leftovers before the next run (a leftover process).