Raised This Month: $32 Target: $400
 8% 

GeoIP2 in HLXCE


Post New Thread Reply   
 
Thread Tools Display Modes
NomisCZ
AlliedModders Donor
Join Date: Mar 2014
Location: Czech_Republic
Old 05-23-2019 , 12:08   Re: GeoIP2 in HLXCE
Reply With Quote #11

Quote:
Originally Posted by mariozankl View Post
Hi, i have a problem with GeoIP.

I always get the folloging message in the deamon log:

ERROR: GeoIP method set to binary file lookup but GeoIP2:atabase::Reader module NOT FOUND

I tryed to install GeoIP2:atabase::Reader but it seems that it doesnt work.

I never worked with GeoIP before. Im using Debian 9. Do you have any Idea?

...
Hi,
try to install all packages: https://github.com/NomisCZ/hlstatsx-...llation#-linux

And also 1.5.2. Install MaxMind:B::Reader package before GeoIP2:atabase::Reader package.
__________________
NomisCZ is offline
mariozankl
Member
Join Date: May 2012
Location: Austria
Old 05-23-2019 , 13:35   Re: GeoIP2 in HLXCE
Reply With Quote #12

Thank you very much! Now it works!
mariozankl is offline
vn_lind
Member
Join Date: Jul 2017
Old 07-04-2019 , 09:48   Re: GeoIP2 in HLXCE
Reply With Quote #13

what php version is required for this update ? Tried to run it under HP 5.6.40 but i get a blank page at the index ...

Last edited by vn_lind; 07-04-2019 at 09:50.
vn_lind is offline
NomisCZ
AlliedModders Donor
Join Date: Mar 2014
Location: Czech_Republic
Old 07-04-2019 , 10:06   Re: GeoIP2 in HLXCE
Reply With Quote #14

Quote:
Originally Posted by vn_lind View Post
what php version is required for this update ? Tried to run it under HP 5.6.40 but i get a blank page at the index ...
https://github.com/NomisCZ/hlstatsx-...i/Requirements

Check PHP error logs or enable display errors (add this to the top of hlstats.php).

PHP Code:
ini_set('display_errors'1);
ini_set('display_startup_errors'1);
error_reporting(E_ALL); 
__________________
NomisCZ is offline
vn_lind
Member
Join Date: Jul 2017
Old 07-05-2019 , 04:53   Re: GeoIP2 in HLXCE
Reply With Quote #15

i added that code to the top where you said .. still blank page.

i noticed that when i import the db i get this errors :

Code:
Notice in ./vendor/phpmyadmin/sql-parser/src/Components/OptionsArray.php#217
Trying to get property of non-object

Backtrace

