How to Fix a Broken Steam Game

There are all sorts of reasons a Steam game might not work after you’ve downloaded it. On this page I’ll try to compile a list of things I’ve had to do in the past to get a Steam game to work properly. This list is not intended to be specific to any single game; it’s just a collection of useful tips to try if you’re stuck with a broken Steam game.

Verify the Game Cache Files

The first thing you should do is verify the game cache files because if there was a problem downloading the game or updating the game it may cause nasty gameplay problems. You shouldn’t rule this out even if there have been no recent updates because a file could easily become corrupt during gameplay or due to other running programs on your computer (such as antivirus). It’s easy to verify the game cache; just follow these steps:

Go to your Library, right-click the game, and click Properties

Click Local Files, then click Verify Integrity of Game Cache

This could take a while.. make yourself a sammich (or ask your girlfriend!)

I promise it will finish eventually..

It’s done! Try the game again!

Download Windows Live ID Sign-in Assistant

Some games require Windows Live and if you haven’t downloaded it or you have disabled it the game may crash or refuse to start at all. If you haven’t downloaded Windows Live, go download it and see if the game still crashes after it’s been installed.

Try the tips at the Steam Support Troubleshooting Page

Steam Support has a good guide for general troubleshooting, including lots of links to update Windows, Direct X, and drivers for your graphics card.

Game on!

How to Fix the Android NetworkOnMainThreadException

If you’re trying to communicate with a web service or scrape any data from the web in your Android application, you might run into an exception like this:

E/AndroidRuntime(673): java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.example.helloandroid/com.example.helloandroid.HelloAndroidActivity}: android.os.NetworkOnMainThreadException

From Google’s documentation:

The exception that is thrown when an application attempts to perform a networking operation on its main thread.

This is only thrown for applications targeting the Honeycomb SDK or higher. Applications targeting earlier SDK versions are allowed to do networking on their main event loop threads, but it’s heavily discouraged.

The fix

The problem here is simply that you need to make your web service calls (or what-have-you) on a separate thread. So, quite simply, you’ll need to look into how to do threading with Android. Unfortunately this can be a bit of a pain because you need to make your service calls on a separate thread, but you need to update the UI on the main thread. Normally this would require passing data between the threads, which involves handlers or other complexities. Luckily the Android platform provides the Async Task to handle this, which alleviates some of this complexity and may help you avoid some clutter in your code.

Copyright Tech 2017