Jump to content

Chat, GUID, Stats and Mapstats Logger [1.0.0.3]


ColColonCleaner

Recommended Posts

Originally Posted by ColColonCleaner*:

 

Agreed. Do not change the server ID unless you want to stop using and possibly screw up all the old information.

This.

 

While it may look nicer to have just ID 1 if you only have 1 server, that ID is connected deeply with a lot of player stats.

 

I should change those foreign keys in the statistics table to cascade on delete instead of no action so it knows to delete the statistics for deleted servers. Didn't expect people needing to completely clear out whole servers worth of data.

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

Originally Posted by Smellblood95*:

 

Hello,

 

Recently I got my second BF3 server up and running. I already had one with the plugin Chat, GUID, Stats and Mapstats Logger on it. For the use of this plugin I also have a MYSQL Database.

However, now I have a second server and I want to do the same that I have on my other server. Is it a good idea to use the same MYSQL Database for another BF3 server?

And if so, how can I be assured that it wont take over the old tables, but uses new tables for new stats?

 

I hope someone can enlighten me on this, as I am not that experienced with databases.

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

Originally Posted by HitchItch*:

 

How can I filter out all of the ID_CHAT? from the Chat log of our Stats page?

We recently setup a new stats page, Our Old stats page had all of the chat filtered out. Unfortunately I cannot recall what I put in the chatlog filter regex string array. I thought it was ^ID_CHAT?[A-Z_/] $

That does not seem to work.

 

Thanks for any help

Hitch

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

Originally Posted by ty_ger07*:

 

How can I filter out all of the ID_CHAT? from the Chat log of our Stats page?

We recently setup a new stats page, Our Old stats page had all of the chat filtered out. Unfortunately I cannot recall what I put in the chatlog filter regex string array. I thought it was ^ID_CHAT?[A-Z_/] $

That does not seem to work.

 

Thanks for any help

Hitch

Post #3:

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

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

Originally Posted by Cmdr-Bestia*:

 

@ty_ger07

Just a question. Your files doesn't have an image for the new maps (Zavod night, operation outbreak, and the upcoming Dragon Valley) How can it be added sow they show an image on the webpage? Which files must be edited?

Thanks

@ty_ger07, I have also another question. On the home page and the leaderboard page, I don´t want it to show the HEADSHOT/KILLS stats, instead, I want it to show the score per minute stats. What do I need to change in order of get this stat shown on the page?

Thanks

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

Originally Posted by ty_ger07*:

 

@ty_ger07, I have also another question. On the home page and the leaderboard page, I don´t want it to show the HEADSHOT/KILLS stats, instead, I want it to show the score per minute stats. What do I need to change in order of get this stat shown on the page?

Thanks

Please ask in the correct thread. This thread is for XpKiller's stats logging plugin. The stats webpage thread is in the Plugin Enhancements section of the forum.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by doubter13*:

 

hi guys, i tried the search but could not find an answer so i try it here:

i am running a BF4 Server at gamed.de with procon and an SQL DB that is also hosted at gamed.de

when i first tried to run the stats plugin it would not connect and i had them change the whitelist.

Now it starts without any errors, but i don't get data in all the tables

only in tbl_Mapstats, tbl_playerdata, tbl_server, tbl_weapons, tbl_sessions,

 

therefore all the in game commands are not working and always suggest to play a round to get data

 

the only command that works is !session

 

I also noticed and error in the tel_server stats in phpmyadmin:

"The indexes PRIMARY and fk_tbl_server_stats_tbl_server seem to be equal and one of them could possibly be removed."

but don't think this is related.

when i set the log to trace i see a lot of message related to the weapons, but no errors.

 

Any Ideas?

 

maybe the roster is still to blame?

 

here is what i already tried:

restart procon server

restart bf4 server

drop DB and have Plugin recreate it again

 

oh and i see some info when i use the stats webpage, but this just confirms what i see in the DB

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

Originally Posted by underdoxnl*:

 

Hello,

 

I tried the search but could not find an answer so i try it here, i get the following error:

 

Code:

[12:39:19 47] Error in Tablebuilder: 
[12:39:19 47] Message: All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead
[12:39:19 47] Native: -2147467259
[12:39:19 47] Source: MySql.Data
[12:39:19 47] 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.tablebuilder()
[12:39:19 47] Error: System.NullReferenceException: Object reference not set to an instance of an object.
   at PRoConEvents.CChatGUIDStatsLogger.DisplayMySqlErrorCollection(MySqlException myException)
   at PRoConEvents.CChatGUIDStatsLogger.tablebuilder()
But the tables are created on the database:

https://i.gyazo.com/814291f2cb25929a...cd3d1c92c1.png

 

So what give this error and is there a way to fix it?

 

Thanks

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

Originally Posted by ty_ger07*:

 

Hello,

 

I tried the search but could not find an answer so i try it here, i get the following error:

 

Code:

[12:39:19 47] Error in Tablebuilder: 
[12:39:19 47] Message: All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead
[12:39:19 47] Native: -2147467259
[12:39:19 47] Source: MySql.Data
[12:39:19 47] 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.tablebuilder()
[12:39:19 47] Error: System.NullReferenceException: Object reference not set to an instance of an object.
   at PRoConEvents.CChatGUIDStatsLogger.DisplayMySqlErrorCollection(MySqlException myException)
   at PRoConEvents.CChatGUIDStatsLogger.tablebuilder()
But the tables are created on the database:

https://i.gyazo.com/814291f2cb25929a...cd3d1c92c1.png

 

So what give this error and is there a way to fix it?

 

Thanks

Use an older version of MySQL database. XpKiller's plugin code was written when the not null constraint was implicitly added automatically to primary keys by the MySQL database engine. Since then, MySQL has decided that it must be explicitly stated in the code and they will no longer implicitly add it automatically.

 

In other words, XpKiller's code needs a small rewrite for modern times. But since XpKiller hasn't shown himself here for a long time, your best bet is to use and an older version of MySQL (older than version 5.7.3).

https://github.com/rails/rails/issues/13203

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

Originally Posted by ColColonCleaner*:

 

Use an older version of MySQL database. XpKiller's plugin code was written when the not null constraint was implicitly added automatically to primary keys by the MySQL database engine. Since then, MySQL has decided that it must be explicitly stated in the code and they will no longer implicitly add it automatically.

 

In other words, XpKiller's code needs a small rewrite for modern times. But since XpKiller hasn't shown himself here for a long time, your best bet is to use and older version of MySQL (older than version 5.7.3).

https://github.com/rails/rails/issues/13203

I should really take this plugin on for updates, but it's difficult to commit to that with my limited time :sad:
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by doubter13*:

 

me again, i tried resetting everything and starting over and no i got the following error

 

[17:05:31 39] [statslogger]Error: Error in Startstreaming:

[17:05:31 39] Message: Cannot add or update a child row: a foreign key constraint fails (`s951609`.`tbl_server_player`, CONSTRAINT `fk_tbl_server_player_tbl_server` FOREIGN KEY (`ServerID`) REFERENCES `tbl_server` (`ServerID`) ON DELETE CASCADE ON UPDATE NO ACTION)

[17:05:31 39] Native: -2147467259

[17:05:31 39] Source: MySql.Data

[17:05:31 41] StackTrace: bei MySql.Data.MySqlClient.MySqlStream.ReadPacket()

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

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

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

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

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

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

bei PRoConEvents.CChatGUIDStatsLogger.StartStreaming()

[17:05:31 41] [statslogger]Info: Connection MySqlConn closed

[17:05:31 41] [statslogger]Error: Error in Startstreaming OuterException: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

bei PRoConEvents.CChatGUIDStatsLogger.DisplayMySqlErro rCollection(MySqlException myException)

bei PRoConEvents.CChatGUIDStatsLogger.StartStreaming()

 

any ideas?

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

Originally Posted by ty_ger07*:

 

"resetting everything and starting over" means what? You deleted the plugin, re-added the pugin, and didn't change anything in the database? You deleted all the data in the database? You deleted the database? You started a new database?

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

Originally Posted by doubter13*:

 

sorry i had to be more precise, my bad:

i reinstalled the BF4 server

i Reinstalled the Procon server

