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.

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