Jump to content

Chat, GUID, Stats and Mapstats Logger [1.0.0.3]


ColColonCleaner

Recommended Posts

Originally Posted by ty_ger07*:

 

Does the KDR corretion needed?

What is the meaning of this option?

Code:
//KDR Correction
                        if (this.m_kdrCorrection == enumBoolYesNo.Yes && ((cpiPlayer.Deaths == 0 && cpiPlayer.Kills == 0 && cpiPlayer.Score == 0) == false))
                        {
                            if (this.StatsTracker[cpiPlayer.SoldierName].Deaths > (cpiPlayer.Deaths + this.StatsTracker[cpiPlayer.SoldierName].BeforeLeftDeaths))
                            {
                                this.DebugInfo("Trace", "OnListPlayers Player: " + cpiPlayer.SoldierName + " has " + this.StatsTracker[cpiPlayer.SoldierName].Deaths + " deaths; correcting to " + cpiPlayer.Deaths + " deaths now");
                                this.StatsTracker[cpiPlayer.SoldierName].Deaths = (cpiPlayer.Deaths + this.StatsTracker[cpiPlayer.SoldierName].BeforeLeftDeaths);
                            }
                            if (this.StatsTracker[cpiPlayer.SoldierName].Kills > (cpiPlayer.Kills + this.StatsTracker[cpiPlayer.SoldierName].BeforeLeftKills))
                            {
                                this.StatsTracker[cpiPlayer.SoldierName].Kills = (cpiPlayer.Kills + this.StatsTracker[cpiPlayer.SoldierName].BeforeLeftKills);
                            }
                        }

                    }
                    //Session Score
                    if (this.m_sessionON == enumBoolYesNo.Yes)
                    {
                        lock (this.sessionlock)
                        {
                            if (this.m_dicSession.ContainsKey(cpiPlayer.SoldierName))
                            {
                                this.m_dicSession[cpiPlayer.SoldierName].AddScore(cpiPlayer.Score);
                                //KDR Correction
                                if (this.m_kdrCorrection == enumBoolYesNo.Yes && ((cpiPlayer.Deaths == 0 && cpiPlayer.Kills == 0 && cpiPlayer.Score == 0) == false))
                                {
                                    if (this.m_dicSession[cpiPlayer.SoldierName].Deaths > (cpiPlayer.Deaths + this.m_dicSession[cpiPlayer.SoldierName].BeforeLeftDeaths))
                                    {
                                        this.DebugInfo("Trace", "Player: " + cpiPlayer.SoldierName + " has " + this.m_dicSession[cpiPlayer.SoldierName].Deaths + " deaths; correcting to " + cpiPlayer.Deaths + " deaths now");
                                        this.m_dicSession[cpiPlayer.SoldierName].Deaths = (cpiPlayer.Deaths + this.m_dicSession[cpiPlayer.SoldierName].BeforeLeftDeaths);
                                    }
                                    if (this.m_dicSession[cpiPlayer.SoldierName].Kills > (cpiPlayer.Kills + this.m_dicSession[cpiPlayer.SoldierName].BeforeLeftKills))
                                    {
                                        this.m_dicSession[cpiPlayer.SoldierName].Kills = (cpiPlayer.Kills + this.m_dicSession[cpiPlayer.SoldierName].BeforeLeftKills);
                                    }
                                }
                                if (cpiPlayer.GUID.Length > 2)
                                {
                                    this.m_dicSession[cpiPlayer.SoldierName].EAGuid = cpiPlayer.GUID;
                                }
                                //TeamId
                                this.m_dicSession[cpiPlayer.SoldierName].TeamId = cpiPlayer.TeamID;
                            }
                            else
                            {
                                ThreadPool.QueueUserWorkItem(delegate { this.CreateSession(cpiPlayer.SoldierName, cpiPlayer.Score, cpiPlayer.GUID); });
                            }
                        }
                    }
                    //Checking the sessiondic
                    //ThreadPool.QueueUserWorkItem(delegate { this.CheckSessionDic(lstPlayers); });
                    //this.CreateSession(cpiPlayer.SoldierName, cpiPlayer.Score); 
                }