i clean out all ftp locations before reinstalling

i set up the bf4 server wit startup and amplest

i setup procon with basic plugins

is deleted all tables in my bf4 DB

i restarted the statsplugin and all the tables were created however at the end of a round i believe i got the error message

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

Originally Posted by underdoxnl*:

 

Use an older version of MySQL database. XpKiller's plugin code was written when the not null constraint was implicitly added automatically to primary keys by the MySQL database engine. Since then, MySQL has decided that it must be explicitly stated in the code and they will no longer implicitly add it automatically.

 

In other words, XpKiller's code needs a small rewrite for modern times. But since XpKiller hasn't shown himself here for a long time, your best bet is to use and an older version of MySQL (older than version 5.7.3).

https://github.com/rails/rails/issues/13203

Thank you for the response. I have change my mysql to 5.6 and that ha fix the error only now i have a problem that:

 

The tabels here below are empty the rest of the tabel's is full whit information:

 

tbl_mapstats

tbl_dogtags

tbl_playerstats

tbl_server

tbl_server_player

tbl_server_stats

tbl_sessions

tbl_weapons_stats

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

Originally Posted by ty_ger07*:

 

Thank you for the response. I have change my mysql to 5.6 and that ha fix the error only now i have a problem that:

 

The tabels here below are empty the rest of the tabel's is full whit information:

 

tbl_mapstats

tbl_dogtags

tbl_playerstats

tbl_server

tbl_server_player

tbl_server_stats

tbl_sessions

tbl_weapons_stats

Which game are you setting up? Which plugin version are you using?
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

Game is: Battlefield 4

Plugin version: 1.0.0.2

I would recommend disabling this plugin, deleting all the tables and all the table contents in the database, and then enabling this plugin again.

 

Most tables will stay empty until a full round in the server has been completed, but the tbl_server table should populate with data before a round is played, I believe.

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

Originally Posted by underdoxnl*:

 

I would recommend disabling this plugin, deleting all the tables and all the table contents in the database, and then enabling this plugin again.

 

Most tables will stay empty until a full round in the server has been completed, but the tbl_server table should populate with data before a round is played, I believe.

thanks for you reply.

 

I have disable the plugin and drop all the tables. Then i have enable the plugin but still the server table is empty

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

Originally Posted by ty_ger07*:

 

thanks for you reply.

 

I have disable the plugin and drop all the tables. Then i have enable the plugin but still the server table is empty

Play a whole round in the server from start to finish. Not in warm-up mode and not with admin map changes or forced round ending. The server needs to be ranked (not unranked!) with enough players for ranked gameplay to start and you need to play at least one full round from start to finish with a natural start and a natural finish. Then see if it is working.

 

This plugin does not work for unranked/scrim servers.

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

Originally Posted by underdoxnl*:

 

Play a whole round in the server from start to finish. Not in warm-up mode and not with admin map changes or forced round ending. The server needs to be ranked (not unranked!) with enough players for ranked gameplay to start and you need to play at least one full round from start to finish with a natural start and a natural finish. Then see if it is working.

Thanks, this whas working for me.

 

Attached Files:

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

Originally Posted by v0dk4*:

 

My problem it's very similar to underdoxnl's problem.

The plugin saves information in many tables, but in "tbl_playerstats" doesn't have any information.

It's a Battlefield 3 server, 1.0.0.2 version.

PS: There are other tables that do not have information as well.It is not only the "tbl_playerstats".

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

Originally Posted by flyingtucunare*:

 

I'm getting this error:

 

Code:

[07:57:04 20] [Statslogger]Error: SQLQuery:
[07:57:04 20] Message: Unable to connect to any of the specified MySQL hosts.
[07:57:04 20] Native: -2147467259
[07:57:04 20] Source: MySql.Data
[07:57:04 20] StackTrace:    at MySql.Data.MySqlClient.NativeDriver.Open()
   at MySql.Data.MySqlClient.Driver.Open()
   at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
   at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
   at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
   at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
   at MySql.Data.MySqlClient.MySqlPool.GetConnection()
   at MySql.Data.MySqlClient.MySqlConnection.Open()
   at System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState)
   at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
   at PRoConEvents.CChatGUIDStatsLogger.SQLquery(MySqlCommand selectQuery)
