Jump to content

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


ImportBot

Recommended Posts

  • Replies 1.9k
  • Created
  • Last Reply

Top Posters In This Topic

  • ImportBot

    1934

Originally Posted by SnotGoblin*:

 

Warning: PrepareKeywordDic: Mainkey death not found!

 

Keep getting this warning from the stats plugin... Can't find anything on here about it

 

I have tried re-installing, but still get this warning message.

Is this normal and should be ignored?

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

Originally Posted by jking54*:

 

I'm getting this error now after a successful run for a few days:

 

[12:45:10 97] Error in Tablebuilder:

[12:45:10 98] Message: Host 'host-174-45-109-248.bzm-mt.client.bresnan.net' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

[12:45:10 98] Native: -2147467259

[12:45:10 98] Source: MySql.Data

[12:45:10 98] StackTrace: at MySql.Data.MySqlClient.MySqlStream.ReadPacket()

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( )

[12:45:10 99] Error: System.NullReferenceException: Object reference not set to an instance of an object.

at PRoConEvents.CChatGUIDStatsLoggerBF3.DisplayMySqlE rrorCollection(MySqlException myException)

at PRoConEvents.CChatGUIDStatsLoggerBF3.tablebuilder( )

[12:45:11 06] Error: getUpdateServerID1: MySql.Data.MySqlClient.MySqlException: Host 'host-174-45-109-248.bzm-mt.client.bresnan.net' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

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

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)

[12:45:30 00] BF3 Chat, GUID and Stats Logger Disabled

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

Originally Posted by ColColonCleaner*:

 

I'm getting this error now after a successful run for a few days:

 

[12:45:10 97] Error in Tablebuilder:

[12:45:10 98] Message: Host 'host-174-45-109-248.bzm-mt.client.bresnan.net' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

[12:45:10 98] Native: -2147467259

[12:45:10 98] Source: MySql.Data

[12:45:10 98] StackTrace: at MySql.Data.MySqlClient.MySqlStream.ReadPacket()

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( )

[12:45:10 99] Error: System.NullReferenceException: Object reference not set to an instance of an object.

at PRoConEvents.CChatGUIDStatsLoggerBF3.DisplayMySqlE rrorCollection(MySqlException myException)

at PRoConEvents.CChatGUIDStatsLoggerBF3.tablebuilder( )

[12:45:11 06] Error: getUpdateServerID1: MySql.Data.MySqlClient.MySqlException: Host 'host-174-45-109-248.bzm-mt.client.bresnan.net' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

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

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)

[12:45:30 00] BF3 Chat, GUID and Stats Logger Disabled

This might help: http://dev.mysql.com/doc/refman/5.0/...cked-host.html
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by nazzeth*:

 

Hey guys,

 

Had a couple of issues that lead to this one so I'll give a quick backstory.

 

Was getting an error regarding the MySQL Auth type, so spoke with a Tech at the Host and got a special user account setup. Apparently they don't allow a big change on shared hosting there.

 

Following that I've been getting a new error, that to me seems like its an Auth error, but the tech insists from reading the error it is app based. So I'm guessing I've stuffed something up in the config.

 

Error report: (Removed IP of Hosted Procon for security)

Code:

MySql.Data.MySqlClient.MySqlException: Authentication to host 'ub3r.us' for user 'astecsol_user' using method 'mysql_native_password' failed with message: Access denied for user 'astecsol_user'@'*.*.*.*' (using password: YES) ---> MySql.Data.MySqlClient.MySqlException: Access denied for user 'astecsol_user'@'*.*.*.*' (using password: YES)
The Procon server has been added to the Remote Hosts list for MySQL

The ub3r.us host has been added to the Allowed hosts in Procon settings

 

Personally to me that reads as a Failed Login, but perhaps I'm mistaken. Any recommendations?

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

Originally Posted by mainedan*:

 

Hey guys,

 

Had a couple of issues that lead to this one so I'll give a quick backstory.

 

Was getting an error regarding the MySQL Auth type, so spoke with a Tech at the Host and got a special user account setup. Apparently they don't allow a big change on shared hosting there.

 

Following that I've been getting a new error, that to me seems like its an Auth error, but the tech insists from reading the error it is app based. So I'm guessing I've stuffed something up in the config.

 

Error report: (Removed IP of Hosted Procon for security)

Code:

MySql.Data.MySqlClient.MySqlException: Authentication to host 'ub3r.us' for user 'astecsol_user' using method 'mysql_native_password' failed with message: Access denied for user 'astecsol_user'@'*.*.*.*' (using password: YES) ---> MySql.Data.MySqlClient.MySqlException: Access denied for user 'astecsol_user'@'*.*.*.*' (using password: YES)
The Procon server has been added to the Remote Hosts list for MySQL

The ub3r.us host has been added to the Allowed hosts in Procon settings

 

Personally to me that reads as a Failed Login, but perhaps I'm mistaken. Any recommendations?

I had the same problem, the host had to set a 41byte hash for the password, could not do it myself on a shared host.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by nazzeth*:

 

I had the same problem, the host had to set a 41byte hash for the password, could not do it myself on a shared host.

That is what the tech did for me that generated the new error:

 

Code:

