tltneon / lgsl

LGSL v6.2.1/v7.0.0 for PHP 5.4-8.3+ (Live Game Server List): online status for CS2 (Source Query), Discord, FiveM, Rust, SA:MP, GMOD, Minecraft, Teamspeak and 200+ more games!
GNU General Public License v3.0
150 stars 46 forks source link

[Images] Can't get charts.php and userbar.php to work + svg flags #190

Open Overclocked-LAN opened 6 months ago

Overclocked-LAN commented 6 months ago

Greetings,

Just wanted to say very thankful for the progress and upgrades you have made to LGSL over the recent years. I originally used the very old school simple version during the first CS:S days with e107 and can't believe how much progress you have made with it.

Brief: I have 5 directories of LGSL all the same database (databaseservers) with their own tables (kf2, tf2_), all chmod 755 except for secure files. The web server is mine. They are dedicated resources to me and I am using cPanel w/ Apache 2.4, PHP 7.4, PHP 8.1, PHP 8.2, and PHP 8.3, but 8.1 is the default. I have tried other PHP versions with appropriate extensions enabled. No success. Sidenote, NGINX is not installed.

Sample Image URLs: https://overclockedlan.com/servers/ricochet/userbar.php?ip=eu.tr.playocl.com&port=34463 https://overclockedlan.com/servers/ricochet/charts.php?ip=eu.tr.playocl.com&port=34463 https://overclockedlan.com/servers/kf2/userbar.php?ip=eu.kf2.playocl.com&port=7797 https://overclockedlan.com/servers/kf2/charts.php?ip=eu.kf2.playocl.com&port=7797

Directories https://overclockedlan.com/servers/all https://overclockedlan.com/servers/dab https://overclockedlan.com/servers/kf2 https://overclockedlan.com/servers/l4d2 https://overclockedlan.com/servers/ricochet

CRON /1 curl --compressed -s -o /dev/null https://overclockedlan.com/servers/kf2/lgsl_files/lgsl_cron.php /1 curl --compressed -s -o /dev/null https://overclockedlan.com/servers/l4d2/lgsl_files/lgsl_cron.php /1 curl --compressed -s -o /dev/null https://overclockedlan.com/servers/ricochet/lgsl_files/lgsl_cron.php /1 curl --compressed -s -o /dev/null https://overclockedlan.com/servers/dab/lgsl_files/lgsl_cron.php /1 * curl --compressed -s -o /dev/null https://overclockedlan.com/servers/all/lgsl_files/lgsl_cron.php

Files attached, same for all directories FSOCKOPEN | Enabled: YES | CURL | Enabled: YES | MBSTRING | Enabled: YES | BZIP2 | Enabled: YES | GD | Enabled: YES | ZLIB | Enabled: YES |

They worked when I first installed it, but eventually stopped once thy recorded about 1 hour of gameplay. Some worked, some didn't. Once they all stopped, I tried two different versions of LGSL and that did not resolve it. I played with my .htaccess file which is needed for vBulletin mainly and that has not solved it, although I wouldn't be surprised if something in it may be interfering with something in LGSL, so I have attached that as well.

Aside from the chart and userbar, similarly, I am having an issue with the SVG flags for some countries. On some pages they appear, on some pages they don't, yet they all exist, and they are all requesting the same exact file from the same place with the same permissions. It's the weirdest thing.

I've been trying to figure this out for about 5-6 days now. I'm at a loss. I've verified all the PHP code in syntax editors and they all say it's good, so it's not the PHP pages. It's something related to PHP extensions/Apache/Permissions is my best guess. Will you be so kind to point me in the right direction. I have the ability to grant you SSH access to the server if necessary and WHM/cPanel. I'm out of ideas. Thank you in advance.

charts.txt index.txt userbar.txt htaccess.txt lgsl_config.txt phpinfo

Overclocked-LAN commented 6 months ago

[28/Feb/2024:19:22:47 +0100] "GET /servers/all/userbar.php?ip=na.mw.playocl.com&port=7717&t=2 HTTP/1.1" 500 20 "https://overclockedlan.com/servers/all/?ip=na.mw.playocl.com&port=7717" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0" [28/Feb/2024:19:22:47 +0100] "GET /servers/all/userbar.php?ip=na.mw.playocl.com&port=7717&t=3 HTTP/1.1" 500 20 "https://overclockedlan.com/servers/all/?ip=na.mw.playocl.com&port=7717" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0"