As far as I can tell, it just double checks that a player's kills and deaths are added up correctly. It seems that if they leave in the middle of a round, there kills and deaths might not be added up correctly unless KDR correction is enabled and it adds the session stats into the mix. It would be more accurate with it enabled, but also put a bit more load on PRoCon and your database.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Prophet731*:

 

It's an old loaner database since I don't have any servers any more.

 

It has 25,500 rows of player data and 571,000 rows of weapon stats.

If you would like a bigger database to test on I can make a copy for you. We have over 1 million players across bf3/4 along with weapon stats so you can really test your query on big databases.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

If you would like a bigger database to test on I can make a copy for you. We have over 1 million players across bf3/4 along with weapon stats so you can really test your query on big databases.

Yeah, PM me a download link or something if you want.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by pyroblood*:

 

Hmm... got this error and the pugins disables automaticly _!

 

[19:45:36 02] [AdKats] ERROR: Tables from XPKiller's Stat Logger not present in the database. Enable that plugin then re-run AdKats!

 

my stat plugin works ?

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

Originally Posted by ColColonCleaner*:

 

Hmm... got this error and the pugins disables automaticly _!

 

[19:45:36 02] [AdKats] ERROR: Tables from XPKiller's Stat Logger not present in the database. Enable that plugin then re-run AdKats!

 

my stat plugin works ?

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

Originally Posted by supermillhouse*:

 

This is pretty much the same thing with a slight twist. Same performance?

 

SELECT tw.`Friendlyname`, tws.`Kills`, tpd.`PlayerID`, tpd.`SoldierName`

FROM `tbl_weapons_stats` tws

INNER JOIN

(

SELECT MAX(tws.`Kills`) AS Kills, tws.`WeaponID`

FROM `tbl_weapons_stats` tws

INNER JOIN `tbl_server_player` tsp ON tws.`StatsID` = tsp.`StatsID`

WHERE tsp.`ServerID` = 1

AND tws.`Kills` > 0

GROUP BY tws.`WeaponID`

)

query2 ON tws.`Kills` = query2.`Kills`

AND tws.`WeaponID` = query2.`WeaponID`

INNER JOIN `tbl_weapons` tw ON tws.`WeaponID` = tw.`WeaponID`

INNER JOIN `tbl_server_player` tsp ON tws.`StatsID` = tsp.`StatsID`

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

WHERE tw.`Damagetype` 'suicide'

AND tw.`Damagetype` 'none'

AND tw.`Damagetype` 'melee'

AND tw.`Damagetype` 'nonlethal'

AND tw.`Damagetype` 'vehiclelight'

GROUP BY tws.`WeaponID`

ORDER BY tws.`Kills` DESC

 

 

Edit: when is the last time you optimized your tables? That can make a pretty big difference.

What do you mean by optimizing them? probably not as I have no idea. :biggrin:
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

Do you want the chat logs with it as well or just player data? Chat logs alone is 1.7G (~14 Million). lol

Wow... no thank you. :smile: I would be interested in maybe just a few hundred rows of chat if it isn't much of a bother.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Prophet731*:

 

Wow... no thank you. :smile: I would be interested in maybe just a few hundred rows of chat if it isn't much of a bother.

Haha, its only ~400 MB compressed :smile:.

 

I'll see if I can just get a few hundred rows for the chat log then.

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

Originally Posted by morfius375*:

 

Hello I decided to change the database path set to another database server where already there. And now generates this error. Native database server on this normally works

 

 

[statslogger]Error: getUpdateServerID1: System.Security.SecurityException: Fehler bei der Anforderung des Berechtigungstyps "System.Net.SocketPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".

bei System.Security.CodeAccessSecurityEngine.Check(Obj ect demand, StackCrawlMark& stackMark, Boolean isPermSet)

bei System.Security.CodeAccessPermission.Demand()

bei System.Net.Sockets.Socket.CheckCacheRemote(EndPoin t& remoteEP, Boolean isOverwrite)

