Jump to content

Chat, GUID, Stats and Mapstats Logger [1.0.0.3]


ColColonCleaner

Recommended Posts

Originally Posted by XpKiller*:

 

I am not sure what the implications of that statement are.

 

 

Here, T-Red_eliM is 11754 in Server ID 2:

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

 

Here, T-Red_eliM is 7224 in Server ID 3:

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

 

I checked that his EAGUID, PBGUID, and IP Address are all identical across these two different Player IDs.

is the gameID identical?

 

I can only guess. Maybe your db has been altered or unique key checks are disabled.

 

Could you post your sql query you are using?

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

Originally Posted by ty_ger07*:

 

is the gameID identical?

 

I can only guess. Maybe your db has been altered or unique key checks are disabled.

 

Could you post your sql query you are using?

Oh, interesting. The game ID for one is 0 and for the other is 1. I wonder why.

 

I don't have a server so I don't have a database of my own. I am using a copy of Kinsman's database.

 

If I look in tbl_server, there are no servers with a game ID of 0. Why would this player have a game ID of 0? What does 0 mean?

 

Should I just explicitly call out for the correct game ID in all of my queries?

 

This is an example of a query where I find different player IDs for the same SoldierName:

SELECT *

FROM tbl_playerdata

WHERE

SoldierName = 'T-Red_eliM'

I don't use any "SELECT *" queries in my code, but that is just an example query where the different PlayerIDs are obvious. I just failed to notice that the Game ID was 1 and 0.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

Oh, interesting. The game ID for one is 0 and for the other is 1. I wonder why.

 

I don't have a server so I don't have a database of my own. I am using a copy of Kinsman's database.

 

If I look in tbl_server, there are no servers with a game ID of 0. Why would this player have a game ID of 0? What does 0 mean?

 

Should I just explicitly call out for the correct game ID in all of my queries?

 

This is an example of a query where I find different player IDs for the same SoldierName:

 

 

I don't use any "SELECT *" queries in my code, but that is just an example query where the different PlayerIDs are obvious. I just failed to notice that the Game ID was 1 and 0.

Now I am wondering if I should just throw out all data for this player from a non-existent Game ID of 0, or if I should include it. How do I know if it is or is not good data? Why would his Player ID be linked to Game ID 0 if there is no server with a Game ID of 0?
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by XpKiller*:

 

a gameID of 0 can be caused by running the old bf3 version against a new database.

 

it could also be an bug as well. I would need to check some things.

 

The Soldiername is not unique so you need to add the gameid.

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

Originally Posted by ty_ger07*:

 

a gameID of 0 can be caused by running the old bf3 version against a new database.

 

it could also be an bug as well. I would need to check some things.

 

The Soldiername is not unique so you need to add the gameid.

I was using PlayerID in my queries so that the URLs to a player's stats page would be constant even if they changed their soldier name. The different player IDs were noticed later. I will have to make my code a little more robust and filter out Game IDs which aren't in the server table so that those player's don't even show up.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by w80500*:

 

Hi XPKiller. I have been having issues with this. It recorded to my database once which is local on my machine but doesn't seem to record anymore. !rank etc still works in game but always showing the same ranks. Please help

 

][statslogger]Error: getUpdateServerID1: MySql.Data.MySqlClient.MySqlException: Unknown column 'GameID' in 'field list'

at MySql.Data.MySqlClient.MySqlStream.ReadPacket()

at MySql.Data.MySqlClient.NativeDriver.GetResult(Int3 2& affectedRow, Int64& insertedId)

at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)

at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)

at MySql.Data.MySqlClient.MySqlDataReader.NextResult( )

at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader( CommandBehavior behavior)

at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuer y()

at PRoConEvents.CChatGUIDStatsLogger.getUpdateServerI D(CServerInfo csiServerInfo)

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

Originally Posted by Kinsman*:

 

a gameID of 0 can be caused by running the old bf3 version against a new database.

 

it could also be an bug as well. I would need to check some things.

 

The Soldiername is not unique so you need to add the gameid.

Just so we are on the same page, the DB has not been altered in any way, but is old, and started as a fresh BF4 1.0.0.1 Install, that was then updated to 1.0.0.2

 