[28/Feb/2024:21:25:19 +0100] "GET /servers/kf2/userbar.php?ip=eu.tr.playocl.com&port=7737 HTTP/1.1" 500 20 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0" [28/Feb/2024:21:25:20 +0100] "GET /servers/kf2/userbar.php?ip=eu.tr.playocl.com&port=7737 HTTP/1.1" 500 20 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0"

Overclocked-LAN commented 6 months ago

I put LGSL 7 in a different directory just to see how that would turn out. I didn't even proceed with the installer. It is not detecting that GD is enabled, but as you can see above in the phpinfo screenshot, it is enabled.

php -v PHP 8.1.27 (cli) (built: Jan 2 2024 00:00:00) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.27, Copyright (c) Zend Technologies with the ionCube PHP Loader v13.0.2, Copyright (c) 2002-2023, by ionCube Ltd.

;;;; ; Note: packaged extension modules are now loaded via the .ini files ; found in the directory /etc/php.d; these are loaded by default. ;;;;

xx@xx:/opt/cpanel/ea-php81/root/etc/php.d# nano 20-gd.ini ; Enable gd extension module extension=gd.so

https://overclockedlan.com/servers/killing-floor-2/install.php

GD enabled

Overclocked-LAN commented 6 months ago

WOW! A week later I seem to have made them all appear for all servers on all directories. By the time they appeared, I've made several adjustments, including installing NGINX and all associated NGINX packages. I don't know why, but this did the trick. I guess it's a cache thing or something. This was a very stressful caveat as it was one of the features I was looking for the most (I'd actually like to make the graph longer than 24 hours, more like 7 days server history).

I am attaching the final result of charts.php and userbar.php that I ended up with. I'm not sure what the difference between these two files is vs the two I attached earlier as a .txt, but these .php files were different from those .php files that I converted to .txt somehow. Beyond confused. But the fact that I am not the only one that has faced this issue within the past 3 years tells me there is something conflicting going on with PHP/Extensions/Apache. I don't want to figure out what it is. It works. I'll wait for LGSL7 to be official to figure out why it say GD is still disabled but it's not lol

charts-fix.txt userbar-fix.txt

TacTicTow commented 5 months ago

I was just about to post something similar. I am setting up a new LAMP web host on Debian 11 and using all the latest versions of software. I installed PHP 8.3.3 and charts and userbar seem to be having issues. Everything else seems to work. Here is an error from my logs as an example.

[Sun Mar 17 00:01:10.793558 2024] [proxy_fcgi:error] [pid 72056] [client 73.138.78.154:50779] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught TypeError: imagecopyresampled(): Argument #2 ($src_image) must be of type GdImage, false given in /var/www/saltybawls.com/lgsl/userbar.php:13\nStack trace:\n#0 /var/www/saltybawls.com/lgsl/userbar.php(13): imagecopyresampled()\n#1 /var/www/saltybawls.com/lgsl/userbar.php(72): makeImage()\n#2 {main}\n thrown in /var/www/saltybawls.com/lgsl/userbar.php on line 13', referer: http://192.223.27.176/lgsl/?ip=54.39.29.53&port=7777

Hoping I am not going to have to go backwards to an earlier PHP version just to get this to work. I even tried it off a clean new install and same error. So right now the charts does not show at all and the #2 banner that has the charts on it does not work at all. I am thinking there is a problem with charts.php

tltneon commented 5 months ago

Hello @Overclocked-LAN @TacTicTow I'm sorry about long responding. I don't know when I can look at that problem but I'll do my best.

@Overclocked-LAN Your work so impressive! It will helpful a lot.

TacTicTow commented 5 months ago

Just updated to PHP 8.3.4 and same issue.

tltneon commented 5 months ago

I did a commit. Is everything alright now?

TacTicTow commented 5 months ago

Yes, it is now working.

My cron does not seem to be working atm. Probably something on my end, even though the logs show the cron is executing in the logs. I moved to my own server box, because every shared webhosts server lagged like hell OR did not have ports open to allow me to scrape game servers for info. Very frustrating.

So I got a VPS and installed Debian 11 on it and am setting that up now. Site is much faster AND all ports are open which is a good thing. However, the cron is giving me issues. I have 3 lines running a CURL, WGET and PHP line on the lgsl_cron.php, just to make sure my bases are covered. I dont think it is an issue with the lgsl_cron.php, which is why I have not opened an issue. Permissions seem fine. Just scratching my head here. As soon as I get that resolved, this thing will be 100% :-)

BTW thanks for maintaining this software.