(1:04:32pm)Richard W.:Our server uses the old hash, so what we can do is create a new db_user and assign it a password, then manually generate a new hash. Then you would then be able to connect with the new user using the 41byte hash I can assign. Otherwise, whatever software is using the current db_user would break, on the server. 
(1:04:48pm)Richard W.:The only other way to resolve this would be setting your connecting software to use the old password method 
(1:05:46pm)Nazzeth:I'm confused 
(1:05:50pm)Nazzeth:Sorry 
(1:06:13pm)Nazzeth:So can your unable to change to the new Authentication method, is that right_ 
(1:07:27pm)Richard W.:Can you not change the connection setting on the program_ 
(1:07:57pm)Nazzet:No, It's not possible for me to change the authentication method used by the application 
(1:09:57pm)Richard W.:Okay, one moment pleaser. 
(1:13:16pm)Richard W.:Please try this new information: 

New user is: *Removed* 
New pass is: *Removed*
The Full Error details from this are:

 

Code:

(1:17:46pm)Richard W.:Please try now :) 
(1:18:15pm)Nazzeth:Error: getUpdateServerID1: MySql.Data.MySqlClient.MySqlException: Authentication to host 'ub3r.us' for user 'username' using method 'mysql_native_password' failed with message: Access denied for user 'username'@'ProconIP' (using password: YES) ---> MySql.Data.MySqlClient.MySqlException: Access denied for user 'username'@'ProconIP' (using password: YES) 
at MySql.Data.MySqlClient.MySqlStream.ReadPacket() 
at MySql.Data.MySqlClient.NativeDriver.ReadPacket() 
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket()
--- End of inner exception stack trace --- 
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.AuthenticationFailed(Exception ex) 
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket()
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.Authenticate(Boolean reset) 
at MySql.Data.MySqlClient.NativeDriver.Authenticate(String authMethod, Boolean reset) 
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 PRoConEvents.CChatGUIDStatsLoggerBF3.getUpdateServerID(CServerInfo csiServerInfo)
EDIT: It's definitely an issue with the host, have set up a test on a personal machine and it communicates with that fine. Will continue to work with them. Thanks guys
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by p19blo*:

 

Hi

 

I am running 3 servers through this plugin and they all go to the same database,

 

the problem im getting is that only 1 server actually shows up under the servers table

 

when i have these servers under a suffix for each one, its fine, but when i dont, 2/3 dont work. yet the plugin throws no errors out.

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

Originally Posted by p19blo*:

 

I'm getting this error now after a successful run for a few days:

 

[12:45:10 97] Error in Tablebuilder:

[12:45:10 98] Message: Host 'host-174-45-109-248.bzm-mt.client.bresnan.net' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

[12:45:10 98] Native: -2147467259

[12:45:10 98] Source: MySql.Data

[12:45:10 98] StackTrace: at MySql.Data.MySqlClient.MySqlStream.ReadPacket()

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( )

[12:45:10 99] Error: System.NullReferenceException: Object reference not set to an instance of an object.

at PRoConEvents.CChatGUIDStatsLoggerBF3.DisplayMySqlE rrorCollection(MySqlException myException)

at PRoConEvents.CChatGUIDStatsLoggerBF3.tablebuilder( )

[12:45:11 06] Error: getUpdateServerID1: MySql.Data.MySqlClient.MySqlException: Host 'host-174-45-109-248.bzm-mt.client.bresnan.net' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

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

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)

[12:45:30 00] BF3 Chat, GUID and Stats Logger Disabled

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

Originally Posted by TMiland*:

 

Hello, i am receiving this error today:

 

Code:

[11:14:15 28] Error: Error in Startstreaming: 
[11:14:15 28] Message: Cannot add or update a child row: a foreign key constraint fails (`nbfclan_bf3log`.`tbl_sessions`, CONSTRAINT `fk_tbl_sessions_tbl_server_player` FOREIGN KEY (`StatsID`) REFERENCES `tbl_server_player` (`StatsID`) ON DELETE CASCADE ON UPDATE NO ACTION)
[11:14:15 28] Native: -2147467259
[11:14:15 28] Source: MySql.Data
[11:14:15 28] 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.CChatGUIDStatsLoggerBF3.StartStreaming()
[11:14:15 76] Error: Error in Startstreaming OuterException: System.NullReferenceException: Object reference not set to an instance of an object.
   at PRoConEvents.CChatGUIDStatsLoggerBF3.DisplayMySqlErrorCollection(MySqlException myException)
   at PRoConEvents.CChatGUIDStatsLoggerBF3.StartStreaming()
[11:14:24 15] 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.CChatGUIDStatsLoggerBF3.getUpdateServerID(CServerInfo csiServerInfo)
What do i do? :woot:
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by p19blo*:

 

Hello, i am receiving this error today:

 

Code:

[11:14:15 28] Error: Error in Startstreaming: 
[11:14:15 28] Message: Cannot add or update a child row: a foreign key constraint fails (`nbfclan_bf3log`.`tbl_sessions`, CONSTRAINT `fk_tbl_sessions_tbl_server_player` FOREIGN KEY (`StatsID`) REFERENCES `tbl_server_player` (`StatsID`) ON DELETE CASCADE ON UPDATE NO ACTION)
[11:14:15 28] Native: -2147467259
[11:14:15 28] Source: MySql.Data
[11:14:15 28] 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.CChatGUIDStatsLoggerBF3.StartStreaming()
[11:14:15 76] Error: Error in Startstreaming OuterException: System.NullReferenceException: Object reference not set to an instance of an object.
   at PRoConEvents.CChatGUIDStatsLoggerBF3.DisplayMySqlErrorCollection(MySqlException myException)
   at PRoConEvents.CChatGUIDStatsLoggerBF3.StartStreaming()
