Mr. Stark, I don't feel so good...

As you have probably noticed by now, Total Gaming Network is looking a little bit different than what it was only about a month ago. We are now on the latest version of vBulletin, which just happens to be 5.4.5. We are also on a far more up-to-date version of PHP. We are also on some better server hardware than we were previously.

The Boring Technical Stuff

This particular version of vBulletin (5.4.5) came out roughly a month ago. We were previously on vBulletin 4.2.1, a release that initially came out in mid-2013. This equates to roughly 5-6 years of additional development, improvement, and features that we were missing out on.

Not only was our CMS software dreadfully out of date, so was some of our server software. See, vBulletin 4.2.1 had issues playing nice with PHP versions 5.3 and greater. We were on PHP 5.3 for a considerable amount of time prior to this month until Tim moved us to some newer hardware. At that time, he bumped up our PHP to version 5.4, which "worked" so long as he did a little workaround that some users found to get vB 4.2.1 working on it. For some context, PHP 5.3 came out in June of 2009, almost ten years ago. PHP version 5.4 was a bit better, but it is still around six years old at this point. To compare, the latest version of PHP is version 7.3 and it literally came out on December 6, 2018, just a few weeks back.

Why the Delay in Upgrading?

Truth be told, we needed a new license for the site software and just casually dropping $250 wasn't a very easy pill to swallow. That's not even mentioning how, for the longest time, vBulletin 5's initial releases completely lacked the CMS functionality that we came to rely on for day to day operations of the site. Without a proper CMS, or Content Management System, it would just be a set of forums without a "proper" main page. That obviously wasn't going to work for us. It took some time, but eventually the proper CMS came to vB5 and I kept a closer eye on it. The $250 was still an issue and I honestly felt as though I could just "tough it out" with what we had. That was until I could simply take no more.

The site had constant database errors, as you probably saw. It was a near daily struggle just to keep things going. It took its toll on me mentally. It made me feel defeated to leave the site with it running fine and then come back at some point later to see that it had crashed in the time between. Tim and I did some things to try to mitigate the issues. He set up automatic repairs at a specific time each day. The cache was disabled as this was the table that seemed to crash most often. And yet, issues still happened seemingly at random and at all times during the day.

I also hated that we were limited from using a variety of features because we were on older software. This really came to light when I started to mess around with a dedicated WordPress install on a website using a personal domain that I own. Just the amount of additional functionality that it offered along with all of the plugins to fill in the missing gaps was kind of surreal.

And then the death of Flash happened. Well, Flash is still dying but Google decided to stop it from running by default on sites a few Chrome releases back. There was a workaround that I had going that involved changing one of the Chrome flags so that it stayed on by default without switching to "off" every time Chrome closed. I kind of needed that for my work here at TGN since the advanced image uploader relied on the use of Flash. With Flash, I could upload as many image attachments as I wanted at one time. Without it, I could only upload one image at a time. So the workaround was fine for a number of weeks. Chrome didn't force Flash to be disabled and it was on by default for me on the site.

Then Chrome updated again a couple of weeks ago and removed that flag that served as my workaround. Bummer. That was essentially the straw that broke the camel's back. With the site still database still tossing up errors on a regular basis that necessitated fixing it, to not having functionality found in more recent CMS releases, to Chrome breaking functionality that I've used here for years, that was kind of it as far as I was concerned.

The Hypothetical

On December 13, I asked Tim the hypothetical question of "if I were to purchase vBulletin 5 if he would want to go ahead with an upgrade." He was on board. There is a trial for vBulletin 5 that you can test out, which I went ahead with. It honestly didn't take long to justify in my mind that I was just going to buy it. By "not long," I mean I literally decided that night I was going to buy a new license for us.

So, I tried to do just that.

Purchasing Woes

I go to purchase the license and as I complete the checkout, their purchasing system says that they ran into an error and that I should retry my purchase. Er, ok. So, I fill out the forms again and again check to make sure all of my information is correct. It was. I hit submit on the completed form and once again I'm met with an error.

"There is an error in processing the payment. Please try again or contact us."
I give it a bit of time and then try to purchase the license using Edge. It's my backup browser for when things don't want to work in Chrome, typically because of extensions (even when disabled). Once more I was hit with that error.

I thought maybe it was because I'm using Chrome and some extension is messing with it. I try again with the usual suspects disabled, except that this time I opted to try paying via a wire transfer instead of my credit card that I was previously attempting to use. The purchase succeeds but I wouldn't have access to the license until I submit the wire transfer via my bank. Well the problem with that is that my bank had a separate system for wire transfers that I had never enrolled in. Why would I have had that since it's almost 2019 and who does wire transfers anymore? Hypothetical, don't actually answer that. Now, I could enroll into their separate wire transfer system without issue via their website. I try to do so, but it denies me access because there was something about my profile that I had to verify. Verification was simply a matter of getting a special code sent to my email.

Sounds simple, right? Wrong.

