Jump to content

Chat, GUID, Stats and Mapstats Logger[1.1.0.1][BF3]


ImportBot

Recommended Posts

Originally Posted by Jamesonp*:

 

Thanks for the suggestion. I dropped the entire db and recreated it and it still crashes with the same error. I'm not exactly sure what would have caused the issues to suddenly occur.

* Restored post. It could be that the author is no longer active.
Link to comment
  • Replies 1.9k
  • Created
  • Last Reply

Top Posters In This Topic

  • ImportBot

    1934

Originally Posted by Jamesonp*:

 

It just dawned on me, one of the players in the server was reporting a 3 character CountryCode the entire time I was trying to trouble shoot this issue. I replaced the geoip db and restarted Procon. Bam, problem solved.

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

Originally Posted by Kinsman*:

 

Our table "Serverstats" seems to have become static. its stuck at 7,396 players, whereas we are actually close to 8000 players now. I have no idea why its stopped updating?

 

This shows the result from the table.

 

http://jw.servegame.org/stats/index....rverstats=View

 

whereas in reality there are 7792 players.

 

http://www.jw.servegame.org/bf3stats/

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

Originally Posted by Jamesonp*:

 

[17:33:00 22] Error: Error in Startstreaming:

[17:33:00 22] Message: Data too long for column 'CountryCode' at row 1

[17:33:00 22] Native: -2147467259

[17:33:00 22] Source: MySql.Data

[17:33:00 22] 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.CChatGUIDStatsLoggerBF3.StartStreamin g()

 

[17:33:04 34] Error: Error in Startstreaming OuterException: System.NullReferenceException: Object reference not set to an instance of an object.

at PRoConEvents.CChatGUIDStatsLoggerBF3.DisplayMySqlE rrorCollection(MySqlException myException)

at PRoConEvents.CChatGUIDStatsLoggerBF3.StartStreamin g()

 

Once again, I've noticed it crashes when a player whose countrycode shows up as "N/A" due to it not being in the GeoIP.dat. Can anyone suggest a fix for this?

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

Originally Posted by BTFU_Maverick*:

 

Weve been having the same issue on our servers. 5 different servers run this plugin. The 3 main ones that become fully populated are the ones that have this issue. One of those servers does not list country codes, the other two do. None of the listed entries include the country code 'N/A'. Ive tried repairing and optimizing the database, truncated the CurrentPlayers table as suggested, increased the database connections, all to no avail. Im out of ideas... the only thing I havent tried is to wipe the database tables and let the plugin recreate the tables (though it sounds like another user tried this without success). Any further suggestions?

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

Originally Posted by Jamesonp*:

 

he only thing I havent tried is to wipe the database tables and let the plugin recreate the tables

It doesn't work. Been there, tried that. It's got to be a bug with the way the plugin checks for the CountryCode and submits it to MySQL. I don't have the resources to go through all 8500 lines of code and decipher someone else's coding. Maybe the devs can step in and shed some light on a fix.

 

I've even tried increasing the VARCHAR character limit to 5 on the table structure to allow for the "N/A" to be inserted but it still throws an error and crashes.

 

Edit:

 

Ok, so the fix is to set both the table playerdata and currentplayers CountryCode VARCHAR limit to 7+. What happens when a player is not in the GeoIP.dat file, is the plugin logs the CountryCode as unknown. Obviously originally setting the field to allow only 5 chars didn't work because the word unknown has 7 letters therefore causing the plugin to throw the error. See here:

 

http://i.imgur.com/J4uuC7G.jpg

 

Hope this helps.

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

Originally Posted by BTFU_Maverick*:

 

Will give the fix a try and report back.

 

EDIT: So far since Ive made that fix I havent seen anything bork out our procons and I havent had anyone complain. I think you may be on to something Jamesonp. Good find.

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

Originally Posted by Jamesonp*:

 

EDIT: So far since Ive made that fix I havent seen anything bork out our procons and I havent had anyone complain. I think you may be on to something Jamesonp. Good find.

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