./vendor/phpmyadmin/sql-parser/src/Components/CreateDefinition.php#251: PhpMyAdmin\SqlParser\Components\OptionsArray::parse(
,
,
array,
)
./vendor/phpmyadmin/sql-parser/src/Statements/CreateStatement.php#435: PhpMyAdmin\SqlParser\Components\CreateDefinition::parse(
,
,
)
./vendor/phpmyadmin/sql-parser/src/Statement.php#90: PhpMyAdmin\SqlParser\Statements\CreateStatement->parse(
,
,
)
./vendor/phpmyadmin/sql-parser/src/Parser.php#477: PhpMyAdmin\SqlParser\Statement->__construct(
,
,
)
./vendor/phpmyadmin/sql-parser/src/Parser.php#353: PhpMyAdmin\SqlParser\Parser->parse()
./libraries/classes/Tracker.php#655: PhpMyAdmin\SqlParser\Parser->__construct(string '-- -- Table structure for table `hlstats_Players` -- CREATE TABLE IF NOT EXISTS `hlstats_Players` ( `playerId` int(10) unsigned NOT NULL auto_increment, `last_event` int(11) NOT NULL default \'0\', `connection_time` int(11) unsigned NOT NULL default \'0\', `lastName` varchar(64) NOT NULL default \'\', `lastAddress` varchar(32) NOT NULL default \'\', `city` varchar(64) NOT NULL default \'\', `state` varchar(64) NOT NULL default \'\', `country` varchar(64) NOT NULL default \'\', `flag` varchar(16) NOT NULL default \'\', `lat` FLOAT(7,4) NULL, `lng` FLOAT(7,4) NULL, `clan` int(10) unsigned NOT NULL default \'0\', `kills` int(11) unsigned NOT NULL default \'0\', `deaths` int(11) unsigned NOT NULL default \'0\', `suicides` int(11) unsigned NOT NULL default \'0\', `skill` int(11) unsigned NOT NULL default \'1000\', `shots` int(11) unsigned NOT NULL default \'0\', `hits` int(11) unsigned NOT NULL default \'0\', `teamkills` int(11) unsigned NOT NULL default \'0\', `fullName` varchar(128) default NULL, `email` varchar(64) default NULL, `homepage` varchar(64) default NULL, `icq` int(10) unsigned default NULL, `mmrank` tinyint(4) DEFAULT NULL, `game` varchar(32) NOT NULL, `hideranking` int(1) unsigned NOT NULL default \'0\', `headshots` int(10) unsigned NOT NULL default \'0\', `last_skill_change` int(11) NOT NULL default \'0\', `displayEvents` int(1) unsigned NOT NULL default \'1\', `kill_streak` int(6) NOT NULL default \'0\', `death_streak` int(6) NOT NULL default \'0\', `blockavatar` int(1) unsigned NOT NULL default \'0\', `activity` int(11) NOT NULL default \'100\', `createdate` int(11) NOT NULL default\'0\', PRIMARY KEY (`playerId`), KEY `playerclan` (`clan`,`playerId`), KEY `skill` (`skill`), KEY `game` (`game`), KEY `kills` (`kills`), KEY `hideranking` (`hideranking`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ')
./libraries/classes/Tracker.php#807: PhpMyAdmin\Tracker::parseQuery(string '-- -- Table structure for table `hlstats_Players` -- CREATE TABLE IF NOT EXISTS `hlstats_Players` ( `playerId` int(10) unsigned NOT NULL auto_increment, `last_event` int(11) NOT NULL default \'0\', `connection_time` int(11) unsigned NOT NULL default \'0\', `lastName` varchar(64) NOT NULL default \'\', `lastAddress` varchar(32) NOT NULL default \'\', `city` varchar(64) NOT NULL default \'\', `state` varchar(64) NOT NULL default \'\', `country` varchar(64) NOT NULL default \'\', `flag` varchar(16) NOT NULL default \'\', `lat` FLOAT(7,4) NULL, `lng` FLOAT(7,4) NULL, `clan` int(10) unsigned NOT NULL default \'0\', `kills` int(11) unsigned NOT NULL default \'0\', `deaths` int(11) unsigned NOT NULL default \'0\', `suicides` int(11) unsigned NOT NULL default \'0\', `skill` int(11) unsigned NOT NULL default \'1000\', `shots` int(11) unsigned NOT NULL default \'0\', `hits` int(11) unsigned NOT NULL default \'0\', `teamkills` int(11) unsigned NOT NULL default \'0\', `fullName` varchar(128) default NULL, `email` varchar(64) default NULL, `homepage` varchar(64) default NULL, `icq` int(10) unsigned default NULL, `mmrank` tinyint(4) DEFAULT NULL, `game` varchar(32) NOT NULL, `hideranking` int(1) unsigned NOT NULL default \'0\', `headshots` int(10) unsigned NOT NULL default \'0\', `last_skill_change` int(11) NOT NULL default \'0\', `displayEvents` int(1) unsigned NOT NULL default \'1\', `kill_streak` int(6) NOT NULL default \'0\', `death_streak` int(6) NOT NULL default \'0\', `blockavatar` int(1) unsigned NOT NULL default \'0\', `activity` int(11) NOT NULL default \'100\', `createdate` int(11) NOT NULL default\'0\', PRIMARY KEY (`playerId`), KEY `playerclan` (`clan`,`playerId`), KEY `skill` (`skill`), KEY `game` (`game`), KEY `kills` (`kills`), KEY `hideranking` (`hideranking`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ')
./libraries/classes/DatabaseInterface.php#350: PhpMyAdmin\Tracker::handleQuery(string '-- -- Table structure for table `hlstats_Players` -- CREATE TABLE IF NOT EXISTS `hlstats_Players` ( `playerId` int(10) unsigned NOT NULL auto_increment, `last_event` int(11) NOT NULL default \'0\', `connection_time` int(11) unsigned NOT NULL default \'0\', `lastName` varchar(64) NOT NULL default \'\', `lastAddress` varchar(32) NOT NULL default \'\', `city` varchar(64) NOT NULL default \'\', `state` varchar(64) NOT NULL default \'\', `country` varchar(64) NOT NULL default \'\', `flag` varchar(16) NOT NULL default \'\', `lat` FLOAT(7,4) NULL, `lng` FLOAT(7,4) NULL, `clan` int(10) unsigned NOT NULL default \'0\', `kills` int(11) unsigned NOT NULL default \'0\', `deaths` int(11) unsigned NOT NULL default \'0\', `suicides` int(11) unsigned NOT NULL default \'0\', `skill` int(11) unsigned NOT NULL default \'1000\', `shots` int(11) unsigned NOT NULL default \'0\', `hits` int(11) unsigned NOT NULL default \'0\', `teamkills` int(11) unsigned NOT NULL default \'0\', `fullName` varchar(128) default NULL, `email` varchar(64) default NULL, `homepage` varchar(64) default NULL, `icq` int(10) unsigned default NULL, `mmrank` tinyint(4) DEFAULT NULL, `game` varchar(32) NOT NULL, `hideranking` int(1) unsigned NOT NULL default \'0\', `headshots` int(10) unsigned NOT NULL default \'0\', `last_skill_change` int(11) NOT NULL default \'0\', `displayEvents` int(1) unsigned NOT NULL default \'1\', `kill_streak` int(6) NOT NULL default \'0\', `death_streak` int(6) NOT NULL default \'0\', `blockavatar` int(1) unsigned NOT NULL default \'0\', `activity` int(11) NOT NULL default \'100\', `createdate` int(11) NOT NULL default\'0\', PRIMARY KEY (`playerId`), KEY `playerclan` (`clan`,`playerId`), KEY `skill` (`skill`), KEY `game` (`game`), KEY `kills` (`kills`), KEY `hideranking` (`hideranking`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci')
./libraries/classes/Import.php#96: PhpMyAdmin\DatabaseInterface->tryQuery(string '-- -- Table structure for table `hlstats_Players` -- CREATE TABLE IF NOT EXISTS `hlstats_Players` ( `playerId` int(10) unsigned NOT NULL auto_increment, `last_event` int(11) NOT NULL default \'0\', `connection_time` int(11) unsigned NOT NULL default \'0\', `lastName` varchar(64) NOT NULL default \'\', `lastAddress` varchar(32) NOT NULL default \'\', `city` varchar(64) NOT NULL default \'\', `state` varchar(64) NOT NULL default \'\', `country` varchar(64) NOT NULL default \'\', `flag` varchar(16) NOT NULL default \'\', `lat` FLOAT(7,4) NULL, `lng` FLOAT(7,4) NULL, `clan` int(10) unsigned NOT NULL default \'0\', `kills` int(11) unsigned NOT NULL default \'0\', `deaths` int(11) unsigned NOT NULL default \'0\', `suicides` int(11) unsigned NOT NULL default \'0\', `skill` int(11) unsigned NOT NULL default \'1000\', `shots` int(11) unsigned NOT NULL default \'0\', `hits` int(11) unsigned NOT NULL default \'0\', `teamkills` int(11) unsigned NOT NULL default \'0\', `fullName` varchar(128) default NULL, `email` varchar(64) default NULL, `homepage` varchar(64) default NULL, `icq` int(10) unsigned default NULL, `mmrank` tinyint(4) DEFAULT NULL, `game` varchar(32) NOT NULL, `hideranking` int(1) unsigned NOT NULL default \'0\', `headshots` int(10) unsigned NOT NULL default \'0\', `last_skill_change` int(11) NOT NULL default \'0\', `displayEvents` int(1) unsigned NOT NULL default \'1\', `kill_streak` int(6) NOT NULL default \'0\', `death_streak` int(6) NOT NULL default \'0\', `blockavatar` int(1) unsigned NOT NULL default \'0\', `activity` int(11) NOT NULL default \'100\', `createdate` int(11) NOT NULL default\'0\', PRIMARY KEY (`playerId`), KEY `playerclan` (`clan`,`playerId`), KEY `skill` (`skill`), KEY `game` (`game`), KEY `kills` (`kills`), KEY `hideranking` (`hideranking`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci')
./libraries/classes/Import.php#257: PhpMyAdmin\Import::executeQuery(
string '-- -- Table structure for table `hlstats_Players` -- CREATE TABLE IF NOT EXISTS `hlstats_Players` ( `playerId` int(10) unsigned NOT NULL auto_increment, `last_event` int(11) NOT NULL default \'0\', `connection_time` int(11) unsigned NOT NULL default \'0\', `lastName` varchar(64) NOT NULL default \'\', `lastAddress` varchar(32) NOT NULL default \'\', `city` varchar(64) NOT NULL default \'\', `state` varchar(64) NOT NULL default \'\', `country` varchar(64) NOT NULL default \'\', `flag` varchar(16) NOT NULL default \'\', `lat` FLOAT(7,4) NULL, `lng` FLOAT(7,4) NULL, `clan` int(10) unsigned NOT NULL default \'0\', `kills` int(11) unsigned NOT NULL default \'0\', `deaths` int(11) unsigned NOT NULL default \'0\', `suicides` int(11) unsigned NOT NULL default \'0\', `skill` int(11) unsigned NOT NULL default \'1000\', `shots` int(11) unsigned NOT NULL default \'0\', `hits` int(11) unsigned NOT NULL default \'0\', `teamkills` int(11) unsigned NOT NULL default \'0\', `fullName` varchar(128) default NULL, `email` varchar(64) default NULL, `homepage` varchar(64) default NULL, `icq` int(10) unsigned default NULL, `mmrank` tinyint(4) DEFAULT NULL, `game` varchar(32) NOT NULL, `hideranking` int(1) unsigned NOT NULL default \'0\', `headshots` int(10) unsigned NOT NULL default \'0\', `last_skill_change` int(11) NOT NULL default \'0\', `displayEvents` int(1) unsigned NOT NULL default \'1\', `kill_streak` int(6) NOT NULL default \'0\', `death_streak` int(6) NOT NULL default \'0\', `blockavatar` int(1) unsigned NOT NULL default \'0\', `activity` int(11) NOT NULL default \'100\', `createdate` int(11) NOT NULL default\'0\', PRIMARY KEY (`playerId`), KEY `playerclan` (`clan`,`playerId`), KEY `skill` (`skill`), KEY `game` (`game`), KEY `kills` (`kills`), KEY `hideranking` (`hideranking`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci',
string '-- -- Table structure for table `hlstats_Players` -- CREATE TABLE IF NOT EXISTS `hlstats_Players` ( `playerId` int(10) unsigned NOT NULL auto_increment, `last_event` int(11) NOT NULL default \'0\', `connection_time` int(11) unsigned NOT NULL default \'0\', `lastName` varchar(64) NOT NULL default \'\', `lastAddress` varchar(32) NOT NULL default \'\', `city` varchar(64) NOT NULL default \'\', `state` varchar(64) NOT NULL default \'\', `country` varchar(64) NOT NULL default \'\', `flag` varchar(16) NOT NULL default \'\', `lat` FLOAT(7,4) NULL, `lng` FLOAT(7,4) NULL, `clan` int(10) unsigned NOT NULL default \'0\', `kills` int(11) unsigned NOT NULL default \'0\', `deaths` int(11) unsigned NOT NULL default \'0\', `suicides` int(11) unsigned NOT NULL default \'0\', `skill` int(11) unsigned NOT NULL default \'1000\', `shots` int(11) unsigned NOT NULL default \'0\', `hits` int(11) unsigned NOT NULL default \'0\', `teamkills` int(11) unsigned NOT NULL default \'0\', `fullName` varchar(128) default NULL, `email` varchar(64) default NULL, `homepage` varchar(64) default NULL, `icq` int(10) unsigned default NULL, `mmrank` tinyint(4) DEFAULT NULL, `game` varchar(32) NOT NULL, `hideranking` int(1) unsigned NOT NULL default \'0\', `headshots` int(10) unsigned NOT NULL default \'0\', `last_skill_change` int(11) NOT NULL default \'0\', `displayEvents` int(1) unsigned NOT NULL default \'1\', `kill_streak` int(6) NOT NULL default \'0\', `death_streak` int(6) NOT NULL default \'0\', `blockavatar` int(1) unsigned NOT NULL default \'0\', `activity` int(11) NOT NULL default \'100\', `createdate` int(11) NOT NULL default\'0\', PRIMARY KEY (`playerId`), KEY `playerclan` (`clan`,`playerId`), KEY `skill` (`skill`), KEY `game` (`game`), KEY `kills` (`kills`), KEY `hideranking` (`hideranking`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci',
array,
)
./libraries/classes/Plugins/Import/ImportSql.php#158: PhpMyAdmin\Import::runQuery(
string '-- -------------------------------------------------------- -- -- Table structure for table `hlstats_Players_Awards` -- CREATE TABLE IF NOT EXISTS `hlstats_Players_Awards` ( `awardTime` date NOT NULL, `awardId` int(11) unsigned NOT NULL default \'0\', `playerId` int(11) unsigned NOT NULL default \'0\', `count` int(11) unsigned NOT NULL default \'0\', `game` varchar(32) NOT NULL, PRIMARY KEY (`awardTime`,`awardId`,`playerId`,`game`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci',
string '-- -------------------------------------------------------- -- -- Table structure for table `hlstats_Players_Awards` -- CREATE TABLE IF NOT EXISTS `hlstats_Players_Awards` ( `awardTime` date NOT NULL, `awardId` int(11) unsigned NOT NULL default \'0\', `playerId` int(11) unsigned NOT NULL default \'0\', `count` int(11) unsigned NOT NULL default \'0\', `game` varchar(32) NOT NULL, PRIMARY KEY (`awardTime`,`awardId`,`playerId`,`game`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci',
array,
)
./import.php#554: PhpMyAdmin\Plugins\Import\ImportSql->doImport(array)