Perhaps I should have blown it away and started fresh at 1.0.0.2, not sure, but the DB that Tyger is using can be seen live here.

 

http://jw.servegame.org/bf4stats/index.php

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

Originally Posted by Narf!*:

 

Is it possible to reset the stats of all servers in a DB without losing the playerload? And if it's possible, how to do it?

 

Another question: Have got 4 servers in a db, IDs 1-5, but ID 2 is an old one which is dead. Can I just delete this server out of the server table without any problems/affects on the others?

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

Originally Posted by ty_ger07*:

 

Guys?

Each time you query for the top 10, the list is generated. It is not saved at all. Next time you ask for the top 10, it might be different. The top 10 list is the top 10 players in the server since the beginning of the database until now. As "now" changes, the answer might change.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Kinsman*:

 

Is it possible to reset the stats of all servers in a DB without losing the playerload? And if it's possible, how to do it?

 

Another question: Have got 4 servers in a db, IDs 1-5, but ID 2 is an old one which is dead. Can I just delete this server out of the server table without any problems/affects on the others?

I'm interested in this too, as one of our servers expires tomorrow, so we will go from 5>4 servers. I figured I would just delete the server from the server table, but any advice appreciated.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by XpKiller*:

 

I'm interested in this too, as one of our servers expires tomorrow, so we will go from 5>4 servers. I figured I would just delete the server from the server table, but any advice appreciated.

That should be sufficient. The foreign key constain will delete the related stats entries automatically.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Dudenell*:

 

Code:

[19:41:55 56] [Statslogger]Error: Error in Startstreaming: 
[19:41:55 56] Message: Out of range value for column 'Losses' at row 13
[19:41:55 56] Native: -2147467259
[19:41:55 56] Source: MySql.Data
[19:41:55 56] StackTrace:    at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
   at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
   at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
   at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
   at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
   at PRoConEvents.CChatGUIDStatsLogger.StartStreaming()
[19:42:05 54] [Statslogger]Error: Error in Startstreaming OuterException: System.NullReferenceException: Object reference not set to an instance of an object.
   at PRoConEvents.CChatGUIDStatsLogger.DisplayMySqlErrorCollection(MySqlException myException)
   at PRoConEvents.CChatGUIDStatsLogger.StartStreaming()
[19:42:13 96] [Statslogger]Error: getUpdateServerID1: System.InvalidOperationException: Nested transactions are not supported.
   at MySql.Data.MySqlClient.ExceptionInterceptor.Throw(Exception exception)
   at MySql.Data.MySqlClient.MySqlConnection.Throw(Exception ex)
   at MySql.Data.MySqlClient.MySqlConnection.BeginTransaction(IsolationLevel iso)
   at MySql.Data.MySqlClient.MySqlConnection.BeginTransaction()
   at PRoConEvents.CChatGUIDStatsLogger.getUpdateServerID(CServerInfo csiServerInfo)
Any idea whats going on?
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

Code:

[19:41:55 56] [Statslogger]Error: Error in Startstreaming: 
[19:41:55 56] Message: Out of range value for column 'Losses' at row 13
[19:41:55 56] Native: -2147467259
[19:41:55 56] Source: MySql.Data
[19:41:55 56] StackTrace:    at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
   at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
   at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
   at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
   at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
   at PRoConEvents.CChatGUIDStatsLogger.StartStreaming()
[19:42:05 54] [Statslogger]Error: Error in Startstreaming OuterException: System.NullReferenceException: Object reference not set to an instance of an object.
   at PRoConEvents.CChatGUIDStatsLogger.DisplayMySqlErrorCollection(MySqlException myException)
   at PRoConEvents.CChatGUIDStatsLogger.StartStreaming()
[19:42:13 96] [Statslogger]Error: getUpdateServerID1: System.InvalidOperationException: Nested transactions are not supported.
   at MySql.Data.MySqlClient.ExceptionInterceptor.Throw(Exception exception)
   at MySql.Data.MySqlClient.MySqlConnection.Throw(Exception ex)
   at MySql.Data.MySqlClient.MySqlConnection.BeginTransaction(IsolationLevel iso)
   at MySql.Data.MySqlClient.MySqlConnection.BeginTransaction()
   at PRoConEvents.CChatGUIDStatsLogger.getUpdateServerID(CServerInfo csiServerInfo)