[11:14:24 15] 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.CChatGUIDStatsLoggerBF3.getUpdateServerID(CServerInfo csiServerInfo)
What do i do? :woot:
this is battlelog cache

 

check your settings on it

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

Originally Posted by ty_ger07*:

 

this is battlelog cache

 

check your settings on it

I don't believe it is Battlelog cache.

 

[11:14:15 28] Error: Error in Startstreaming:

[11:14:15 28] Message: Cannot add or update a child row: a foreign key constraint fails (`nbfclan_bf3log`.`tbl_sessions`, CONSTRAINT `fk_tbl_sessions_tbl_server_player` FOREIGN KEY (`StatsID`) REFERENCES `tbl_server_player` (`StatsID`) ON DELETE CASCADE ON UPDATE NO ACTION)

[11:14:15 28] Native: -2147467259

[11:14:15 28] Source: MySql.Data

[11:14:15 28] 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.StartStreaming()

Plus the table names look identical to the stats logger plugin. Battlelog cache would have to be a blatant rip-off to appear so similar.

 

 

Fixing a foreign key constraint error is a bit beyond my ability.

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

Originally Posted by p19blo*:

 

I don't believe it is Battlelog cache.

 

 

 

Plus the table names look identical to the stats logger plugin. Battlelog cache would have to be a blatant rip-off to appear so similar.

 

 

Fixing a foreign key constraint error is a bit beyond my ability.

i get exact same message and its battlelog cache for me

 

anyways you know more than me :tongue: so i'll go wiyth yours

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

Originally Posted by ColColonCleaner*:

 

Anyways to Truncate these tables to start fresh or make a !reset command only available to admins etc ?

An in-game command for reset would be a very very bad idea, our database from this plugin contains over 6 million records. However, you can delete everything from stat logger by running the following script. This is assuming you have all tables in the database already:

 

DELETE FROM tbl_weapons_suicide;

DELETE FROM tbl_weapons_sniperrifle;

DELETE FROM tbl_weapons_smg;

DELETE FROM tbl_weapons_shotgun;

DELETE FROM tbl_weapons_projectileexplosive;

DELETE FROM tbl_weapons_nonlethal;

DELETE FROM tbl_weapons_none;

DELETE FROM tbl_weapons_melee;

DELETE FROM tbl_weapons_lmg;

DELETE FROM tbl_weapons_handgun;

DELETE FROM tbl_weapons_explosive;

DELETE FROM tbl_weapons_assaultrifle;

DELETE FROM tbl_sessions;

DELETE FROM tbl_server_stats;

DELETE FROM tbl_server_player;

DELETE FROM tbl_server;

DELETE FROM tbl_playerstats;

DELETE FROM tbl_playerrank;

DELETE FROM tbl_playerdata;

DELETE FROM tbl_mapstats;

DELETE FROM tbl_dogtags;

DELETE FROM tbl_currentplayers;

DELETE FROM tbl_chatlog;

 

This will reset EVERYTHING, take caution to make sure you don't lose info you deem important.

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

Originally Posted by XpKiller*:

 

An in-game command for reset would be a very very bad idea, our database from this plugin contains over 6 million records. However, you can delete everything from stat logger by running the following script. This is assuming you have all tables in the database already:

 

DELETE FROM tbl_weapons_suicide;

DELETE FROM tbl_weapons_sniperrifle;

DELETE FROM tbl_weapons_smg;

DELETE FROM tbl_weapons_shotgun;

DELETE FROM tbl_weapons_projectileexplosive;

DELETE FROM tbl_weapons_nonlethal;

DELETE FROM tbl_weapons_none;

DELETE FROM tbl_weapons_melee;

DELETE FROM tbl_weapons_lmg;

DELETE FROM tbl_weapons_handgun;

DELETE FROM tbl_weapons_explosive;

DELETE FROM tbl_weapons_assaultrifle;

DELETE FROM tbl_sessions;

DELETE FROM tbl_server_stats;

DELETE FROM tbl_server_player;

DELETE FROM tbl_server;

DELETE FROM tbl_playerstats;

DELETE FROM tbl_playerrank;

DELETE FROM tbl_playerdata;

DELETE FROM tbl_mapstats;

DELETE FROM tbl_dogtags;

DELETE FROM tbl_currentplayers;

DELETE FROM tbl_chatlog;

 

This will reset EVERYTHING, take caution to make sure you don't lose info you deem important.

Hi,

 

Code:

DELETE FROM tbl_server;
DELETE FROM tbl_currentplayers;
DELETE FROM tbl_chatlog;
DELETE FROM tbl_mapstats;
is enough, the rest is done by the foreign key constraints.

 

btw. Im going to rewrite/change this plugin for bf4.

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

Originally Posted by ColColonCleaner*:

 

Hi,

 

Code:

DELETE FROM tbl_server;
DELETE FROM tbl_currentplayers;
DELETE FROM tbl_chatlog;
DELETE FROM tbl_mapstats;
is enough, the rest is done by the foreign key constraints.

 

btw. Im going to rewrite/change this plugin for bf4.

Very glad to hear.

 