what can cause that ?

mysql Ver 14.14 Distrib 5.7.26, for Linux (x86_64) using EditLine wrapper


PHP 5.6.40-1+ubuntu18.04.1+deb.sury.org+1 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans


curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1a zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3

This is perl 5, version 26, subversion 1 (v5.26.1) built for x86_64-linux-gnu-thread-multi
(with 67 registered patches, see perl -V for more detail)

Last edited by vn_lind; 07-05-2019 at 05:00.
vn_lind is offline
NomisCZ
AlliedModders Donor
Join Date: Mar 2014
Location: Czech_Republic
Old 07-05-2019 , 05:24   Re: GeoIP2 in HLXCE
Reply With Quote #16

Quote:
Originally Posted by vn_lind View Post
i added that code to the top where you said .. still blank page.

i noticed that when i import the db i get this errors :

<removed>

what can cause that ?

mysql Ver 14.14 Distrib 5.7.26, for Linux (x86_64) using EditLine wrapper


PHP 5.6.40-1+ubuntu18.04.1+deb.sury.org+1 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans


curl 7.58.0 (x86_64-pc-linux-gnu) libcurl/7.58.0 OpenSSL/1.1.1a zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3

This is perl 5, version 26, subversion 1 (v5.26.1) built for x86_64-linux-gnu-thread-multi
(with 67 registered patches, see perl -V for more detail)

