Jump to content

[BF4] Stats webpage for XpKiller's Stats Logger Plugin


tyger07

Recommended Posts

Originally Posted by ty_ger07*:

 

I don't know either. I assume that it is something to do XpKiller's plugin not updating their playerrank properly anymore in the tbl_playerrank table. Maybe find their PlayerID in the tbl_playerrank table and delete any rows in that table with their PlayerID so that XpKiller's plugin re-computes it again? Maybe XpKiller's plugin accidentally created duplicates in his tbl_playerrank table and that caused it not to update one version of the duplicates properly any more? My stats page doesn't use, modify, or rely on the tbl_playerrank table; that is why I assume that the problem must be there (if my stats page is displaying properly but the in-game stats is not).

 

As far as I know, the tbl_playerrank table is a cached copy of player's ranks to speed up his queries. I never really trusted it for one reason or another, I guess.

 

Otherwise, you could try optimizing all tables. Maybe their is a fragmented table issue causing that player's data to be duplicated or otherwise not read correctly.

 

Or, maybe there is some error with duplicated player information or duplicated statsID and my stats page somehow happens to pick the more current duplicate and his stats in-game happens to tend to pick the older duplicated data. Who knows for sure....

 

If you knew which playerID has the issue, you could look through the tables for duplicates or otherwise weird looking stuff.

 

I would think that if there is duplicated data for some players, ou should be seeing quite a few error messages spit out by the stats logger plugin randomly. Are there error messages? Otherwise, I guess I have to fall back on the recommendation to optimize the tables in the database.

* Restored post. It could be that the author is no longer active.
Link to comment
  • Replies 1.7k
  • Created
  • Last Reply

Originally Posted by Gijzijtdood*:

 

I don't believe that I have any SLAM kills in my stats database. Therefore, I cannot test this query. I think it works though. For one player when PlayerID is known and only for SLAM:

Code:

SELECT tws.`Friendlyname`, wa.`Kills`, wa.`Deaths`, wa.`Headshots`, (wa.`Headshots`/wa.`Kills`) AS HSR
FROM `tbl_weapons_stats` wa
INNER JOIN `tbl_server_player` tsp ON tsp.`StatsID` = wa.`StatsID`
INNER JOIN `tbl_playerdata` tpd ON tsp.`PlayerID` = tpd.`PlayerID`
INNER JOIN `tbl_weapons` tws ON tws.`WeaponID` = wa.`WeaponID`
WHERE tsp.`ServerID` = {$ServerID}
AND tpd.`PlayerID` = {$PlayerID}
AND tpd.`GameID` = {$GameID}
AND tws.`Friendlyname` = 'SLAM'
AND (wa.`Kills` > 0 OR wa.`Deaths` > 0)
ORDER BY Kills DESC, Deaths DESC
Thx tyger,

 

My bad. Was guerying in two different db's :tongue:

 

Regards

* Restored post. It could be that the author is no longer active.
Link to comment
  • 4 weeks later...

Originally Posted by doubter13*:

 

i think i posted in an old thread, so i repost it here...

 

Hi guys...

maybe this is simple, but i could not find it with a search..

i have 2 BF4 server, with 2 Procons and 2 DBs i am running the plugin and it works fine witih two websites, but i woul love to have the dropdown like in the demo webpage, to choose between the servers, instead of going to another website..

what files do i have to modify how, to get this done?

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

i think i posted in an old thread, so i repost it here...

 

Hi guys...

maybe this is simple, but i could not find it with a search..

i have 2 BF4 server, with 2 Procons and 2 DBs i am running the plugin and it works fine witih two websites, but i woul love to have the dropdown like in the demo webpage, to choose between the servers, instead of going to another website..

what files do i have to modify how, to get this done?

Duplicate here:

myrcon.net/...chat-guid-stats-and-mapstats-logger#entry46348

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Hey ty_ger07, is it possible to hide "Chats" tab in statistics page to only admins who are in game server at the moment? Like some kindda IP system that will recognize if that IP of the person on the webpage is in also in gameserver and has admin flags or something? I want to use chat logging only for admin purposes

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by SmackDaddy*:

 

Hey ty_ger07, is it possible to hide "Chats" tab in statistics page to only admins who are in game server at the moment? Like some kindda IP system that will recognize if that IP of the person on the webpage is in also in gameserver and has admin flags or something? I want to use chat logging only for admin purposes

^^^ Definitely this! :smile:
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

Out of curiosity, why do you not want chat to be public?

 

