Jump to content

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


Recommended Posts

Originally Posted by Kinsman*:

 

sure, rename the pubplayer file to globalplayer.

 

http://jw.servegame.org/bf4stats/pub...php_id=MasoAus

 

As you can see it ONLY links back to the Index. Then ONLY add the links to that file, to the Global Players displayed on the Index.

 

That way they can ONLY access that page from the Index, and only go straight back to the Index. I hope that makes sense.

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

Originally Posted by ty_ger07*:

 

Yeah, I understand, but it is confusing. If you see two pages that look the same, it is hard for you to remember which is which. Is the information I am looking at for only a single server? Or is this information for all servers from this clan? Or is this information for all servers in the entire world? I think there is a lot of confusion already regarding "private server stats" as you might call these versus "public server stats" such as Battlelog or BF4stats. If you call stats "global", is that related to all servers in the whole world?

 

Of course I understand the difference, but I don't know how to make the difference obvious to people navigating these stats pages.

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

Originally Posted by ty_ger07*:

 

Noooooo, you said GoDaddy, which is kind of an oxymoron really. :tongue:

 

Anyhow, I added the links to a global player page, along with a more descriptive header, see what you think?

 

http://jw.servegame.org/stuff/

Yeah, I think that will work. I would change the style of it though to make it look like the other pages. I'll add that to the list...

 

I think the "view stats" button you added is needed. Otherwise, people viewing the index page may not know that they are supposed to click the server title to view the stats.

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

Originally Posted by Jaffaman*:

 

Thanks for your great work i have uploaded the latest version but i have one problem the suspicious tab does not seem to show the players.

Both versions are running off the same database.

 

New version http://grimreapers.co.uk/teststats/i...1&suspicious=1

Old version http://grimreapers.co.uk/Serverstats...players=Search

 

Thanks in advance for any help.

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

Originally Posted by ty_ger07*:

 

Thanks for your great work i have uploaded the latest version but i have one problem the suspicious tab does not seem to show the players.

Both versions are running off the same database.

 

New version http://grimreapers.co.uk/teststats/i...1&suspicious=1

Old version http://grimreapers.co.uk/Serverstats...players=Search

 

Thanks in advance for any help.

I made the requirements of being marked as "suspicious" more stringent so that there were less false-positives due to vehicle whores.

 

For instance, if you look at the top suspicious player on your old page (0dyss), you will see that his suspicion was caused because he had few kills and the majority of his kills were from vehicles.

 

http://grimreapers.co.uk/serverstats.php

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

Originally Posted by ty_ger07*:

 

Thanks!

 

I don't know about you guys, but I think the weapon chart is really quite interesting.

 

weapon_art.png

 

It's almost like art in a way, but also very revealing. If you look through player's stats, you can quickly start seeing trends for which weapons are better than other weapons. You will see groupings of average weapons and then you will see splotches of popular weapons off by themselves low and to the right (many kills and few deaths).

 

 

...

Another thing I have wondered from time to time is what happens in Rush if the defender's tickets run out?

 

US Attackers Tickets Remaining: 41

RU Defenders Tickets Remaining: 65384

 

Is it possible to use up all the defender's tickets? What would happen?

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

Originally Posted by Kinsman*:

 

I found something that is confusing, if you sort the top 25, the link is always the same, no matter if you are on the index, or in a server.

 

http://jw.servegame.org/stuff/index....Name&order=ASC

 

Which gives you this page, with only a link back to the index. I know to just hit "back" in my browser, but others won't.

 

Is there a way that in a server, it could link back to server home, rather than the index?

 

it probably needs the link with the servername in it, to make it clear what your sorting.

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

Originally Posted by CptChaos*:

 

I've forked the project and I am busy with integrating graphs at the moment, a sneek peak here, with fictional data:

Posted Image

Obivously, it needs some tweaking once again. :smile: Glad to see the project has grown and a lot of updates have been done. Really nice! When I've got the graphs I'll merge it into my github fork of this amazing project. :smile: After that, I'll request a merge to ty_ger's repo. :smile:

 

Side effect of this feature is that it needs GD. Libraries needed (except for GD module for PHP) for the graphs will be delivered with update.

 

