Comments by FergusDuniho
That was successful. The first step is to comment out the 301 redirects of the play subdirectory to the play subdomain. That has worked, and the play subdirectory is now showing up. Before proceeding further, I need to test pages with the play subdirectory to see if this breaks anything.
Here is what I know so far. It is unrelated to using HTTPS. I have been having the same problem with http://www.chessvariants.com/play/pbm/play.php
. It does not appear to be anything in the footer. I temporarily commented out the footer, and it still happened. I also temporarily commented out the header, and it still happened. Whether it happens seems to depend on which form shows up. It is skipping down the page for the View and Menu forms, though not for other forms I've tested. It is probably from some change I made yesterday while preparing to switch to HTTPS, though I'm not sure what could be doing this.
I have also confirmed that it is being done by JavaScript. When I disabled JavaScript, it stopped.
Another thing I did yesterday was enable Rocket Loader™ on Cloudflare. Once I disabled this, the problem stopped. So, I guess I will keep it disabled for now. I'll try it again when the changes I'm trying to make are finished.
I have now copied the play header and footer to new files, and I have rewritten the original play header and footer scripts to check the server name and to use the header and footer for the domain of the page. So, if it appears on the main domain, it will use the header and footer for the main domain. This will give me the opportunity to add features from the play header and footer that were included for Game Courier to the main header and footer.
Game Courier checks where GAME Code has been entered for a preset, whether there is a list of legal moves, and the value of the rules flag to determine the extent of a preset's rule enforcement, and it now displays this information below the board, just underneath the name of the game, which links to the rules page. It used to put this information above the board before a game began, and it didn't weigh in the value of the rules flag. It now displays it below the board during the course of a game. The rules flag can be set with the command "setflag rules;", typically in the pregame code. Setting this simply serves as a signal that the code you wrote actually does enforce the rules. It has no effect on the rest of your code, and it will not provide you with rule enforcement if you don't actually program it in.
I'm looking into it now. I'm not sure what is going on, but it does seem more general than particular logs.
I had changed some constant values from using http to using https, and this messed up with drawing images of boards, because str_replace failed to change URLs to file paths, and it couldn't find the graphics it needed. Maybe it had other effects too. I changed the constants back, and the problem seems to have gone away.
Time is approaching when my hosting service will come up for renewal. Around that time, I could go somewhere else or stay with them. For now, I'm thinking of staying with them. There has occassionally been downtime due to problems with the hosting service. The last time this happened, they sent an email the same day explaining what had happened. Some problems may have been due to them being a new company that is still building its infrastructure. So, as it is gets older, it may become more mature and stable. Also, I just learned that they were bought earlier this year by a more established company in the Netherlands. This is fitting, because this site originally began in the Netherlands. And this has given me an idea, though I'm not ready to pull it off yet. Thanks to being owned by a Dutch company, the hosting service I'm using now sells VPS packages on servers in the Netherlands, and they are at the same affordable prices as their VPS packages in the USA. So, my idea is to get a second server in the Netherlands, and to do synchronization and load balancing between the two servers. I like the idea of having a second server there, because this site began there, and it's a good location for handling European traffic. For the present though, I don't know very much about synchronizing and load balancing two servers, and I have other things to take care of first.
I added code to .htaccess to 301 redirect the play subdomain to the main domain, and I configured Cloudflare, which is used for DNS, to always use HTTPS and to rewrite HTTP URLs to HTTPS. I previously made various changes to Game Courier and to pages with links to Game Courier to use URLs with the play subdirectory in the main domain. The play subdomain will still work, but the pages it points to will have their URLs rewritten to the main domain.
If anything appears broken, let me know. Or if you're an editor, and it is something minor like a broken URL, you can try fixing it yourself.
I just installed PHP 7, and I have not been able to sign in. I do not know if I will be able to post this.
So, I managed to post the previous comment. That means passwords are being recognized. But there is still an issue with getting the menu to recognize that I am signed in. I have to get something to eat. I suppose I should have begun this after dinner instead of before. I'll do what I can tonight to get things working again.
Game Courier is not working too. I have some things to work on before going to bed.
Game Courier had a weird problem with a couple instances of mktime(). When I removed the leading zeros from some parameters to the function, it fixed that problem. But I still can't make a move without sessions working.
I have modified Game Courier to include the password field when sessions aren't working. So, you can now move in games even without sessions working. I don't think I can do anything else tonight, but I'll get back on this tomorrow.
Finally, I tried a few more things, and I got sessions working. Now I can go to bed without worrying about this.
This 2012 version of BCM Shogi is no longer working. If anyone knows of a more recent version, please send me a copy or let me know where I can download it.
That's now fixed. In PHP 7.1, mt_rand() was "updated to use the fixed, correct, version of the Mersenne Twister algorithm." This meant that it would generate different random numbers from the same seed, and the effect this had on CWDA was that it chose different armies for the players. For the sake of backwards compatibility, mt_srand(), which sets the seed, now allows the MT_RAND_PHP
flag, which signals mt_rand() to use the old, incorrect algorithm. Using that, I reverted it back to the old algorithm, which will generate the same results that the seed used for the game previously got.
You're thinking of "Your Game Courier Settings Files". This was on the menu for the Play subdomain, but not for the main domain. When I put the whole site on the main domain, this changed the menu used on all the pages that had been on the Play subdomain. I have now copied that menu item to the main menu.
I've now remembered why I should change this page from a PHP script to an HTML page. I had originally thought of doing this so that this page would show up when the site went down. Cloudflare, which I use for DNS, has the ability to cache content and continue to show it even when the server is down. However, this works only for static content. When I set it up to cache HTML files, it would not update the menu when someone logged in. So. I changed things back and put aside the idea of doing this page in HTML.
But now I've remembered that this page shows up as blank when PHP isn't working, but HTML pages still show their main content with only the headers and footers missing. While this isn't a good enough reason to turn all the scripts into HTML pages, I think it is a good enough reason to do the homepage in HTML. This is the main page that people come to when coming to this site, and if it is blank, it can give the appearance that the whole site is down even if it isn't.
The homepage is now an HTML file. This is so that it still shows content when PHP or MySQL fails. It no longer includes the What's New section, which is script-generated, but it does include a link to the What's New page.
When I have "Always use HTTPS" enabled in Cloudflare, this site will not load on my Kindle Touch's browser. Since I want to be able to use the site on an e-ink device, I may have to leave this disabled. The site will still work with HTTPS in an up-to-date browser, but if Amazon will not update the browser in the Kindle Touch, there is nothing I can do on my own to update it.
Since the author of this settings file copied the contents of an include file instead of including it, I edited the settings file directly. Since the buggy code was for evaluating potential castling moves, and this game has no castling, I removed that bit of code.
With PHP 7, the user and group were set to php-fpm instead of to apache. I initially changed these back to apache, but errors were not being logged. To get errors to log, I changed these back to php-fpm, but then sessions wouldn't work. So I changed them back to apache again. In the meantime, I added the user php-fpm to the chessvariants group and the apache group so that Game Courier would save logs when the user was php-fpm. Since the error log has stopped growing again, I will try adding apache to the php-fpm group. So, I will reboot the server after posting this.
25 comments displayed
Permalink to the exact comments currently displayed.
But first a test. This is diagram designer diagram, linked to
/play/pbm/drawdiagram.php?set=motif
, which is a relative link to a subdirectory instead of the usual link to the subdomain. If this works, then I should expect that the image links to the subdomain will not break when I 301 redirect them to the subdirectory.