A new build is up, these are the release notes.
IMPORTANT: Neither the client nor old versions of miranda_setup.exe will work with the new patching data. Testers must download and run the new version of miranda_setup.exe to update the game to the current version. Eventually this will be automated for you, but not today.
The first bug testers encountered this week was me relearning the golden rule: don't mess with the distribution files manually. I deleted a file from the server that I thought wasn't needed, but the installer still expected it to be there so the install failed. Lesson learned.
I did a lot of work on the installer this week, there were quite a few little bugs which we've ferreted out. I also got some feedback that it was weird that the installer said it was "patching," so now the installer rightly says it is "installing." The main fix though is that the installer doesn't crash on a missing DLL when it is installed on a brand new machine anymore, and the installer now downloads and installs the Visual Studio runtime which is needed for the game and the OpenAL audio runtime so everyone will hear Miranda's cool music. Those changes required a change in the patcher data format, and I haven't yet implemented anything to allow the patcher to deal with patcher data files which are in a format it doesn't understand, hence the important message above.
One of the tricky things about writing server software is that it has to manage multiple network interfaces and IP addresses. The next showstopper was because the servers are port-forwarded from the firewall to the PC that runs the server software. That means that the server thinks its IP is different from what it actually is to the outside world. This works fine for me, since I'm on the internal network, but the first person to attempt a login was passed an internal 192.168.x.x IP address to connect to, rather than the public IP. The game failed to connect to the server -- no surprise.
There was also a bug that caused the game to crash randomly on startup. I wasn't able to reproduce it, and I've made a couple of attempts at fixing it, but I think it is fixed now. If I'm right, it was an uninitialized variable bug, so whatever junk value ended up in that memory when the game ran determined if it crashed or not. Luckily, restarting the game 5 times or so would make it run.
Probably the worst bug in the first release was a bug in the Login screen. If you typed in your password and then pressed Enter to submit it, there was a bug in Chrome which caused the game to hang. I never noticed because I typed in my password 2 years ago and the game has remembered it for me ever since. Apparently I also clicked the Log In button with the mouse because that also worked fine. I did some work on the Create Account screen to make it a little clearer what information is needed as well.
One of my testers has a much better screen than me, and running the game on it showed up a host of problems. The most obvious was that the UI didn't stretch to fill his whole screen. I was able to fix that with some CSS3, but even more annoying, he couldn't get the game to run in fullscreen mode. Mirandea used to set the OpenGL resolution to the resolution of the screen, so I've changed it to get the current desktop resolution and use that as the default resolution for fullscreen. (You can still select whatever resolution you like on the Settings screen.)
If you were prompted for your security PIN every time you logged in, that should also be fixed now. It may ask you one more time then it should stop. Let me know if it doesn't.
You may also notice that the screenshot key (PrintScr) now works anywhere in the game.
Oh, and one of the vendors got a new name, I'll leave it to you to guess which one.
On the server side, I was having problems with the server mysteriously crashing after being up for a while. The error I was getting was "SQL server has gone away" which I used to only get if the PC went to sleep while the servers were running. The PC wasn't going to sleep. It seems the latest version of MySQL disconnects clients for no good reason, so I modified the MySQL connection to retry any query in the event it gets that error. Problem solved.
Another server crash this week was when the microsecond clock on my server mysteriously started running backwards. Apparently that's a normal thing on Windows?!? There's a workaround for that in now and the servers are stable again.
You may have noticed there is now a Play page on theimperialrealm.com. It has a handy server up/down status message on it, but that's about all for now. Sorry, no game link yet. I also did some work on the up/down status checker which it turns out, was unreliable.
That's a good week of bugs. Thanks to everyone who tried the game! I hope you'll download the updated installer and give all the new changes a go.
We were unable to retrieve our session cookie from your web browser. If pressing F5 once to reload this page does not get rid of this message, please read this to learn more.
You will not be able to post until you resolve this problem.