Any idea whats going on?
To me, it sounds like a player has more than 9999999999 losses in their loss count for some reason and therefore they have exceeded the number of integers limit for the losses column.

 

It is probably an error and you could probably fix it by finding row 13 in the tbl_playerstats table and changing their number of losses to a lower number.

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

Originally Posted by MorpheusX(AUT)*:

 

We have a 2nd server now, do i need to make new database? Or how do i expand the servers?

Just put in the same database details, the chat logger assigns a different server ID automatically and handles stuff appropriately
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Ralphvd*:

 

[20:17:44 30] [statslogger]Info: Started streaming to the DB-Server

[20:17:44 32] [statslogger]Error: Error in Startstreaming:

[20:17:44 32] Message: Duplicate entry '1-EA_A8E1E3B745669DDDC344DF76CC38FE21' for key 'UNIQUE_playerdata'

[20:17:44 32] Native: -2147467259

[20:17:44 33] Source: MySql.Data

[20:17:44 35] StackTrace: at MySql.Data.MySqlClient.MySqlStream.ReadPacket()

at MySql.Data.MySqlClient.NativeDriver.GetResult(Int3 2& affectedRow, Int64& insertedId)

at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)

at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)

at MySql.Data.MySqlClient.MySqlDataReader.NextResult( )

at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader( CommandBehavior behavior)

at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuer y()

at PRoConEvents.CChatGUIDStatsLogger.StartStreaming()

[20:17:44 35] [statslogger]Info: Connection MySqlConn closed

[20:17:44 38] [statslogger]Error: Error in UpdateRanking: System.InvalidOperationException: Nested transactions are not supported.

at MySql.Data.MySqlClient.ExceptionInterceptor.Throw( Exception exception)

at MySql.Data.MySqlClient.MySqlConnection.BeginTransa ction(IsolationLevel iso)

at PRoConEvents.CChatGUIDStatsLogger.UpdateRanking()

[20:17:44 40] [statslogger]Info: Streamingprocess duration: 0.094 seconds

[20:17:44 40] [statslogger]Error: Error in Startstreaming OuterException: System.NullReferenceException: Object reference not set to an instance of an object.

at PRoConEvents.CChatGUIDStatsLogger.DisplayMySqlErro rCollection(MySqlException myException)

at PRoConEvents.CChatGUIDStatsLogger.StartStreaming()

 

I use the same DB, User/password as #1

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

Originally Posted by Ralphvd*:

 

I restarted procon server. Now it is working, but only the scores, kills, deaths, are shared. The ranking is not shared yet.

 

Score: 12023420

 

Rank 4 of 9 instead 1 of 14400

 

So the rank is not combined

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

Originally Posted by ty_ger07*:

 

I restarted procon server. Now it is working, but only the scores, kills, deaths, are shared. The ranking is not shared yet.

 

Score: 12023420

 

Rank 4 of 9 instead 1 of 14400

 

So the rank is not combined

I never wanted to combine stats, so I don't know the answer.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

I have the page IFRAME into a joomla page. The page is too wide, how do I set the width to 100% instead of the fixed width. I am looking but cant see it.

This plugin does not create a page. Any webpage created is an additional project not directly linked to this plugin's processes. You should ask in the correct webpage forum post.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Athlon*:

 

I have the page IFRAME into a joomla page. The page is too wide, how do I set the width to 100% instead of the fixed width. I am looking but cant see it.

Everything you ever wanted to know about the 'iframe' tag can be found here:

 

http://www.w3schools.com/tags/tag_iframe.asp

 

Sounds to me like you want to use the 'width' attribute.

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

Originally Posted by brozifix*:

 

Hi there