As far as I know, there is no way to know if a player is an admin using the information in the database and XpKiller's plugin. The only hope you would have is if you use AdKats and you are able to determine who is an admin based on information it adds into the database. Since I have never used AdKats and don't know what a database using AdKats looks like, it is hard for me to answer this question.

 

Assuming that the necessary information is available, sure it would be possible if someone uses AdKats and wants that functionality.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Out of curiosity, why do you not want chat to be public?

 

As far as I know, there is no way to know if a player is an admin using the information in the database and XpKiller's plugin. The only hope you would have is if you use AdKats and you are able to determine who is an admin based on information it adds into the database. Since I have never used AdKats and don't know what a database using AdKats looks like, it is hard for me to answer this question.

 

Assuming that the necessary information is available, sure it would be possible if someone uses AdKats and wants that functionality.

I plan on using chat loggin for observing player and admins behaviour in server with Server msgs and ingame commands also being logged. I think it would be an easier way for admins to check chat logs on that page than me(only me has access to procon ftp) checking log files in ftp folder.

 

I dont know how AdKats works either, i wouldnt know if AdKats can seperately log something(chats) on request to a database.

 

if it is possible, i probably have to make another login profile in the same database provider cpanel correct?

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

My stats page has chat log search and display built in. The question I have is why people want to keep the chat log private. I don't understand why. All the chat is public in the server to its player audience. You can configure XpKiller's plugin to not save chat information into the database until the end of the round (if you are concerned about people spying on the other team's chat). I don't understand why it needs to be private.

 

Like I said, it is theoretically possible to make the chat log in my stats page only available to admins, but I don't know why and don't know exactly how yet.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Im not sure about other people, reasons may vary i suppose. But i only wanted chat log to be private because players (or anyone who visits the website) dont need to know what has been said or who killed who 5 or 6 days ago. Like i said i only wanna use it for admin purposes.

 

Since it doesnt seem possible to have the website get info on player flags (admin status) i dont think itll work the way i need. Perhaps a little admin login link on the main page would be okay which will show the chat logs tab upon login.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by SmackDaddy*:

 

Or you could edit the web page files to remove references to the chat logs and only give the chat log links to your admins to access....(modify the name or use web page based security to access).....just a though BuRockK as that is what I may be doing....

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Or you could edit the web page files to remove references to the chat logs and only give the chat log links to your admins to access....(modify the name or use web page based security to access).....just a though BuRockK as that is what I may be doing....

That would be re-creating the php built from scratch, but only making the section visible(added)/non-visible(removed) (and im assuming the tabs are basicly treated as tables) depending on the visitor status in webpage would be easier in my opinion. But i dont know, im no expert so i cant tell how much code work there would be.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

That would be re-creating the php built from scratch, but only making the section visible(added)/non-visible(removed) (and im assuming the tabs are basicly treated as tables) depending on the visitor status in webpage would be easier in my opinion. But i dont know, im no expert so i cant tell how much code work there would be.

Removing the link to the chat log in the menu would be a very minimal amount of work. Maybe a minute of work editing, saving, and uploading the edited file in /common/menu/navigation-menu.php . What he is saying is that you don't need to get rid of the chat log section, just get rid of the link. That way, random visitors who don't know that adding "_p=chat" to the URL will bring them to the chat log, won't have any way to view the chat log and will assume that there is no chat log.

 

A very easy method indeed.

 

 

I have made admin pages in the past. I even had a web-based banlist viewer and manual ban system built into one old version of a BF3 stats page I made. But, I have abandoned it because it isn't really what this is all about. There are better options out there already. The only way I would consider adding this functionality is if someone can show me that AdKats provides a way to easily tell who is an admin by information in the database alone. I do not want to create an admin login page or make some code to keep track of a list of admins or any of that because it causes me to head down that path again where I really don't belong. There needs to be an easy way to automatically know who is an admin ahead of time based on information available in the database, or else I won't consider it. Anyone want to tell me what a database looks like once AdKats is installed?

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Removing the link to the chat log in the menu would be a very minimal amount of work. Maybe a minute of work editing, saving, and uploading the edited file in /common/menu/navigation-menu.php . What he is saying is that you don't need to get rid of the chat log section, just get rid of the link. That way, random visitors who don't know that adding "_p=chat" to the URL will bring them to the chat log, won't have any way to view the chat log and will assume that there is no chat log.

 

A very easy method indeed.

 

 

I have made admin pages in the past. I even had a web-based banlist viewer and manual ban system built into one old version of a BF3 stats page I made. But, I have abandoned it because it isn't really what this is all about. There are better options out there already. The only way I would consider adding this functionality is if someone can show me that AdKats provides a way to easily tell who is an admin by information in the database alone. I do not want to create an admin login page or make some code to keep track of a list of admins or any of that because it causes me to head down that path again where I really don't belong. There needs to be an easy way to automatically know who is an admin ahead of time based on information available in the database, or else I won't consider it. Anyone want to tell me what a database looks like once AdKats is installed?

Well, maybe ill just leave it like this than. It does seem very tiring work from here anyway.

 

I dont know anything about AdKats

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Hey sorry for asking this stupid question but i couldnt find a players EUID or PBID on the page. Is it not available in the webpage? if not how can we implement this to players stat pages?

 

I noticed some players come and boost themselves when server is empty (i see that in procon chat) and i wanna be able to manually ban those players with their EUID

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

Hey sorry for asking this stupid question but i couldnt find a players EUID or PBID on the page. Is it not available in the webpage? if not how can we implement this to players stat pages?

 

I noticed some players come and boost themselves when server is empty (i see that in procon chat) and i wanna be able to manually ban those players with their EUID

It is available in the database. It is not available in the stats page because some people believe fhat PBGUID and EAGUID is private information and is personally identifiable. Just like IP address isn't available in the stats page but is available in the database.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Yea just as i thought. Could you help me put those infos to player stat pages? I wanna make the whole site private. Players can get their stats with in-game commands anyway.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

In /common/player/player.php (click link to see line numbers referenced below), edit the following:

 

Change Line 92 to:

Code:

SELECT tpd.`CountryCode`, tpd.`PlayerID`, tpd.`GlobalRank`, tps.`Suicide`, tps.`Score`, tps.`Kills`, tps.`Deaths`, (tps.`Kills`/tps.`Deaths`) AS KDR, (tps.`Headshots`/tps.`Kills`) AS HSR, tps.`TKs`, tps.`Headshots`, tps.`Rounds`, tps.`Killstreak`, tps.`Deathstreak`, tps.`Wins`, tps.`Losses`, (tps.`Wins`/tps.`Losses`) AS WLR, tps.`HighScore`, tps.`FirstSeenOnServer`, tps.`LastSeenOnServer`, tpd.`PBGUID`, tpd.`EAGUID`, tpd.`IP_Address`
Change Line 105 to:

Code:

SELECT tpd.`CountryCode`, tpd.`PlayerID`, tpd.`GlobalRank`, SUM(tps.`Suicide`) AS Suicide, SUM(tps.`Score`) AS Score, SUM(tps.`Kills`) AS Kills, SUM(tps.`Deaths`) AS Deaths, (SUM(tps.`Kills`)/SUM(tps.`Deaths`)) AS KDR, (SUM(tps.`Headshots`)/SUM(tps.`Kills`)) AS HSR, SUM(tps.`TKs`) AS TKs, SUM(tps.`Headshots`) AS Headshots, SUM(tps.`Rounds`) AS Rounds, MAX(tps.`Killstreak`) AS Killstreak, MAX(tps.`Deathstreak`) AS Deathstreak, SUM(tps.`Wins`) AS Wins, SUM(tps.`Losses`) AS Losses, (SUM(tps.`Wins`)/SUM(tps.`Losses`)) AS WLR, MAX(tps.`HighScore`) AS HighScore, MIN(tps.`FirstSeenOnServer`) AS FirstSeenOnServer, MAX(tps.`LastSeenOnServer`) AS LastSeenOnServer, tpd.`PBGUID`, tpd.`EAGUID`, tpd.`IP_Address`
After Line 367, add:

Code:

$PBGUID = $PlayerData_r['PBGUID'];
$EAGUID = $PlayerData_r['EAGUID'];
$IPAddress = $PlayerData_r['IP_Address'];
After Line 432, add:

Code:

<tr>
<th width="15%" style="padding-left: 10px;">PB GUID</th>
<td width="18%" class="tablecontents">' . $PBGUID . '</td>
<th width="15%" style="padding-left: 10px;">EA GUID</th>
<td width="18%" class="tablecontents">' . $EAGUID . '</td>
<th width="15%" style="padding-left: 10px;">IP Address</th>
<td width="18%" class="tablecontents">' . $IPAddress . '</td>
</tr>
I haven't tested, so I don't know if you need to shrink the text size to fit inside the table cell.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

In line 105 there are "SUM()"s, disgart those?

Oh, right. Yes, keep it as it was. Just add the three new parameters to the end of 105.

 

I will edit above.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

I dont think PBID and EUID fit in the table. Can we make the whole table expand as much as the longest words' length is?

It is simple HTML. Do whatever is necessary. It's hard for me to know since I haven't tested it and can't visualize it. Shrinking the text size is the easiest though.

 

For example:

Code:

<tr>
<th width="15%" style="padding-left: 10px;">PB GUID</th>
<td width="18%" class="tablecontents" style="font-size: 10px;">' . $PBGUID . '</td>
<th width="15%" style="padding-left: 10px;">EA GUID</th>
<td width="18%" class="tablecontents" style="font-size: 10px;">' . $EAGUID . '</td>
<th width="15%" style="padding-left: 10px;">IP Address</th>
<td width="18%" class="tablecontents">' . $IPAddress . '</td>
</tr>
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by BuRockK*:

 

Oh, right. Yes, keep it as it was. Just add the three new parameters to the end of 105.

 

I will edit above.

I didnt see this post earlier. So i did changed that line. Now i changed it to the new one you edited in your post before that.

 

So line 105 is currently:

Code:

SELECT tpd.`CountryCode`, tpd.`PlayerID`, tpd.`GlobalRank`, SUM(tps.`Suicide`) AS Suicide, SUM(tps.`Score`) AS Score, SUM(tps.`Kills`) AS Kills, SUM(tps.`Deaths`) AS Deaths, (SUM(tps.`Kills`)/SUM(tps.`Deaths`)) AS KDR, (SUM(tps.`Headshots`)/SUM(tps.`Kills`)) AS HSR, SUM(tps.`TKs`) AS TKs, SUM(tps.`Headshots`) AS Headshots, SUM(tps.`Rounds`) AS Rounds, MAX(tps.`Killstreak`) AS Killstreak, MAX(tps.`Deathstreak`) AS Deathstreak, SUM(tps.`Wins`) AS Wins, SUM(tps.`Losses`) AS Losses, (SUM(tps.`Wins`)/SUM(tps.`Losses`)) AS WLR, MAX(tps.`HighScore`) AS HighScore, MIN(tps.`FirstSeenOnServer`) AS FirstSeenOnServer, MAX(tps.`LastSeenOnServer`) AS LastSeenOnServer, tpd.`PBGUID`, tpd.`EAGUID`, tpd.`IP_Address`
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Prophet731*:

 

There needs to be an easy way to automatically know who is an admin ahead of time based on information available in the database, or else I won't consider it. Anyone want to tell me what a database looks like once AdKats is installed?

AdKats by itself doesn't have a page to view chat logs. That's where the bfacp comes in. It has its own user management and permission based system. So this solves the whole who is an admin thing.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

Ok a quick question how do i stop this from logging server chat

Thanks in advance
My stats page doesn't log anything.  XpKiller's Procon plugin does the logging.

My stats page can't enable or disable chat logging.  As mentioned a few posts ago, you can remove the chat link in the top menu of the stats page by editing /common/menu/navigation-menu.php.

Remove:
Code:
// chat column
    echo '
    <div class="menuitems';
    if($page == 'chat')
    {
        echo 'elected';
    }
    echo '" style="width: 11%">
    <a class="fill-div" href="' . $_SERVER['PHP_SELF'] . '_p=chat';
    if(!empty($ServerID))
    {
        echo '&sid=' . $ServerID;
    }
    echo '">Chat</a>
    </div>
    ';
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

AdKats by itself doesn't have a page to view chat logs. That's where the bfacp comes in. It has its own user management and permission based system. So this solves the whole who is an admin thing.

Since Procon knows who has an admin user account, and AdKats is an admin tool which connects to XpKiller's stats database, I was hoping that there was the possibility that AdKats saved information about admins into the database.

 

Oh well. As I said, your admin control panel webpage is very nice and there is no reason why I should try to compete and duplicate some of the same functionality into my stats page. It just wouldn't make sense.

 

All I needed was an easy way to reliably determine who is an admin using information saved in the stats database in order to enable an option to only show the chat content if the viewer is an admin (having an IP address which matches a known admin). I didn't want to be involved in building that information or creating login pages or admin rights management pages. So, I will simply not pursue it any further. It was a pipe dream to attempt to satisfy the request.

* Restored post. It could be that the author is no longer active.
Link to comment

Archived

This topic is now archived and is closed to further replies.




  • Our picks

    • Game Server Hosting:

      We're happy to announce that EZRCON will branch out into the game server provider scene. This is a big step for us so please having patience if something doesn't go right in this area. Now, what makes us different compared to other providers? Well, we're going with the idea of having a scaleable server hosting and providing more control in how you set up your server. For example, in Minecraft, you have the ability to control how many CPU cores you wish your server to have access to, how much RAM you want to use, how much disk space you want to use. This type of control can't be offered in a single service package so you're able to configure a custom package the way you want it.

      You can see all the available games here. Currently, we have the following games available.

      Valheim (From $1.50 USD)


      Rust (From $3.20 USD)


      Minecraft (Basic) (From $4.00 USD)


      Call of Duty 4X (From $7.00 USD)


      OpenTTD (From $4.00 USD)


      Squad (From $9.00 USD)


      Insurgency: Sandstorm (From $6.40 USD)


      Changes to US-East:

      Starting in January 2022, we will be moving to a different provider that has better support, better infrastructure, and better connectivity. We've noticed that the connection/routes to this location are not ideal and it's been hard getting support to correct this. Our contract for our two servers ends in March/April respectively. If you currently have servers in this location you will be migrated over to the new provider. We'll have more details when the time comes closer to January. The new location for this change will be based out of Atlanta, GA. If you have any questions/concerns please open a ticket and we'll do our best to answer them.
      • 5 replies
    • Hello All,

      I wanted to give an update to how EZRCON is doing. As of today we have 56 active customers using the services offered. I'm glad its doing so well and it hasn't been 1 year yet. To those that have services with EZRCON, I hope the service is doing well and if not please let us know so that we can improve it where possible. We've done quite a few changes behind the scenes to improve the performance hopefully. 

      We'll be launching a new location for hosting procon layers in either Los Angeles, USA or Chicago, IL. Still being decided on where the placement should be but these two locations are not set in stone yet. We would like to get feedback on where we should have a new location for hosting the Procon Layers, which you can do by replying to this topic. A poll will be created where people can vote on which location they would like to see.

      We're also looking for some suggestions on what else you would like to see for hosting provider options. So please let us know your thoughts on this matter.
      • 4 replies
    • Added ability to disable the new API check for player country info


      Updated GeoIP database file


      Removed usage sending stats


      Added EZRCON ad banner



      If you are upgrading then you may need to add these two lines to your existing installation in the file procon.cfg. To enable these options just change False to True.

      procon.private.options.UseGeoIpFileOnly False
      procon.private.options.BlockRssFeedNews False



       
      • 2 replies
    • I wanted I let you know that I am starting to build out the foundation for the hosting services that I talked about here. The pricing model I was originally going for wasn't going to be suitable for how I want to build it. So instead I decided to offer each service as it's own product instead of a package deal. In the future, hopefully, I will be able to do this and offer discounts to those that choose it.

      Here is how the pricing is laid out for each service as well as information about each. This is as of 7/12/2020.

      Single MySQL database (up to 30 GB) is $10 USD per month.



      If you go over the 30 GB usage for the database then each additional gigabyte is charged at $0.10 USD each billing cycle. If you're under 30GB you don't need to worry about this.


      Databases are replicated across 3 zones (regions) for redundancy. One (1) on the east coast of the USA, One (1) in Frankfurt, and One (1) in Singapore. Depending on the demand, this would grow to more regions.


      Databases will also be backed up daily and retained for 7 days.




      Procon Layer will be $2 USD per month.


      Each layer will only allow one (1) game server connection. The reason behind this is for performance.


      Each layer will also come with all available plugins installed by default. This is to help facilitate faster deployments and get you up and running quickly.


      Each layer will automatically restart if Procon crashes. 


      Each layer will also automatically restart daily at midnight to make sure it stays in tip-top shape.


      Custom plugins can be installed by submitting a support ticket.




      Battlefield Admin Control Panel (BFACP) will be $5 USD per month


      As I am still working on building version 3 of the software, I will be installing the last version I did. Once I complete version 3 it will automatically be upgraded for you.





      All these services will be managed by me so you don't have to worry about the technical side of things to get up and going.

      If you would like to see how much it would cost for the services, I made a calculator that you can use. It can be found here https://ezrcon.com/calculator.html

       
      • 11 replies
    • I have pushed out a new minor release which updates the geodata pull (flags in the playerlisting). This should be way more accurate now. As always, please let me know if any problems show up.

       
      • 9 replies
×
×
  • Create New...

Important Information

Please review our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.