By the way, do you have a suggestions box or a ticket system where you can accept/deny suggestions? (If not i'd suggest github). But i'll make my suggestion here for the time being. Please, please reference chat logs by player ID as well. I have another suggestion in there somewhere but it's thoroughly buried by now.

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

Originally Posted by ty_ger07*:

 

...

Please, please reference chat logs by player ID as well. I have another suggestion in there somewhere but it's thoroughly buried by now.

Have you checked out my 'chat search' webpage code?

 

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

 

I did a lot of extraneous stuff in the code by checking whether or not the user was logged into the chat webpage and if so they could see GUIDs and ban players -- even by partial matches -- directly from that page and so on. But if you get down to the root of it, it is still quite easy to find a specific player in the chat log without needing to know their player id or stats id. In fact I find it easier not needing to remember the player's player id or stats id since a partial name match is easier to remember than a number match in my opinion. For instance, I could come into your server as Ty_ger07 and you would probably see that it is easier to search for 'Ty' or 'Ty_ger' and all chat associated with that partial name match instead of trying to figure out my stats id or player id.

 

"SELECT `logDate`, `logSoldierName`, `logMessage`, `logSubset` FROM tbl_chatlog{$table_suffix} WHERE `ServerID` = '{$server_ID}' AND `logSoldierName` LIKE '%{$player}%' ORDER BY `logDate` DESC"

I am assuming that you are making this request due to a webpage you created. I assume that you already determined the player's player id or stats id previously and you are using that player id or stats id in the query string of your webpage and you find it annoying to have to re-query backwards to figure out what the player's player name was again after you had already solved the problem of querying forwards to the player's stats id or player id.

 

May I suggest that in such a case, you consider adding the player's name also to the webpage query string so that you can refer to either data as necessary?

 

For instance:

 

mypage.com/stats.php_id=3

 

could be modified to:

 

mypage.com/stats.php_id=3&name=ty_ger07

 

So that you have both pieces of information available to be used efficiently as necessary.

 

 

 

So...

 

In conclusion I guess I would say that XpKiller's decision to focus on player name in the chat log is most handy to the end user trying to perform quick and easy player name matches or partial matches but might not be as handy in other ways because it does not conform to the same types of queries you may use for other stats data.

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

Originally Posted by p19blo*:

 

An in-game command for reset would be a very very bad idea, our database from this plugin contains over 6 million records. However, you can delete everything from stat logger by running the following script. This is assuming you have all tables in the database already:

 

DELETE FROM tbl_weapons_suicide;

DELETE FROM tbl_weapons_sniperrifle;

DELETE FROM tbl_weapons_smg;

DELETE FROM tbl_weapons_shotgun;

DELETE FROM tbl_weapons_projectileexplosive;

DELETE FROM tbl_weapons_nonlethal;

DELETE FROM tbl_weapons_none;

DELETE FROM tbl_weapons_melee;

DELETE FROM tbl_weapons_lmg;

DELETE FROM tbl_weapons_handgun;

DELETE FROM tbl_weapons_explosive;

DELETE FROM tbl_weapons_assaultrifle;

DELETE FROM tbl_sessions;

DELETE FROM tbl_server_stats;

DELETE FROM tbl_server_player;

DELETE FROM tbl_server;

DELETE FROM tbl_playerstats;

DELETE FROM tbl_playerrank;

DELETE FROM tbl_playerdata;

DELETE FROM tbl_mapstats;

DELETE FROM tbl_dogtags;

DELETE FROM tbl_currentplayers;

DELETE FROM tbl_chatlog;

 

This will reset EVERYTHING, take caution to make sure you don't lose info you deem important.

thanks for this. its just what i need.

 

Any way this command can be added to adkats for level 0 access ? or is that either too much to do or just impossible ?

 

I run competitions monthly. and im having to manually redo everything around midnight on the 30/31 etc

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

Originally Posted by Jasonpb*:

 

Got a slight issue which I can't resolve, I thought at first it was a missing entry in the STATS ID field, or a limitation on the field but it all seems to be there and correct from what I can see.

 

The trace doesn't really explain much to me as it seems to process ok and then fail on write, but what it fails on I am unsure of.

 

Trace output:

Code:

[19:57:58 54] Trace: PlayerID: 327[19:57:58 54] Trace: StatsID: 159467
[19:57:58 54] Trace: Weaponstats Write querys
[19:57:58 54] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_assaultrifle (`StatsID`, `AEK-971_deaths`, `M16A4_kills`, `M16A4_deaths`, `Steyr_AUG_deaths`) VALUES(159467, 2, 2, 2, 1) ON DUPLICATE KEY UPDATE  `AEK-971_deaths` = `AEK-971_deaths` + 2 , `M16A4_kills` = `M16A4_kills` + 2 , `M16A4_deaths` = `M16A4_deaths` + 2 , `Steyr_AUG_deaths` = `Steyr_AUG_deaths` + 1 
[19:57:58 54] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_projectileexplosive (`StatsID`, `M320_deaths`) VALUES(159467, 1) ON DUPLICATE KEY UPDATE  `M320_deaths` = `M320_deaths` + 1 
[19:57:58 55] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_lmg (`StatsID`, `M27IAR_deaths`) VALUES(159467, 1) ON DUPLICATE KEY UPDATE  `M27IAR_deaths` = `M27IAR_deaths` + 1 
[19:57:58 55] Trace: PlayerID: 125990
[19:57:58 55] Trace: StatsID: 176597
[19:57:58 55] Trace: Weaponstats Write querys
[19:57:58 55] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_assaultrifle (`StatsID`, `AEK-971_deaths`, `M16A4_deaths`, `Steyr_AUG_deaths`, `G3A3_deaths`, `MTAR_kills`, `MTAR_hs`) VALUES(176597, 1, 4, 1, 1, 8, 1) ON DUPLICATE KEY UPDATE  `AEK-971_deaths` = `AEK-971_deaths` + 1 , `M16A4_deaths` = `M16A4_deaths` + 4 , `Steyr_AUG_deaths` = `Steyr_AUG_deaths` + 1 , `G3A3_deaths` = `G3A3_deaths` + 1 , `MTAR_kills` = `MTAR_kills` + 8 , `MTAR_hs` = `MTAR_hs` + 1 
[19:57:58 55] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_projectileexplosive (`StatsID`, `M320_deaths`, `RPG-7_kills`) VALUES(176597, 1, 3) ON DUPLICATE KEY UPDATE  `M320_deaths` = `M320_deaths` + 1 , `RPG-7_kills` = `RPG-7_kills` + 3 
[19:57:58 55] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_handgun (`StatsID`, `M1911_deaths`) VALUES(176597, 1) ON DUPLICATE KEY UPDATE  `M1911_deaths` = `M1911_deaths` + 1 
[19:57:58 55] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_sniperrifle (`StatsID`, `JNG90_deaths`) VALUES(176597, 1) ON DUPLICATE KEY UPDATE  `JNG90_deaths` = `JNG90_deaths` + 1 
[19:57:58 55] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_lmg (`StatsID`, `M27IAR_deaths`, `Pecheneg_deaths`) VALUES(176597, 2, 2) ON DUPLICATE KEY UPDATE  `M27IAR_deaths` = `M27IAR_deaths` + 2 , `Pecheneg_deaths` = `Pecheneg_deaths` + 2 
[19:57:58 55] Trace: PlayerID: 94996
[19:57:58 55] Trace: StatsID: 176598
[19:57:58 57] Trace: Weaponstats Write querys
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_assaultrifle (`StatsID`, `AEK-971_deaths`, `HK53_deaths`, `M416_kills`, `M16A4_deaths`, `AK74M_deaths`) VALUES(176598, 2, 1, 2, 1, 1) ON DUPLICATE KEY UPDATE  `AEK-971_deaths` = `AEK-971_deaths` + 2 , `HK53_deaths` = `HK53_deaths` + 1 , `M416_kills` = `M416_kills` + 2 , `M16A4_deaths` = `M16A4_deaths` + 1 , `AK74M_deaths` = `AK74M_deaths` + 1 
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_handgun (`StatsID`, `M93R_deaths`) VALUES(176598, 1) ON DUPLICATE KEY UPDATE  `M93R_deaths` = `M93R_deaths` + 1 
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_sniperrifle (`StatsID`, `SVD_deaths`) VALUES(176598, 1) ON DUPLICATE KEY UPDATE  `SVD_deaths` = `SVD_deaths` + 1 
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_lmg (`StatsID`, `M60_deaths`) VALUES(176598, 1) ON DUPLICATE KEY UPDATE  `M60_deaths` = `M60_deaths` + 1 
[19:57:58 57] Trace: PlayerID: 125991
[19:57:58 57] Trace: StatsID: 176599
[19:57:58 57] Trace: Weaponstats Write querys
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_assaultrifle (`StatsID`, `AEK-971_deaths`, `M16A4_deaths`, `Steyr_AUG_kills`, `Steyr_AUG_deaths`, `MTAR_kills`, `MTAR_deaths`) VALUES(176599, 3, 5, 1, 2, 3, 1) ON DUPLICATE KEY UPDATE  `AEK-971_deaths` = `AEK-971_deaths` + 3 , `M16A4_deaths` = `M16A4_deaths` + 5 , `Steyr_AUG_kills` = `Steyr_AUG_kills` + 1 , `Steyr_AUG_deaths` = `Steyr_AUG_deaths` + 2 , `MTAR_kills` = `MTAR_kills` + 3 , `MTAR_deaths` = `MTAR_deaths` + 1 
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_projectileexplosive (`StatsID`, `M320_kills`, `RPG-7_deaths`) VALUES(176599, 1, 1) ON DUPLICATE KEY UPDATE  `M320_kills` = `M320_kills` + 1 , `RPG-7_deaths` = `RPG-7_deaths` + 1 
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_handgun (`StatsID`, `M9_deaths`, `MP412Rex_kills`) VALUES(176599, 1, 2) ON DUPLICATE KEY UPDATE  `M9_deaths` = `M9_deaths` + 1 , `MP412Rex_kills` = `MP412Rex_kills` + 2 
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_sniperrifle (`StatsID`, `JNG90_kills`, `SKS_deaths`, `SVD_deaths`) VALUES(176599, 1, 1, 1) ON DUPLICATE KEY UPDATE  `JNG90_kills` = `JNG90_kills` + 1 , `SKS_deaths` = `SKS_deaths` + 1 , `SVD_deaths` = `SVD_deaths` + 1 
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_explosive (`StatsID`, `M67_kills`, `M67_deaths`) VALUES(176599, 1, 2) ON DUPLICATE KEY UPDATE  `M67_kills` = `M67_kills` + 1 , `M67_deaths` = `M67_deaths` + 2 
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_nonlethal (`StatsID`, `Medkit_deaths`) VALUES(176599, 1) ON DUPLICATE KEY UPDATE  `Medkit_deaths` = `Medkit_deaths` + 1 
[19:57:58 57] Trace: PlayerID: 125992
[19:57:58 57] Trace: StatsID: 176600
[19:57:58 57] Trace: Weaponstats Write querys
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_assaultrifle (`StatsID`, `AEK-971_deaths`, `M16A4_deaths`, `Steyr_AUG_kills`, `Steyr_AUG_hs`, `Steyr_AUG_deaths`, `MTAR_deaths`) VALUES(176600, 2, 3, 10, 4, 2, 1) ON DUPLICATE KEY UPDATE  `AEK-971_deaths` = `AEK-971_deaths` + 2 , `M16A4_deaths` = `M16A4_deaths` + 3 , `Steyr_AUG_kills` = `Steyr_AUG_kills` + 10 , `Steyr_AUG_hs` = `Steyr_AUG_hs` + 4 , `Steyr_AUG_deaths` = `Steyr_AUG_deaths` + 2 , `MTAR_deaths` = `MTAR_deaths` + 1 
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_projectileexplosive (`StatsID`, `RPG-7_deaths`) VALUES(176600, 1) ON DUPLICATE KEY UPDATE  `RPG-7_deaths` = `RPG-7_deaths` + 1 
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_handgun (`StatsID`, `Taurus_44_deaths`, `MP412Rex_deaths`) VALUES(176600, 1, 1) ON DUPLICATE KEY UPDATE  `Taurus_44_deaths` = `Taurus_44_deaths` + 1 , `MP412Rex_deaths` = `MP412Rex_deaths` + 1 
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_sniperrifle (`StatsID`, `SVD_deaths`) VALUES(176600, 1) ON DUPLICATE KEY UPDATE  `SVD_deaths` = `SVD_deaths` + 1 
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_explosive (`StatsID`, `M67_kills`) VALUES(176600, 1) ON DUPLICATE KEY UPDATE  `M67_kills` = `M67_kills` + 1 
[19:57:58 57] Trace: PlayerID: 55832
[19:57:58 57] Trace: StatsID: 158822
[19:57:58 57] Trace: Weaponstats Write querys
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_assaultrifle (`StatsID`, `AEK-971_deaths`, `M16A4_kills`, `M16A4_hs`, `M16A4_deaths`) VALUES(158822, 1, 8, 3, 5) ON DUPLICATE KEY UPDATE  `AEK-971_deaths` = `AEK-971_deaths` + 1 , `M16A4_kills` = `M16A4_kills` + 8 , `M16A4_hs` = `M16A4_hs` + 3 , `M16A4_deaths` = `M16A4_deaths` + 5 
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_projectileexplosive (`StatsID`, `M320_deaths`) VALUES(158822, 1) ON DUPLICATE KEY UPDATE  `M320_deaths` = `M320_deaths` + 1 
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_lmg (`StatsID`, `M27IAR_deaths`, `Pecheneg_deaths`) VALUES(158822, 1, 1) ON DUPLICATE KEY UPDATE  `M27IAR_deaths` = `M27IAR_deaths` + 1 , `Pecheneg_deaths` = `Pecheneg_deaths` + 1 
[19:57:58 57] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_explosive (`StatsID`, `M67_deaths`, `C4_deaths`) VALUES(158822, 1, 1) ON DUPLICATE KEY UPDATE  `M67_deaths` = `M67_deaths` + 1 , `C4_deaths` = `C4_deaths` + 1 
[19:57:58 59] Trace: PlayerID: 125993
[19:57:58 59] Trace: StatsID: 176601
[19:57:58 59] Trace: Weaponstats Write querys
[19:57:58 59] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_assaultrifle (`StatsID`, `AEK-971_deaths`, `FAMAS_kills`, `M16A4_deaths`, `AK74M_kills`) VALUES(176601, 3, 1, 5, 2) ON DUPLICATE KEY UPDATE  `AEK-971_deaths` = `AEK-971_deaths` + 3 , `FAMAS_kills` = `FAMAS_kills` + 1 , `M16A4_deaths` = `M16A4_deaths` + 5 , `AK74M_kills` = `AK74M_kills` + 2 
[19:57:58 59] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_lmg (`StatsID`, `Pecheneg_deaths`) VALUES(176601, 1) ON DUPLICATE KEY UPDATE  `Pecheneg_deaths` = `Pecheneg_deaths` + 1 
[19:57:58 59] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_explosive (`StatsID`, `M67_deaths`) VALUES(176601, 3) ON DUPLICATE KEY UPDATE  `M67_deaths` = `M67_deaths` + 3 
[19:57:58 59] Trace: PlayerID: 120535
[19:57:58 59] Trace: StatsID: 163740
[19:57:58 59] Trace: Weaponstats Write querys
[19:57:58 59] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_assaultrifle (`StatsID`, `AEK-971_deaths`, `M16A4_deaths`, `Steyr_AUG_kills`, `Steyr_AUG_hs`) VALUES(163740, 1, 1, 9, 3) ON DUPLICATE KEY UPDATE  `AEK-971_deaths` = `AEK-971_deaths` + 1 , `M16A4_deaths` = `M16A4_deaths` + 1 , `Steyr_AUG_kills` = `Steyr_AUG_kills` + 9 , `Steyr_AUG_hs` = `Steyr_AUG_hs` + 3 
[19:57:58 60] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_melee (`StatsID`, `Knife_RazorBlade_deaths`) VALUES(163740, 1) ON DUPLICATE KEY UPDATE  `Knife_RazorBlade_deaths` = `Knife_RazorBlade_deaths` + 1 
[19:57:58 60] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_projectileexplosive (`StatsID`, `M320_kills`) VALUES(163740, 1) ON DUPLICATE KEY UPDATE  `M320_kills` = `M320_kills` + 1 
[19:57:58 60] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_handgun (`StatsID`, `MP412Rex_kills`) VALUES(163740, 1) ON DUPLICATE KEY UPDATE  `MP412Rex_kills` = `MP412Rex_kills` + 1 
[19:57:58 60] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_lmg (`StatsID`, `Pecheneg_deaths`) VALUES(163740, 1) ON DUPLICATE KEY UPDATE  `Pecheneg_deaths` = `Pecheneg_deaths` + 1 
[19:57:58 62] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_explosive (`StatsID`, `M67_deaths`) VALUES(163740, 1) ON DUPLICATE KEY UPDATE  `M67_deaths` = `M67_deaths` + 1 
[19:57:58 62] Trace: PlayerID: 121749
[19:57:58 62] Trace: StatsID: 166849
[19:57:58 63] Trace: Weaponstats Write querys
[19:57:58 63] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_shotgun (`StatsID`, `870MCS_deaths`) VALUES(166849, 1) ON DUPLICATE KEY UPDATE  `870MCS_deaths` = `870MCS_deaths` + 1 
[19:57:58 63] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_assaultrifle (`StatsID`, `AEK-971_deaths`, `HK53_deaths`, `M16A4_deaths`, `Steyr_AUG_deaths`, `AK74M_deaths`) VALUES(166849, 2, 1, 2, 1, 2) ON DUPLICATE KEY UPDATE  `AEK-971_deaths` = `AEK-971_deaths` + 2 , `HK53_deaths` = `HK53_deaths` + 1 , `M16A4_deaths` = `M16A4_deaths` + 2 , `Steyr_AUG_deaths` = `Steyr_AUG_deaths` + 1 , `AK74M_deaths` = `AK74M_deaths` + 2 
[19:57:58 63] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_smg (`StatsID`, `SG_553_LB_deaths`) VALUES(166849, 1) ON DUPLICATE KEY UPDATE  `SG_553_LB_deaths` = `SG_553_LB_deaths` + 1 
[19:57:58 65] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_lmg (`StatsID`, `M27IAR_kills`, `M27IAR_hs`) VALUES(166849, 5, 1) ON DUPLICATE KEY UPDATE  `M27IAR_kills` = `M27IAR_kills` + 5 , `M27IAR_hs` = `M27IAR_hs` + 1 
[19:57:58 65] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_explosive (`StatsID`, `M67_deaths`) VALUES(166849, 1) ON DUPLICATE KEY UPDATE  `M67_deaths` = `M67_deaths` + 1 
[19:57:58 65] Trace: PlayerID: 126000
[19:57:58 65] Trace: StatsID: 176602
[19:57:58 65] Trace: Weaponstats Write querys
[19:57:58 65] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_assaultrifle (`StatsID`, `AEK-971_deaths`, `M16A4_deaths`, `Steyr_AUG_deaths`) VALUES(176602, 1, 1, 1) ON DUPLICATE KEY UPDATE  `AEK-971_deaths` = `AEK-971_deaths` + 1 , `M16A4_deaths` = `M16A4_deaths` + 1 , `Steyr_AUG_deaths` = `Steyr_AUG_deaths` + 1 
[19:57:58 65] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_projectileexplosive (`StatsID`, `M320_deaths`) VALUES(176602, 1) ON DUPLICATE KEY UPDATE  `M320_deaths` = `M320_deaths` + 1 
[19:57:58 65] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_lmg (`StatsID`, `Pecheneg_deaths`) VALUES(176602, 1) ON DUPLICATE KEY UPDATE  `Pecheneg_deaths` = `Pecheneg_deaths` + 1 
[19:57:58 65] Trace: PlayerID: 9338
[19:57:58 65] Trace: StatsID: 162915
[19:57:58 66] Trace: Weaponstats Write querys
[19:57:58 66] Trace: SQLQuery Weaponquery:  INSERT INTO tbl_weapons_assaultrifle (`StatsID`, `AEK-971_kills`, `AEK-971_hs`, `M16A4_deaths`) VALUES(162915, 1, 1, 1) ON DUPLICATE KEY UPDATE  `AEK-971_kills` = `AEK-971_kills` + 1 , `AEK-971_hs` = `AEK-971_hs` + 1 , `M16A4_deaths` = `M16A4_deaths` + 1 
[19:57:58 66] Trace: PlayerID: 63243
[19:57:58 66] Trace: StatsID: 174716
[19:57:58 68] Trace: Weaponstats Write querys
[19:57:58 68] Trace: Dogtagstats Write querys
[19:57:58 71] Trace: 941 Sessions to write to Sessiontable
[19:57:59 02] Error: Error in Startstreaming: 
[19:57:59 02] Message: Cannot add or update a child row: a foreign key constraint fails (`fps_procon`.`tbl_sessions`, CONSTRAINT `fk_tbl_sessions_tbl_server_player` FOREIGN KEY (`StatsID`) REFERENCES `tbl_server_player` (`StatsID`) ON DELETE CASCADE ON UPDATE NO ACTION)
[19:57:59 02] Native: -2147467259
[19:57:59 02] Source: MySql.Data
[19:57:59 02] 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.CChatGUIDStatsLoggerBF3.StartStreaming()
[19:57:59 02] Info: Connection MySqlConn closed
[19:58:05 61] Error: Error in RegisterAllCommands: System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Enumerator.MoveNext()
   at PRoConEvents.CChatGUIDStatsLoggerBF3.RegisterAllCommands()
[19:58:10 27] Error: Error in Startstreaming OuterException: System.NullReferenceException: Object reference not set to an instance of an object.
   at PRoConEvents.CChatGUIDStatsLoggerBF3.DisplayMySqlErrorCollection(MySqlException myException)
   at PRoConEvents.CChatGUIDStatsLoggerBF3.StartStreaming()
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ColColonCleaner*:

 

Have you checked out my 'chat search' webpage code?

 

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

 

I did a lot of extraneous stuff in the code by checking whether or not the user was logged into the chat webpage and if so they could see GUIDs and ban players -- even by partial matches -- directly from that page and so on. But if you get down to the root of it, it is still quite easy to find a specific player in the chat log without needing to know their player id or stats id. In fact I find it easier not needing to remember the player's player id or stats id since a partial name match is easier to remember than a number match in my opinion. For instance, I could come into your server as Ty_ger07 and you would probably see that it is easier to search for 'Ty' or 'Ty_ger' and all chat associated with that partial name match instead of trying to figure out my stats id or player id.

 

 

 

I am assuming that you are making this request due to a webpage you created. I assume that you already determined the player's player id or stats id previously and you are using that player id or stats id in the query string of your webpage and you find it annoying to have to re-query backwards to figure out what the player's player name was again after you had already solved the problem of querying forwards to the player's stats id or player id.

 

May I suggest that in such a case, you consider adding the player's name also to the webpage query string so that you can refer to either data as necessary?

 

For instance:

 

mypage.com/stats.php_id=3

 

could be modified to:

 

mypage.com/stats.php_id=3&name=ty_ger07

 

So that you have both pieces of information available to be used efficiently as necessary.

 

 

 

So...

 

In conclusion I guess I would say that XpKiller's decision to focus on player name in the chat log is most handy to the end user trying to perform quick and easy player name matches or partial matches but might not be as handy in other ways because it does not conform to the same types of queries you may use for other stats data.

Yes, we know of all the ways to work around things, but that is why i requested this change be made at the source. We modified the database quite a bit to get all the info we needed, but would like to see those changes come from the dev himself.

 

He can still reference using player name, but we would like to see ID in there as well. This way we don't need 200MB of db space set aside just to index player names in that table -_-. Just that table has many million records, so a numerical entry defining each row is needed.

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

Originally Posted by ColColonCleaner*:

 

thanks for this. its just what i need.

 

Any way this command can be added to adkats for level 0 access ? or is that either too much to do or just impossible ?

 

I run competitions monthly. and im having to manually redo everything around midnight on the 30/31 etc

Sorry, adding a command of this caliber could completely ruin all logs if used accidentally, so i will not implement it. Just run that one script i (or xpkiller's one, it's more correct) gave before your competitions and things will be reset.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ColColonCleaner*:

 

@XPKiller

 

Is there a way i can track the current "online state" of this plugin from another plugin? Whether this plugin is active and ready for input. If it can't be done that way, is there some way i can check in the database if the plugin is running and the db connection active?

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

Originally Posted by MorpheusX(AUT)*:

 

@XPKiller

 

Is there a way i can track the current "online state" of this plugin from another plugin? Whether this plugin is active and ready for input. If it can't be done that way, is there some way i can check in the database if the plugin is running and the db connection active?

You can't. We've had the same problem with PC9's balancer and BattlelogCache.

The way I've solved it: when BattlelogCache gets enabled, it registers a command with Procon. When it gets disabled, it unregisters the command. The balancer then checks the registered commands to check if BattlelogCache is enabled.

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

Originally Posted by ColColonCleaner*:

 

You can't. We've had the same problem with PC9's balancer and BattlelogCache.

The way I've solved it: when BattlelogCache gets enabled, it registers a command with Procon. When it gets disabled, it unregisters the command. The balancer then checks the registered commands to check if BattlelogCache is enabled.

I already suggested XPKiller implement this, and gave the 4-5 lines of code needed to do it, but the request has since been buried in this thread and forgotten. The modded version I made for release with AdKats made this change, and only this change, but was scrapped because it wasnt an official release. I've been using workarounds for over a month now, patiently waiting, but the workarounds aren't real-time enough to be useful anymore. Wat do?
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ColColonCleaner*:

 

Modify and post for dl on your github. Give credit to xpkiller for base code.

Gotta do what you gotta do.

I don't want to get in the way of other developers, or be messing with version numbers per a previous discussion with morph. It's already ready to go, trying not to release it at all without goahead from morph though.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by MorpheusX(AUT)*:

 

I don't want to get in the way of other developers, or be messing with version numbers per a previous discussion with morph. It's already ready to go, trying not to release it at all without goahead from morph though.

It's okay to release a patch for a different plugin (if the plugin-author agrees or is inactive/has no time), but I didn't like you wanting to bundle it with your plugin without releasing it here, as an "official" patch for everyone. Either have that for everyone, or no one, don't split up the plugin usage even more :ohmy:
* 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.