Originally Posted by TMiland*:

 

I am getting this error:

[15:37:35] Error: getUpdateServerID1: System.OverflowException: Arithmetic operation resulted in an overflow.

at MySql.Data.MySqlClient.Authentication.MySqlAuthent icationPlugin.HandleAuthChange(MySqlPacket packet)

at MySql.Data.MySqlClient.Authentication.MySqlAuthent icationPlugin.Authenticate(Boolean reset)

at MySql.Data.MySqlClient.NativeDriver.Authenticate(S tring authMethod, Boolean reset)

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

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

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

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

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

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

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

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

at PRoConEvents.CChatGUIDStatsLoggerBF3.getUpdateServ erID(CServerInfo csiServerInfo)

[15:37:36] Error: System.OverflowException: Arithmetic operation resulted in an overflow.

at MySql.Data.MySqlClient.Authentication.MySqlAuthent icationPlugin.HandleAuthChange(MySqlPacket packet)

at MySql.Data.MySqlClient.Authentication.MySqlAuthent icationPlugin.Authenticate(Boolean reset)

at MySql.Data.MySqlClient.NativeDriver.Authenticate(S tring authMethod, Boolean reset)

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

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

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

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

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

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

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

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

at PRoConEvents.CChatGUIDStatsLoggerBF3.tablebuilder( )

[15:37:36] Error: System.NullReferenceException: Object reference not set to an instance of an object.

at PRoConEvents.CChatGUIDStatsLoggerBF3.tablebuilder( )

Any ideas whats wrong?
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

I am getting this error:

Code:

[15:37:35] Error: getUpdateServerID1: System.OverflowException: Arithmetic operation resulted in an overflow.
Any ideas whats wrong?
This is due to Connector/NET 6.6 dropping support for "old style" password authentication. Make sure your database password authentication is changed to not use old style authentication.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by TMiland*:

 

This is due to Connector/NET 6.6 dropping support for "old style" password authentication. Make sure your database password authentication is changed to not use old style authentication.

I have this

default-table-type=innodb

 

old_passwords=0

in my.cnf, and database is restarted...
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

I have this in my.cnf, and database is restarted...

If you originally set the password with old_passwords=1, once you set old_passwords=0, you still need to change the password for the new password hash to be used. Just changing away from old_passwords does not fix the issue since the password is not rehashed until the password is changed. The hash lengths are different and that is what causes the arithmetic operation error.

 

If you aren't sure if you correctly disabled old_passwords, run this query once you are connected to the database:

SELECT @@session.old_passwords, @@global.old_passwords;

The query results should be 0 and 0 which means that old_passwords are disabled for this session and globally.

 

 

Then, change your user password to rehash it in the longer new hash by running this query:

SET PASSWORD FOR 'user-name-here'@'hostname-name-here' = PASSWORD('new-password-here');

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

Originally Posted by TMiland*:

 

If you originally set the password with old_passwords=1, once you set old_passwords=0, you still need to change the password for the new password hash to be used. Just changing away from old_passwords does not fix the issue since the password is not rehashed until the password is changed. The hash lengths are different and that is what causes the arithmetic operation error.

 

If you aren't sure if you correctly disabled old_passwords, run this query once you are connected to the database:

 

The query results should be 0 and 0 which means that old_passwords are disabled for this session and globally.

 

 

Then, change your user password to rehash it in the longer new hash by running this query:

I got 0 and 0, ran the query, but still the same... Hmmm this is weird!

 

*edit

It seems i have got double up with users, i have moved from a reseller to a vps last week, and on the reseller i had username_username and if i put in just username now, everything works perfectly on a hostgator vps with centos 5.9! :-)

 

Thanks for your help! Much appreciated! :-D

 

*Edit2

Are there any php scripts for easy chat and playername search from the data saved in the db?

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

Originally Posted by ty_ger07*:

 

Alternatively,

 

here:

myrcon.net/.../bf4-stats-page-for-bf4-procon-chat-guid-stats-and-mapstats-logger

 

and here:

myrcon.net/.../bf4-stats-page-for-bf4-procon-chat-guid-stats-and-mapstats-logger

 

While there are numerous stats page rivals, my chat page (second link) has no current rival.

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

Originally Posted by TMiland*:

 

Thank you both for the scripts! :-) But i cannot get anything to work...

 

I am receiving this error:

[15:20:11 48] Message: Cannot add or update a child row: a foreign key constraint fails (`bf3log`.`tbl_server_player`, CONSTRAINT `fk_tbl_server_player_tbl_server` FOREIGN KEY (`ServerID`) REFERENCES `tbl_server` (`ServerID`) ON DELETE CASCADE ON UPDATE NO ACTION)

[15:20:11 48] Native: -2147467259

[15:20:11 49] Source: MySql.Data

[15:20:11 49] 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.CChatGUIDStatsLoggerBF3.StartStreamin g()

[15:20:11 66] [server Kills] Ace Squad - Turboneger1974, TehEnCore, NecroDhalia, & p-sSPOTTARN in Alpha Squad on Team Attackers with 23022 points!

[15:20:15 50] [server Kills] kimtap has just ended his life with a Suicide! R.I.P Soldier!

[15:20:18 39] Error: Error in Startstreaming OuterException: System.NullReferenceException: Object reference not set to an instance of an object.

at PRoConEvents.CChatGUIDStatsLoggerBF3.DisplayMySqlE rrorCollection(MySqlException myException)

at PRoConEvents.CChatGUIDStatsLoggerBF3.StartStreamin g()

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

Originally Posted by ty_ger07*:

 

Thank you both for the scripts! :-) But i cannot get anything to work...

 

I am receiving this error:

I *think* that usually happens because of a table build error where an unsuccessful plugin startup built some tables but not all tables. If the database is empty, I would just delete the database and try creating a new one and this time make sure the plugin is loaded cleanly.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by utopiate*:

 

hey chaps, a few months back I enquired about support for warfighter, the response was that the plugin would eventually support more games so I was just wondering if there has been any progress on this?

 

Maybe support could be added for a decent donation? :ohmy:

 

cheers utopiate

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

Originally Posted by BTFU_Maverick*:

 

Thank you both for the scripts! :-) But i cannot get anything to work...

 

I am receiving this error:

I had that same issue one time when we migrated our database from one provider to another. In doing so I decided I was going to wipe the stats stuff and rebuild and somehow I renamed or moved a table that shouldnt have been moved and made a foreign key (where one table uses a column in another table as its reference for unique identifiers). I had to go into the information schema database and delete the foreign key (or maybe just point it at the proper table, cant remember). But like the other guy said, if your database is empty... just trash the whole database. I spent several hours tracking that down lol.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by static*:

 

I have run into a strange issue, have tried searching the thread to see if there is a resolution for it but have not found one.

 

I am running;

Procon - 1.4.0.9

BF3 Chat, GUID, Stats and Map Logger - 1.1.0.1

 

I have a XP 32bit virtual on a server which runs Procon as a service. I now while setting this plugin up I am running run Procon on the desktop of the virtual to manage.

 

When i join the game server I get the Welcome messages twice, each line repeated before the next line i.e.

Welcome to our server... 4sec

Welcome to our server... 4sec

Your rank on this server... 4sec

Your rank on this server... 4sec

next line... 4sec

next line... 4sec

etc..

 

If I connect to the layer on the virtual from my desktop and manage it, the Welcome messages are only played once.

 

Was ondering if anyone has noticed this and if there is a workaround as I usually use the instance on the virtual to manage the server while I am in game.

 

Edit: Also just noticed that it was also adding the chat messages twice.

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

Originally Posted by KamelMitLocken*:

 

Hope someone can help me out with a question here!