[07:57:04 20] InnerException: System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 192.168.0.201:3306
   at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
   at MySql.Data.Common.StreamCreator.CreateSocketStream(IPAddress ip, Boolean unix)
   at MySql.Data.Common.StreamCreator.GetStreamFromHost(String pipeName, String hostName, UInt32 timeout)
   at MySql.Data.Common.StreamCreator.GetStream(UInt32 timeout)
   at MySql.Data.MySqlClient.NativeDriver.Open()
[07:57:05 82] [Statslogger]Error: Error in GetGameIDfromDB: 
[07:57:05 82] Message: Duplicate entry 'BF4' for key 'name_unique'
[07:57:05 82] Native: -2147467259
[07:57:05 82] Source: MySql.Data
[07:57:05 82] 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.GetGameIDfromDB(String strGame)
[07:57:05 82] Error: System.NullReferenceException: Object reference not set to an instance of an object.
   at PRoConEvents.CChatGUIDStatsLogger.DisplayMySqlErrorCollection(MySqlException myException)
   at PRoConEvents.CChatGUIDStatsLogger.GetGameIDfromDB(String strGame)
   at PRoConEvents.CChatGUIDStatsLogger.tablebuilder()
[07:57:05 83] Error: System.InvalidOperationException: Transaction has already been rolled back or is not pending
   at MySql.Data.MySqlClient.MySqlTransaction.Rollback()
   at PRoConEvents.CChatGUIDStatsLogger.tablebuilder()
Someone can please help me ?

 

Thanks

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

Originally Posted by ty_ger07*:

 

I'm getting this error:

 

Code:

[07:57:04 20] [Statslogger]Error: SQLQuery:
[07:57:04 20] Message: Unable to connect to any of the specified MySQL hosts.
[07:57:04 20] Native: -2147467259
[07:57:04 20] Source: MySql.Data
[07:57:04 20] StackTrace:    at MySql.Data.MySqlClient.NativeDriver.Open()
   at MySql.Data.MySqlClient.Driver.Open()
   at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
   at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
   at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
   at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
   at MySql.Data.MySqlClient.MySqlPool.GetConnection()
   at MySql.Data.MySqlClient.MySqlConnection.Open()
   at System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState)
   at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
   at PRoConEvents.CChatGUIDStatsLogger.SQLquery(MySqlCommand selectQuery)
[07:57:04 20] InnerException: System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 192.168.0.201:3306
   at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
   at MySql.Data.Common.StreamCreator.CreateSocketStream(IPAddress ip, Boolean unix)
   at MySql.Data.Common.StreamCreator.GetStreamFromHost(String pipeName, String hostName, UInt32 timeout)
   at MySql.Data.Common.StreamCreator.GetStream(UInt32 timeout)
   at MySql.Data.MySqlClient.NativeDriver.Open()
[07:57:05 82] [Statslogger]Error: Error in GetGameIDfromDB: 
[07:57:05 82] Message: Duplicate entry 'BF4' for key 'name_unique'
[07:57:05 82] Native: -2147467259
[07:57:05 82] Source: MySql.Data
[07:57:05 82] 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.GetGameIDfromDB(String strGame)
[07:57:05 82] Error: System.NullReferenceException: Object reference not set to an instance of an object.
   at PRoConEvents.CChatGUIDStatsLogger.DisplayMySqlErrorCollection(MySqlException myException)
   at PRoConEvents.CChatGUIDStatsLogger.GetGameIDfromDB(String strGame)
   at PRoConEvents.CChatGUIDStatsLogger.tablebuilder()
[07:57:05 83] Error: System.InvalidOperationException: Transaction has already been rolled back or is not pending
   at MySql.Data.MySqlClient.MySqlTransaction.Rollback()
   at PRoConEvents.CChatGUIDStatsLogger.tablebuilder()
Someone can please help me ?

 

Thanks

It says right in the error message what is wrong. How do you want us to help?

 

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 192.168.0.201:3306

Where is your database being hosted? Where is your procon layer running?
* 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.