I would really like to use this cool Plugin, but the Installation fails :-(

 

I use a free mysql hoster

 

Server: db4free.net via TCP/IP

Server-Typ: MySQL

Version: 5.6.15 - MySQL Community Server (GPL)

Character set: UTF-8 Unicode (utf8)

 

I finished all settings imho correctly (Username, Password, Port...) but nothing happend.

Also I entered the Procontool settings for sandbox but it always happend this: (I disabled the Sandbox)

 

Code:

Error: 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(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
   bei System.Security.CodeAccessPermission.Demand()
   bei System.Net.Sockets.Socket.CheckCacheRemote(EndPoint& 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(MySqlConnectionStringBuilder settings)
   bei MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
   bei MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
   bei MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
   bei MySql.Data.MySqlClient.MySqlPool.GetConnection()
   bei MySql.Data.MySqlClient.MySqlConnection.Open()
   bei PRoConEvents.CChatGUIDStatsLogger.tablebuilder()
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
[14:49:55 59] Error: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei PRoConEvents.CChatGUIDStatsLogger.tablebuilder()
Anyone an idea? Thanks in advance.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by p19blo*:

 

I get this error across all 5 of my layers

 

4 layers with one host

1 layer with 1 host

all sharing same database

all using latest version of chat logger and adkats

 

Code:

[11:55:59 16] [Statslogger]Error: LogChat: 
[11:55:59 16] Message: The user specified as a definer ('cpses_vaDgPzzNtg'@'localhost') does not exist
[11:55:59 16] Native: -2147467259
[11:55:59 16] Source: MySql.Data
[11:55:59 16] StackTrace:    at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
   at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
   at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
   at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
   at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
   at PRoConEvents.CChatGUIDStatsLogger.LogChat(String strSpeaker, String strMessage, String strType)
[11:55:59 16] [Statslogger]Error: LogChat_2: System.NullReferenceException: Object reference not set to an instance of an object.
   at PRoConEvents.CChatGUIDStatsLogger.DisplayMySqlErrorCollection(MySqlException myException)
   at PRoConEvents.CChatGUIDStatsLogger.LogChat(String strSpeaker, String strMessage, String strType)
any idea whats causing it ?
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

I get this error across all 5 of my layers

 

4 layers with one host

1 layer with 1 host

all sharing same database

all using latest version of chat logger and adkats

 

Code:

[11:55:59 16] [Statslogger]Error: LogChat: 
[11:55:59 16] Message: The user specified as a definer ('cpses_vaDgPzzNtg'@'localhost') does not exist
[11:55:59 16] Native: -2147467259
[11:55:59 16] Source: MySql.Data
[11:55:59 16] StackTrace:    at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
   at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
   at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
   at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
   at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
   at PRoConEvents.CChatGUIDStatsLogger.LogChat(String strSpeaker, String strMessage, String strType)
[11:55:59 16] [Statslogger]Error: LogChat_2: System.NullReferenceException: Object reference not set to an instance of an object.
   at PRoConEvents.CChatGUIDStatsLogger.DisplayMySqlErrorCollection(MySqlException myException)
   at PRoConEvents.CChatGUIDStatsLogger.LogChat(String strSpeaker, String strMessage, String strType)
any idea whats causing it ?
As the error shows, the username you provided at localhost does not exist. Are you sure the host is localhost?
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by p19blo*:

 

As the error shows, the username you provided at localhost does not exist. Are you sure the host is localhost?

the host isnt put in as local host and that user isnt the user for the database or the name ive put into the logger i have no idea where that username comes from
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by p19blo*:

 

i have vps with HG yet get this when testing a connection

 

InnerException: MySql.Data.MySqlClient.MySqlException: Access denied for user 'vanucci'@'t226.topaz.fastwebserver.de' (using password: YES)

 

Now its the t226.topaz.fastwebserver.de im finding confusing as that isnt my domain or on the vps

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

Originally Posted by ty_ger07*:

 

i have vps with HG yet get this when testing a connection

 

InnerException: MySql.Data.MySqlClient.MySqlException: Access denied for user 'vanucci'@'t226.topaz.fastwebserver.de' (using password: YES)

 

Now its the t226.topaz.fastwebserver.de im finding confusing as that isnt my domain or on the vps

What host name have you entered? Note:if you type 'localhost', it will use the address of the procon layer machine which is almost certainly incorrect.
* 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.
Note: Your post will require moderator approval before it will be visible.

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.