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