Plain Sight Dedicated Server Crash Fix

Plain Sight was on sale for the staggeringly low £1.60 / £1.20, so I decided to get a copy. It is a very fun, fast-paced game, with lots of great moments – where you pull off an attack a split second before an opponent does the same, or when you detonate just as three people come gunning for you. However, it is not without issues. I am writing this post as I wait for the master server to let me log in and play, and matches will occasionally crash half of the people on the server to the desktop with what looks like an array out-of-bounds exception.

Frustratingly, the dedicated server software itself has problems. One problem occurs even before running – where do you get it from? It is not well-signposted on any of Beatnik Games’ websites. As it stands, you have to go to the members’ area of plainsightgame.com (http://accounts.plainsightgame.com/), where you can download both the server and the client.

(The TLDR version: If you have Steam, use the dedicated server included with that. Strip out whitespace and comments (//) from the example dediconfig.txt on the wiki. If you don’t have Steam or don’t want to faff about, use this zip.)

Now, it is good practice to have an example / default config file available for those that want to just run the server… which the dedicated server zip doesn’t have. So if you run it, it complains about not being able to find the config file and then crashes. Right, no problem, just copy from the wiki page on setting up a dedicated server and paste into the new file dediconfig.txt. Ah, hang on, that crashes the server on launch with a System.FormatException.

Show »

Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: plainsightserver.exe
Problem Signature 02: 1.0.0.0
Problem Signature 03: 4bc74e1c
Problem Signature 04: mscorlib
Problem Signature 05: 2.0.0.0
Problem Signature 06: 4a275af7
Problem Signature 07: c43
Problem Signature 08: 59
Problem Signature 09: System.FormatException
OS Version: 6.1.7600.2.0.0.256.1
Locale ID: 2057

Stripping out the whitespace and comments lets the server run. I would be more specific, but I can’t actually tell what is causing the problem. It disappeared when I got down to two / one comments, and reappeared when I added another. My debugging skills couldn’t detect any commonality though. Anyway, it runs… briefly. Checking the log file (plainsight.log) shows that it is exiting due to not having the “Updater” directory present. eg:

Show »

0 Connecting to master server(s)...
0 New master server connection status: AwaitingChallenge
633 New master server connection status: VersionCheckFailed
633 New master server connection status: NotConnected
633 New master server connection status: AwaitingChallenge
650 Error Updating: System.IO.DirectoryNotFoundException: Could not find a part of the path 'D:Gamesplainsightdedicated4UpdatercwRsynccwRsync.cmd'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode)
at PlainSightServer.Program.LaunchUpdater()
650 New master server connection status: NotConnected
650 New master server connection status: AwaitingChallenge

Now, you can get this from the directory in your Steam directory that contains the dedicated server (!), or from this zip file: Updater.zip. Now, if you want to continue down this path that’s grand, but for me it *royally* screwed up permissions on that folder, to where I couldn’t even run the server executable file! It is possibly due to the rsync updater running as System / nobody, but even still I feel it’s a bit harsh! Of course, it might just be a Windows 7 thing. Despite that, even when I (think) I had sorted out the permissions, the game was still crashing with an error in KERNELBASE.dll (see below). Eeep. So, what I did at this stage was to make a copy of the Steam version of the dedicated server, copy over my dediconfig.txt file and run that. Then it ran.

For those of you who don’t have Steam, I have created a zip containing the dedicated server with a working dediconfig.txt file: DedicatedServer.zip

Show »

Problem signature:
Problem Event Name: APPCRASH
Application Name: PlainSightServer.exe
Application Version: 1.2.0.0
Application Timestamp: 4c6e7ef9
Fault Module Name: KERNELBASE.dll
Fault Module Version: 6.1.7600.16385
Fault Module Timestamp: 4a5bdbdf
Exception Code: e0434f4d
Exception Offset: 0000b727
OS Version: 6.1.7600.2.0.0.256.1
Locale ID: 2057

4 Replies to “Plain Sight Dedicated Server Crash Fix”

  1. Hey Robert, this was extremely helpful in deducing why I couldn’t start up the dedicated server from within my own Steam install. While you are correct that white-space plays a small role in actually helping the server to start up, I think I found the culprits which were causing (at least my own) crashes on launch.

    teamplay:false
    teams:0

    As far as I can tell, these commands are undocumented and come with the config out of the box (at the moment). But a well-formatted configuration and removing these two lines seems to help things along as well. Until we know what they’re there for (my guess is legacy settings or other options not yet implemented in the public release), it seems pretty safe to remove them.

  2. Hi Lech, glad it helped! interesting you mention those two lines – I was going to remove them from the zip I posted, but it appears they aren’t there. Also, the wiki page has been updated with a good deal more info, but the last section is particularly relevant:

    Houston, We have UH-OH!

    Attempting to run a dedicated server out of the proverbial box for the first time sometimes comes with the painful question which may look something like “Why is this not !#@%ing working?!” after an error occurs or if it crashes horribly. But not to worry! Here are a few known issues you can look for to ensure that you’re not going crazy and that your configuration is fine.

    White space & Formatting

    Make sure your dediconfig.txt file is well formatted and stripped free of comments (lines preceded by //, or anything that’s not a command), excess line feeds (returns) and white space (excess tabs or spaces) before and after each option. Sometimes there’s that stray space or carriage return that goofs things up on launch which results in the server application crashing.

    Crashing is bad, mmkay?

    Bizarro Undocumented Commands

    Either they’re old legacy commands, or some super-secret settings left over by the developers for a stealthy future update. We don’t know! But if it’s not documented then it may be safe to exclude it from your configuration. Who knows, it might just work! Just don’t forget to make a backup!

    Currently, you might find a few questionable settings in your default dedicated configuration file. Through rigorous testing and throwing our keyboard at the wall, our well trained ninja researchers have managed to deduce that these commands shipped with the server just cause it to crash on launch. It would be advisable that you make a backup copy of the default configuration and remove the following settings from your final file for now. At least until we get clarification on exactly what they’re meant to do.

    teamplay:false
    teams:0

    Oh man! Double out-of-bounds error, what does it mean?! Oh man!

    It may be that it was in fact you that edited it (though the name there is substantially different!), but either way it seems you are completely correct.

  3. Yeah, I took the liberty of updating the wiki entry with everything related to running the Plain Sight dedicated server and troubleshooting. I hope my wording there matches what they have in mind for their users 🙂

  4. Good work! It is much more helpful now. It’s a bit silly that it was so opaque and arcane, but hopefully it’ll be easier with that extra info.

    Now all that needs done is find out what is causing the repeated client crashes…

Tell us what's on your mind