bei System.Net.Sockets.Socket.BeginConnectEx(EndPoint remoteEP, Boolean flowContext, AsyncCallback callback, Object state)

bei System.Net.Sockets.Socket.BeginConnect(EndPoint remoteEP, AsyncCallback callback, Object state)

bei MySql.Data.Common.StreamCreator.CreateSocketStream (IPAddress ip, Boolean unix)

bei MySql.Data.Common.StreamCreator.GetStreamFromHost( String pipeName, String hostName, UInt32 timeout)

bei MySql.Data.Common.StreamCreator.GetStream(UInt32 timeout)

bei MySql.Data.MySqlClient.NativeDriver.Open()

bei MySql.Data.MySqlClient.Driver.Open()

bei MySql.Data.MySqlClient.Driver.Create(MySqlConnecti onStringBuilder settings)

bei MySql.Data.MySqlClient.MySqlPool.CreateNewPooledCo nnection()

bei MySql.Data.MySqlClient.MySqlPool.GetPooledConnecti on()

bei MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()

bei MySql.Data.MySqlClient.MySqlPool.GetConnection()

bei MySql.Data.MySqlClient.MySqlConnection.Open()

bei PRoConEvents.CChatGUIDStatsLogger.getUpdateServerI D(CServerInfo csiServerInfo)

Die Aktion, bei der ein Fehler aufgetreten ist:

Demand

Der Typ der ersten Berechtigung, bei der ein Fehler aufgetreten ist:

System.Net.SocketPermission

Die Zone der Assembly, bei der ein Fehler aufgetreten ist:

MyComputer

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

Originally Posted by Dreddy*:

 

Hi all :ohmy:

 

still no news with this issue? (Some tables not working with BC2 : all playerstats, except tbl_chatlog, tbl-games, tbl_currentplayers and tbl_server)

 

help would be greatly appreciated :ohmy:

 

Is there any news on this issue?

God_Zilla pointed out that he is having the same problem.

 

The best,

Simon

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

Originally Posted by ty_ger07*:

 

Hi all :ohmy:

 

still no news with this issue? (Some tables not working with BC2 : all playerstats, except tbl_chatlog, tbl-games, tbl_currentplayers and tbl_server)

 

help would be greatly appreciated :ohmy:

XpKiller seems to have disappeared. Until he re-appears, I don't suppose there will be any answers.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Dreddy*:

 

Didn't know this one, I took a look into, interesting, thx.

But for an 8 slots server just for friends and I it will be too much, and the extra 5$/month won't worth it.

 

I just wanted to have some simple stats for my 8 mates (who kill who, how often, with what, etc) and have them visible in a webpage like it was shown with this plugin + ty_ger07' Stats Web Page. This was free, simple, easy to use and was working before with BC2... bad luck :smile:

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

Originally Posted by ColColonCleaner*:

 

Didn't know this one, I took a look into, interesting, thx.

But for an 8 slots server just for friends and I it will be too much, and the extra 5$/month won't worth it.

 

I just wanted to have some simple stats for my 8 mates (who kill who, how often, with what, etc) and have them visible in a webpage like it was shown with this plugin + ty_ger07' Stats Web Page. This was free, simple, easy to use and was working before with BC2... bad luck :smile:

I'm just showing an available route :P. That is if you are not willing to wait for xpkiller to come back and fix it.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Co3n*:

 

For bf4, when using procon 1.4.2.3, layered, after a restart, the playermessage, sessionmessage and welcomemessage is changed/resetted? What can i do about this? It looks like a read-only problem....

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

Originally Posted by Prophet731*:

 

Can i use the same Database for 4 BF4 Servers? Or how does it work to see more then one Stats with BF4 Server Stats Page?

You can use one database for all servers, as for the stats page I think you can specify which server to use or just create multiple databases for each server.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Kinsman*:

 

Can you have a look in your weapon stats db and see if you have asval kills? our db is BF4 only, the asval is 245, but when i look in weaponstats the kills jump from 244 to 246, theres not a single kill by 245, which is kind of annoying given I use the asval daily.

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




  • 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.