In would like to delete 2 entries from the database (2 players fellow admin and me) but I'm not sure from which tables I need to delete the entries or is there a primary master table from which I can delete the entries and they will get kicked out in allthe other tables?

 

Hmm..hope you understand my question :tongue: Not sure jow else to put it.

 

Thanks in advance!

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

Originally Posted by Stixx*:

 

DELETE FROM tbl_playerdata WHERE SoldierName = KamelMitLocken;

 

but not recommanded because, maybe error in the searching in the database by the stats's webinterface

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

Originally Posted by Berndel*:

 

is there an way to log players when there are kicked from the server ? maybe in to the tbl_playerstats and or tbl_playerdata ?

then we can see how many time an player is kicked from an server.

 

thanks for help Berndel

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

Originally Posted by Tomgun*:

 

ok ive tried looking though all the posts here before I posted to see if I could see the help I needed, but cant.. so this is what I get

 

[10:28:47 83] Error: System.OverflowException: Arithmetic operation resulted in an overflow.

at MySql.Data.MySqlClient.Authentication.MySqlAuthent icationPlugin.HandleAuthChange(MySqlPacket packet)

at MySql.Data.MySqlClient.Authentication.MySqlAuthent icationPlugin.Authenticate(Boolean reset)

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

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

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

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

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

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

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

at PRoConEvents.CChatGUIDStatsLoggerBF3.tablebuilder( )

[10:28:47 83] Error: System.NullReferenceException: Object reference not set to an instance of an object.

at PRoConEvents.CChatGUIDStatsLoggerBF3.tablebuilder( )

[10:28:48 33] Error: getUpdateServerID1: System.OverflowException: Arithmetic operation resulted in an overflow.

at MySql.Data.MySqlClient.Authentication.MySqlAuthent icationPlugin.HandleAuthChange(MySqlPacket packet)

at MySql.Data.MySqlClient.Authentication.MySqlAuthent icationPlugin.Authenticate(Boolean reset)

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

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

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

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

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

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

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

at PRoConEvents.CChatGUIDStatsLoggerBF3.getUpdateServ erID(CServerInfo csiServerInfo)

Ive set the tool-options-plugins to sandbox and put in the server address to allow it, and tickets the OBDC box.

 

now does anyone know a working free host that I can use as I cant see to get this to work

 

cheers

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

Originally Posted by ty_ger07*:

 

ok ive tried looking though all the posts here before I posted to see if I could see the help I needed, but cant.. so this is what I get

 

 

 

Ive set the tool-options-plugins to sandbox and put in the server address to allow it, and tickets the OBDC box.

 

now does anyone know a working free host that I can use as I cant see to get this to work

 

cheers

Check this out:

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

 

and this page:

showthread....-0-BF3/page170*

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

Originally Posted by Tomgun*:

 

done all that stuff but still getting

 

Error: System.OverflowException: Arithmetic operation resulted in an overflow.

at MySql.Data.MySqlClient.Authentication.MySqlAuthent icationPlugin.HandleAuthChange(MySqlPacket packet)

at MySql.Data.MySqlClient.Authentication.MySqlAuthent icationPlugin.Authenticate(Boolean reset)

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

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

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

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

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

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

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

at PRoConEvents.CChatGUIDStatsLoggerBF3.tablebuilder( )

[10:28:47 83] Error: System.NullReferenceException: Object reference not set to an instance of an object.

at PRoConEvents.CChatGUIDStatsLoggerBF3.tablebuilder( )

[10:28:48 33] Error: getUpdateServerID1: System.OverflowException: Arithmetic operation resulted in an overflow.

at MySql.Data.MySqlClient.Authentication.MySqlAuthent icationPlugin.HandleAuthChange(MySqlPacket packet)

at MySql.Data.MySqlClient.Authentication.MySqlAuthent icationPlugin.Authenticate(Boolean reset)

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

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

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

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

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

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

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

at PRoConEvents.CChatGUIDStatsLoggerBF3.getUpdateServ erID(CServerInfo csiServerInfo)

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