A. You're already using old version of HLStats:

1. Stop daemon
2. Run all migration queries: https://github.com/NomisCZ/hlstatsx-...sql/migrations
3. Download latest daemon: https://github.com/NomisCZ/hlstatsx-...master/scripts
4. Replace all daemon files (backup your hlstatsx.conf before)
4. Install Perl packages (1.5. Install Perl packages) - https://github.com/NomisCZ/hlstatsx-...llation#-linux
5. Prepare GeoIP2 (2.4 Prepare GeoIP2) - https://github.com/NomisCZ/hlstatsx-...2-installation
6. Start daemon and check logs
7. Download latest web files - https://github.com/NomisCZ/hlstatsx-...ree/master/web
8. Backup your config.php, upload all files to your webhosting and remove updater folder

B. New installation:
1. https://github.com/NomisCZ/hlstatsx-...i/Requirements
2. https://github.com/NomisCZ/hlstatsx-...i/Installation
__________________
NomisCZ is offline
vn_lind
Member
Join Date: Jul 2017
Old 07-05-2019 , 05:37   Re: GeoIP2 in HLXCE
Reply With Quote #17

do i need to do all this steps ? i am asking this becasue i am setting absolutelly fresh db + webpage .

what is the best in my case ?

Edit:

i got it to work when i switched to php 7.2 , but i tried several times to import the db and i still get that error in my previous post. It is now db .. should i igone those errors ,, what they mean ?>