I guess right at that particular span of time was when my bank was doing some back end work because none of the emails I tried to get were actually arriving in my inbox. I attempted to get an email sent to me so many times that their system eventually just told me that it cannot possibly send me any more mails for a while. As you may have already guessed, I was unable to get the ball rolling on paying via wire transfer for the license.

I decided to just give up for the night and contacted vBulletin's support system. I eventually got a reply back about 11 hours later. I was informed that it seems as though there was an issue with my billing address or that my bank may have flagged the purchase as fraudulent.

Typically when this happens, my bank informs me via a phone call or making some note of it on my online banking. There wasn't anything of the sort that I had seen. Being the cocksure person that I was with the information I had, I said that it couldn't possibly have been marked as fraudulent because my bank typically informs me and asks for verification that I made the purchase! In the time between responses from vBulletin, I had received a phone call from a number I did not recognize. This isn't anything unusual for me because I've been hit with spam callers on a near daily basis, an issue that has largely been mitigated lately thanks to the screen calling feature Google has on the Pixel phones. The difference with this number was the fact that it was an 800 number and not some random ass area code that spam callers usually are.

I answered it and lo and behold it was my bank's automated system asking if the purchases I made recently were, in fact, legitimate. Hey great! So, my bank's system took about half a day to try to contact me about the purchases. As if that wasn't bad enough, there were multiple purchase attempts for $250 in their system.

Yes, it turns out that many (most? all?) of the purchase attempts did go through, but were flagged by my bank! Yes, the issues were on two fronts. The error message provided by the vBulletin purchase page made it seem like there was an issue on their end and that it was safe to attempt the purchase again. It was also on the fault of my bank for not getting in contact with me far sooner than they did. So, I said that the charges were, in fact, not legitimate. This resulted in my call being transferred from the automated system to live support for the fraud company that deals with my bank. The first person I talked to took some information and then transferred me to someone that worked at my bank. Thankfully they were very understanding when I informed them that I did mean to make the purchases but through a hilarious chain of events, I did not mean to make multiple purchases of $250 at one time. She cancelled all of the charges without issue and lifted the hold on my bank account without much fuss.

That's quite the relief! I then informed the vBulletin support that I was in contact with about what happened. He was also very understanding and suggested that I could go ahead and try to re-purchase when I felt like it. He even said not to worry about the wire transfer "purchase" since there was no actual license involved nor exchange of funds. Whew.

I attempted to make the purchase again. This time, with some help from the vBulletin support staff I was in contact with, the purchase went through just fine. It was an ordeal that took less than 24 hours, but when you're someone that already suffers from anxiety and depression, and takes medication for those, it can be a rather stressful situation.

Upgrade Attempts

I provided Tim with access to the vBulletin 5 files. When it comes to the backend stuff around here, he's usually the person that does most of it. Really, the most that I know how to reliably do is repair and restart the database when it errors out. If it doesn't get fixed by the few shell commands that I know, then he would be the one to take care of the repairs. He set up a fresh install of vBulletin 5.4.5 in a non-public space. He then backed up our database and information from the live vBulletin 4.2.1 site and imported it to the test site. Our database was a bit large, so much so that the import couldn't be completed through one method and had to be continued through other means.

It was a bit broken, to put it mildly. Attachments didn't transfer over properly. Our attachments were stored outside of the database and have been for the longest time to help with load times. There was a huge number of thread redirects and content that was outright missing. Multiple attempts to fix the attachments were made but they did not work for one reason or another. It was assumed that there was some server configuration didn't agree with what we were trying to do. Eventually, it was just decided to move the file attachments back into the database on the live site, backup the new database (with the hugely inflated size from all of the newly stored attachments), and then re-attempt the import to the new software all over again.

Thankfully, this worked. It took a lot longer to important due to the much larger database size, but it worked. The attachments worked properly and the new import also seemed to make the weird content-less redirects disappear. Great! Everything was starting to go smoothly.

Well, almost.

The server decided to run an upgrade in the middle of the day. It was a bit confusing and worrisome. I thought that we were about to have a repeat of software issues again even after everything we went through. It turns out, it was a schedule shutdown of the server from our host in order to do some updates. Cool, fine. Well, it happened again the next day at the same time. I gave it about an hour before trying to find out why the server had been shut down. Somehow there was something configured in the server that told it to shut down every day at the same time. I disabled it and started the server manually and it's been going strong ever since.

Front-Facing Changes

I'll continue on in another blog post about what all I have worked on once everything was working behind the scenes. This includes the lengthy process of working on the layout and style that you see being used. It also includes the multi-day ordeal of attempting to build a search index for a couple million posts. I will also talk about some of the new features that you, as a visitor and member of Total Gaming Network can make use of. These include features that are built into vBulletin 5 natively along with some things that I was able to add just because I could (and it was easy to do).

Before ending this particular entry, I'd like to thank Tim for all of his hard work, especially these past few weeks. He has had to put up with my relative ignorance when it comes to a lot of the technical stuff. He has also fixed some of my mistakes, not just in these past couple of weeks but in the years prior. He's also put up with a lot of my pestering about this or that when something wasn't working as I believed it should. Actually, that reminds me: I need to remind him about the Contact Us email not working properly still.