@ TY_Ger the weapon chart is truly awesome, but the circles are a bit to large.

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

Originally Posted by ty_ger07*:

 

I found something that is confusing, if you sort the top 25, the link is always the same, no matter if you are on the index, or in a server.

You have modified your code. Apparently incorrectly.

 

The top global players link is not the same as the top server players link.

 

 

Top Global players:

http://open-web-community.com/bf4sta...ore&order=DESC

 

Top Server players:

http://open-web-community.com/bf4sta...ore&order=DESC

 

 

The top global players links has no 'ServerID' in the query string ("URL") and has 'topglobal' in the query string instead of 'topplayers'.

 

The top server players link has a 'ServerID' in the query string and has 'topplayers' in the query string instead of 'topglobal'.

 

 

'ServerID' is the key to determine if you are at the index page or in a server page. If there is a ServerID in the URL query string, the ServerID is a number, and the ServerID is a ServerID found in the database, a server page is shown. If there is no ServerID in the URL query string, the ServerID provided is not a number, or the ServerID provided doesn't exist in the database, the index page is shown.

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

Originally Posted by ty_ger07*:

 

@ TY_Ger the weapon chart is truly awesome, but the circles are a bit to large.
Yes the circles are large, but if they are made smaller, long weapon names flow over their bounds.  :mad: I guess I could chop weapon names after X characters like "Grena..." instead of "Grenade RGO" for instance, but then the weapons being displayed become ambiguous.  When you mouse over a weapon, the popup "tooltip" appears, but the name would be ambiguous there as well because it is getting its data from the same set of data.  I could make the text smaller, but then the text size becomes different from the rest of the page and becomes hard to read.  I have resorted to large circles.  :S

I am using the Google Charts API.  The circle size changes based on headshot ratio.  The circle color changes based on number of headshots, and the circle location changes based on kill/death ratio.

https://code.google.com/apis/ajax/pl...n#bubble_chart

If you want, you can paste the following code into the above Google Bubble Chart API page's "EDIT HTML" and play around with it for yourself.

Code:
<script type="text/javascript" src="//www.google.com/jsapi"></script>
<script type="text/javascript">
    google.load('visualization', '1', {packages: ['corechart']});
</script>
<script type="text/javascript">
    function drawVisualization() {
        // Create and populate the data table.
        var data = google.visualization.arrayToDataTable([
            ['Weapon', 'Kills', 'Deaths', 'Headshots',  'Headshot Ratio']
            ,
                ['AEK971', 105, 10, 17,  0.1619]
                ,
                ['FAMAS', 4, 2, 0,  0.0000]
                ,
                ['GalilACE23', 166, 19, 41,  0.2470]
                ,
                ['L85A2', 12, 2, 4,  0.3333]
                ,
                ['M16A4', 7, 5, 2,  0.2857]
                ,
                ['M416', 2, 13, 1,  0.5000]
                ,
                ['SCAR-H', 1, 6, 0,  0.0000]
                ,
                ['XM25', 1, 2, 0,  0.0000]
                ,
                ['AMR2 MED', 3, 2, 0,  0.0000]
                ,
                ['CS-LR4', 1, 4, 1,  1.0000]
                ,
                ['M200', 24, 5, 9,  0.3750]
                ,
                ['Grenade RGO', 9, 0, 0,  0.0000]
                ,
                ['M67', 1, 1, 0,  0.0000]
                ,
                ['V40', 4, 3, 0,  0.0000]
                ,
                ['Scorpion', 1, 0, 0,  0.0000]
                ,
                ['P226', 21, 2, 4,  0.1905]
                
        ]);
        var options = {
            title: 'Headshots',
            titleTextStyle: {color: '#444', bold: 'false'},
            legend: {textStyle: {color: '#444'}},
            hAxis: {title: 'Kills', titleTextStyle: {color: '#444'}, textStyle:  {color: 'transparent'}, minValue: -1, gridlines: {color: 'transparent'}, baselineColor:  '#222'},
            vAxis: {title: 'Deaths', titleTextStyle: {color: '#444'}, textStyle:  {color: 'transparent'}, minValue: -1, gridlines: {color: 'transparent'}, baselineColor:  '#222'},
            bubble: {textStyle: {color: '#888', fontSize: 12}, stroke: 'transparent'},
            backgroundColor: 'transparent',
            chartArea: {left: 20, top: 50, width: "90%", height: "70%"},
            colorAxis: {minValue: 0, colors: ['#000064', '#640000'], legend: {textStyle: {color: '#444'}, position: 'top'}},
            sizeAxis: {minValue: 0, maxValue: 1, minSize: 40, maxSize: 60},
            tooltip: {textStyle: {color: '#AA0000'}}
        };
        // Create and draw the visualization.
        var chart = new google.visualization.BubbleChart(
        document.getElementById('visualization'));
        chart.draw(data, options);
    }
    google.setOnLoadCallback(drawVisualization);
</script>
<center>
<div id="visualization" style="width: 98%; height: 250px;"></div>
</center>
Like So:
code_playground.jpg Edited by maxdralle
* Restored post. It could be that the author is no longer active.
Link to post

Originally Posted by CptChaos*:

 

Yes the circles are large, but if they are made smaller, long weapon names flow over their bounds. :mad: I guess I could chop weapon names after X characters like "Grena..." instead of "Grenade RGO" for instance, but then the weapon being displayed become ambiguous.

 

I am using the Google Charts API. The circle size changes based on headshot ratio. The circle color changes based on number of headshots, and the circle location changes based on kill/death ratio.

I'd strip the 'grenade' part I think most people will know the difference between RGO and v40 mini for example.
* Restored post. It could be that the author is no longer active.
Link to post

Originally Posted by ty_ger07*:

 

I'd strip the 'grenade' part I think most people will know the difference between RGO and v40 mini for example.

Yes, but that is only one example. The weapon names come straight from the database. I prefer not to manually reformat the weapon names (even though some reformatting may already be desired) simply because I don't want to take on the responsibility of managing weapon names whenever a new expansion is released. For instance, I already would like to change "GalilACE23" to "Galil ACE 23", but then I would assume to responsibility of managing weapon names. Once I started doing such, I would feel trapped to continue doing such and would have to go through the whole list and chop up names, remove excess, and so forth. This is a responsibility I do not want and I prefer to let the page just use whatever weapon name XpKiller's PRoCon plugin decides is suitable.
* Restored post. It could be that the author is no longer active.
Link to post

Originally Posted by Narf!*:

 

Really nice work with this update, thumbs up =)

 

But I've got a little, little problem... In our database is a server listed that's not there anymore. We've got the IDs 1,3,4,5 active and 2 is dead. But... It's still in the DB and shown on the index page. Is it possible to exclude the dead ID? And if, how to do this? ^^

 

Greetings

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

Originally Posted by ty_ger07*:

 

Really nice work with this update, thumbs up =)

 

But I've got a little, little problem... In our database is a server listed that's not there anymore. We've got the IDs 1,3,4,5 active and 2 is dead. But... It's still in the DB and shown on the index page. Is it possible to exclude the dead ID? And if, how to do this? ^^

 

Greetings

Yes, it is possible for you to remove it.

 

But I would ask XpKiller first if this is a good idea or not...

 

I propose that you edit your database with phpmyadmin. Drop ServerID 2 from tbl_server.

 

That should work. But I would ask XpKiller first to make sure that his plugin doesn't try to fill the missing ServerID 2 with live ServerID 5 which would cause ServerID 5 stats to be split up.

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

Originally Posted by ty_ger07*:

 

Code in first post updated!

 

Changes:

- Global stats added

- Ranks stats simplified to significantly speed up pages

- Maps in maps page ordered by game mode

 

 

The major change is the addition of global player stats across all of your servers. The user has the choice at the index page to view any of your servers individually or view global server stats.

 

http://open-web-community.com/bf4sta...ID=20&search=1

 

With the addition of global server stats, the impact of determining a player's rank across so much data became very apparent. For this reason, a lot of rank information had to be removed.

 

 

 

EDIT:

 

I suppose a search box is needed on the Global Server Stats page if a user wants to find a particular player. And I suppose global suspicious players, global chat, global countries, and global maps should also be added. But this is a start.

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

Originally Posted by CptChaos*:

 

I've forked this project at Github, and I've added two graphs in it. I am sure other graphs are coming, please be patient.

For those using github, the repo is at https://github.com/CptChaos/BF4-Server-Stats, for those who rather download the .zip archive: https://github.com/CptChaos/BF4-Serv...ive/master.zip

 

Let me know what you think! :smile: A demo is available at http://bugstats.cptchaos.nl/index.ph...&serverstats=1

 

Keep in mind: This fork requires GD in order to generate the graphs!

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

Originally Posted by ty_ger07*:

 

Global server stats should not be available if there is only one server. If there is only one server, the one server is already "global". :tongue:

 

I have added it as a bug on github.

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

Originally Posted by ty_ger07*:

 

Hi ty_ger07, I thought I read somewhere where someone with Enjin got this to work?

I am sure someone did. But I don't use Enjin, so I don't know. It would be easiest to just add it in as an iFrame, but iFrames are awkward to navigate (scrolling and URLs).
* Restored post. It could be that the author is no longer active.
Link to post

Originally Posted by jking54*:

 

I am sure someone did. But I don't use Enjin, so I don't know. It would be easiest to just add it in as an iFrame, but iFrames are awkward to navigate (scrolling and URLs).

Yeah I really need to migrate away from Enjin and to a php based site, tired of their slowass performance, it's ridiculous.
* Restored post. It could be that the author is no longer active.
Link to post

Originally Posted by ty_ger07*:

 

Yeah I really need to migrate away from Enjin and to a php based site, tired of their slowass performance, it's ridiculous.

According to this:

http://www.enjin.com/forums/m/10826/...ad/3303516-php

 

Get a webhost, only like 5$, And use a iFrame to show it in your Enjin website, As far as i know, Enjin does not support it.

That doesn't sound like a very good solution.
* Restored post. It could be that the author is no longer active.
Link to post

Originally Posted by ty_ger07*:

 

I would like to know if it is possible to get a list of the player of the day.

 

Now we can only see it ingame!

It is possible.

 

A top 10 global player of the day list:

SELECT

SoldierName, SUM(tss.Score) AS Score, SUM(Kills) AS Kills, SUM(Deaths) AS Deaths, (SUM(Kills)/SUM(Deaths)) AS KDR, SUM(Headshots) AS Headshots, (SUM(Headshots)/SUM(Kills)) AS HSR

FROM tbl_sessions tss

INNER JOIN tbl_server_player tsp ON tss.StatsID = tsp.StatsID

INNER JOIN tbl_playerdata tpd ON tsp.PlayerID = tpd.PlayerID

WHERE tss.Starttime >= CURDATE()

GROUP BY tsp.StatsID

ORDER BY Score DESC

LIMIT 10

A top 10 player of the day for only "server 1" list:

SELECT

SoldierName, SUM(tss.Score) AS Score, SUM(Kills) AS Kills, SUM(Deaths) AS Deaths, (SUM(Kills)/SUM(Deaths)) AS KDR, SUM(Headshots) AS Headshots, (SUM(Headshots)/SUM(Kills)) AS HSR

FROM tbl_sessions tss

INNER JOIN tbl_server_player tsp ON tss.StatsID = tsp.StatsID

INNER JOIN tbl_playerdata tpd ON tsp.PlayerID = tpd.PlayerID

WHERE ServerID = 1 AND tss.Starttime >= CURDATE()

GROUP BY tsp.StatsID

ORDER BY Score DESC

LIMIT 10

myrcon.net/.../advanced-in-game-admin-and-ban-enforcer-adkats

 

If you wanted to check the top 10 players within the last week instead of just the last day, you could substitute

 

tss.Starttime >= CURDATE()

with

 

tss.Starttime BETWEEN CURDATE() - INTERVAL 7 DAY AND CURDATE()

It just hasn't been incorporated into this site code (yet_).
* Restored post. It could be that the author is no longer active.
Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • 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.
      • 1 reply
    • 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
    • Hi All,

      So seeing as Venice Unleased is released, I'm looking into if I should offer game hosting for it. I would like some feedback on this subject.

      VU - Experience Battlefield 3 like never before! (veniceunleashed.net)
      • 3 replies
    • So as the topic title says, should EZRCON offer general web hosting services?
      • 1 reply
    • 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
×
×
  • 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.