Last edited by vn_lind; 07-05-2019 at 06:46.
vn_lind is offline
NomisCZ
AlliedModders Donor
Join Date: Mar 2014
Location: Czech_Republic
Old 07-05-2019 , 11:16   Re: GeoIP2 in HLXCE
Reply With Quote #18

Quote:
Originally Posted by vn_lind View Post
do i need to do all this steps ? i am asking this becasue i am setting absolutelly fresh db + webpage .

what is the best in my case ?

Edit:

i got it to work when i switched to php 7.2 , but i tried several times to import the db and i still get that error in my previous post. It is now db .. should i igone those errors ,, what they mean ?>
If it's new installation, check if all exts/perl modules are installed.
You can import database via CLI:
mysql -u<db_user> -p<db_user_password> <db_name> < install.sql

I recommend following the steps in the documentation https://github.com/NomisCZ/hlstatsx-...i/Installation
__________________

Last edited by NomisCZ; 07-05-2019 at 11:19.
NomisCZ is offline
vn_lind
Member
Join Date: Jul 2017
Old 07-05-2019 , 11:34   Re: GeoIP2 in HLXCE
Reply With Quote #19

oki , thank you
vn_lind is offline
vn_lind
Member
Join Date: Jul 2017
Old 07-05-2019 , 22:47   Re: GeoIP2 in HLXCE
Reply With Quote #20

all working now, but i just dont understand one thing, i want to use binary file for geoip and i have set that in my panel but :

Code:
(If binary, GeoLiteCity.dat goes in perl/GeoLiteCity and Geo::IP::PurePerl module is required:
where is this folder "perl/" ?

i have at the moment this in the hlstats deamon folder :



do i need to download anything else or set anything ?
vn_lind is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 05:10.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode