Jump to content

Chat, GUID, Stats and Mapstats Logger[3.0.2.2] 01.02.


ImportBot

Recommended Posts

Originally Posted by Flyswamper*:

 

Well.... I switched to using a mysql database setup on our webhosting site (with Go Daddy) and all is good now.... Or so it seems during the first hour of operation with the plugin/database.

 

Add me to the list of people that have thanked you for the plugin!

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

Top Posters In This Topic

  • ImportBot

    838

Originally Posted by Garak*:

 

I add our old database and use the fix.sql but ours keeps throwing this error:

 

Code:

Error in LogChat: System.InvalidOperationException: The connection has been disabled. ---> System.Data.Odbc.OdbcException: ERROR [08S01] [MySQL][ODBC 5.1 Driver][mysqld-5.1.51]MySQL server has gone away
   --- End of inner exception stack trace ---
   at System.Data.Odbc.OdbcConnection.ConnectionIsAlive(Exception innerException)
   at System.Data.Odbc.OdbcConnection.HandleErrorNoThrow(OdbcHandle hrHandle, RetCode retcode)
   at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
   at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod)
   at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader)
   at System.Data.Odbc.OdbcCommand.ExecuteNonQuery()
   at PRoConEvents.CChatGUIDStatsLogger.LogChat(String strSpeaker, String strMessage, String strType)
I can't figure out whats going wrong. I thought from the above it was a problem with the chat so I dropped the table and get:

 

Code:

Error in SQLQuery: System.InvalidOperationException: The connection has been disabled. ---> System.Data.Odbc.OdbcException: ERROR [08S01] [MySQL][ODBC 5.1 Driver][mysqld-5.1.51]Lost connection to MySQL server during query
   --- End of inner exception stack trace ---
   at System.Data.Odbc.OdbcConnection.ConnectionIsAlive(Exception innerException)
   at System.Data.Odbc.OdbcConnection.HandleErrorNoThrow(OdbcHandle hrHandle, RetCode retcode)
   at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
   at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod)
   at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader)
   at System.Data.Odbc.OdbcCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.Odbc.OdbcCommand.ExecuteReader()
   at PRoConEvents.CChatGUIDStatsLogger.SQLquery(String str_selectSQL, Int32 sort)
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by HelloKitty*:

 

System.InvalidOperationException: The connection has been disabled.

...check your connection settings! user ? password ? hostadress?

 

The plugin didn't even connect to your sql db.

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

Originally Posted by Flyswamper*:

 

Well...I'm a few hours into it now and it is still working. However, I am getting these messages at times...

 

Code:

Error in LogChat: System.InvalidOperationException: The connection has been disabled. ---> System.Data.Odbc.OdbcException: ERROR [08S01] [MySQL][ODBC 5.1 Driver][mysqld-5.0.91-log]MySQL server has gone away
Any ideas? My own uninformed thinking is maybe it is a timeout type of issue. When I look at the mysql server variables and settings I see a few timeout-related variables. A short list of them are:

 

connect timeout 60

delayed insert timeout 300

innodb lock wait timeout 50

innodb rollback on timeout OFF

interactive timeout 60

net read timeout 30

net write timeout 60

slave net timeout 3,600

table lock wait timeout 50

wait timeout 60

 

Is maybe the plugin trying to stay connected to the mysql database and then running into a timeout situation? If so, maybe I could "up" the timeout limit of one of these?

 

I have absolutely no idea if I'm even chasing a reasonable rabbit-trail here.... but.... I would assume there is someway to change the timeout limits. Would it make sense to try longer timeout periods? Is the plugin even trying to stay connected between write operations to the database? Am I crazy? I'm a technically savvy sorta guy (or I keep telling myself that)...but.... this is not an area I know much about..... Give me some concept-ideas and I'll chase it...

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

Originally Posted by Garak*:

 

System.InvalidOperationException: The connection has been disabled.

...check your connection settings! user ? password ? hostadress?

 

The plugin didn't even connect to your sql db.

Thanks for the suggestion, it is connecting though because when I join the server the welcome stats fetches my stats from the imported db and shows them in the console, then I get the errors in the procon client console and have to disable the plugin.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Flyswamper*:

 

I grabbed the new version and gave it a run. It looks like the error messages indicating the database has "gone away" have stopped occurring. What I see now are "normal" status messages indicating the connection is being opened/closed periodically. I can kinda guess this means you are avoiding timeout (or whatever it was) issues by repeatedly opening/closing the ODBC database connection.

 

Seems like it worked! thumbs up!

 

 

Now.... something totally unrelated to the plug-in happened to the servers I manage. The IP addresses for our game-servers have changed. Because our ProCon parent-layer is hosted by a hosting company (PrimaryTarget) we had some reconfiguring to do to get things going again.

 

Funny thing is that, I/we managed to get one of our ProCon parent layers back up and running pretty quickly and effortlessly. But...one of them has presented some challenges. So... they gave me a new parent-layer instance and we started off with a fresh ProCon install on this one. I have configured the chat&stats logging plug-in exactly the same as I had it before (at least I *think* I have)...but.... it is generating error messages for me.

 

here is what happens....

 

- I configure the plugin to access my database, same as I had it before (when it was working)

- I login to the parent-layer with my client-copy of ProCon

- I enable the BFBC2 chat&stats logging plugin

- I issue a "runnext map/level" and watch the parent-layer-plugins console

- I see the following error message, immediately followed by my copy of ProCon disconnecting from the parent layer

- After a few moments (maybe 20 seconds_) my copy of ProCon will automatically reconnect to the parent layer

 

 

Here's the message I'm getting:

 

Code:

13:20:50 03] OnLoadingLevel: Levels/MP_012GR Round: 1/2
[13:20:50 05] update sql server
[13:20:50 09] Start tablebuilder
[13:20:50 27] Error in OpenConnection: System.Data.Odbc.OdbcException: ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
   at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
   at System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle)
   at System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions)
   at System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
   at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.Odbc.OdbcConnection.Open()
   at PRoConEvents.CChatGUIDStatsLogger.OpenOdbcConnection(Int32 type)
So...my question is...given the above error message...where do you think the problem lies? My uninformed guess is that it seems to be suggesting and ODBC config problem on the machine running the parent-layer of ProCon. that is the newest piece to the puzzle...and the previous puzzle was put together and working until this ip-changing mess started.

 

 

Another thought in my head.... I'm using a new instance of ProCon parent-layer pointing at a new-IP for my gameserver. But I'm trying to get the stats/chat logged into an existing set of database tables that were previously created and populated from the server before the IP move. I.e..... I'm trying to continue the same stats/logs across an IP change. The error occurs immediately after the message "Start tablebuilder" could the problem be that the plugin is trying to create a table that is already there and this is it's way of complaining?

 

As best I can tell, I've got EXACTLY the same host/user/database/password and all other settings configured the same in both ProCon-plugin layers. Only the tablesuffix is different (I want the data for each game server segregated). One is working, the other isn't (but it used to work).

 

Which rabbit-trail should I follow first?

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

Originally Posted by Flyswamper*:

 

Well....

 

It seems rabbit-trail #1 was the right one. PrimaryTargets support got it working by re-installing the MYSQL ODBC connector on the server that is hosting our ProCon parent layer. Life is good now.... and now I/we know what that message might suggest....

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

Originally Posted by Jaythegreat1*:

 

I'm getting this on our Rush Server

 

[13:33:27 76] Error in LogScore: System.Data.Odbc.OdbcException: ERROR [HY000] [MySQL][ODBC 5.1 Driver][mysqld-5.1.47-community]Field 'playerKills' doesn't have a default value

at System.Data.Odbc.OdbcConnection.HandleError(OdbcHa ndle hrHandle, RetCode retcode)

at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(C ommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod)

at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(C ommandBehavior behavior, String method, Boolean needReader)

at System.Data.Odbc.OdbcCommand.ExecuteNonQuery()

at PRoConEvents.CChatGUIDStatsLogger.LogScore(List`1 playerList)

[13:33:27 81] -------OP-------

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

Originally Posted by EBassie*:

 

[mysqld-5.1.47-community]Field 'playerKills' doesn't have a default value

It seems your mysql database is not correct.

The field playerkills should have a default value of '0'. I guess it's not.

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

Originally Posted by Pushover*:

 

I got a problem with this plugin.

I correctly inserted the hostname for the mysql database but I get the Error :

 

Error in LogChat: System.Data.Odbc.OdbcException: ERROR [HY000] [MySQL][ODBC 5.1 Driver]Can't connect to MySQL server on '80.156.86.78' (10061)

ERROR [HY000] [MySQL][ODBC 5.1 Driver]Can't connect to MySQL server on '80.156.86.78' (10061)

bei System.Data.Odbc.OdbcConnection.HandleError(OdbcHa ndle hrHandle, RetCode retcode)

 

and so on.

 

And if the game round ends procon crashes because of that plugin. Does anyone know what to do?

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

Originally Posted by XpKiller*:

 

I'm improving the database design atm.

 

The new design is able to speed up many querys more the 200 - 400%.

This is good for the webstats.

But the webstats need to changed again because the table are changed.

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

Originally Posted by Phyrefli*:

 

Got a quick question about this plugin.

 

We're using 1.57 on a procon layer hosted by a third party for us.

 

The player message we've got when a player does @stats is the default one:

 

Server Stats for %playerName%:

%playerKills% Kills %playerDeaths% Deaths %playerSuicide% Suicide K/D: %playerKDR%

Your Server Rank is: %playerRank% of %allRanks%

 

However in the server at the END of this message is an additional line with an advertisement for the 3rd party. I can't find a way for this to be removed, and the 3rd party is saying (I quote), "This is hard coded into the plugin."

 

Can anyone please let me know how this message can be removed?

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

Originally Posted by HelloKitty*:

 

The Plugin is a *.cs - file that can be easily edited with any texteditor. So

"This is hard coded into the plugin."

should not be the problem. I only have a actual version here to check, but in my "CChatGUIDStatsLogger.cs" file there are the lines 166 to 175:

Code:

//Playerstats
			this.m_lstPlayerStatsMessage = new List<string>();
			this.m_lstPlayerStatsMessage.Add("Serverstats for %playerName%:");
			this.m_lstPlayerStatsMessage.Add("%playerKills% Kills  %playerDeaths% Deaths  %playerSuicide% Suicide  K/D: %playerKDR%");
			this.m_lstPlayerStatsMessage.Add("Your Serverrank is: %playerRank% of %allRanks%");
			//Weaponstats
			this.m_lstWeaponstatsMsg = new List<string>();
			this.m_lstWeaponstatsMsg.Add("%playerName%'s Stats for %Weapon%:");
			this.m_lstWeaponstatsMsg.Add("%playerKills% Kills  %playerHeadshots% Headshots  Headshotrate: %playerKHR%%  %playerDeaths% died by this Weapon");
			this.m_lstWeaponstatsMsg.Add("Your Weaponrank is: %playerRank% of %allRanks%");
..So I guess your 3rd party host just added a line after 170 like "this.m_lstPlayerStatsMessage.Add("this freakin feature is powered by the awesome 3rd party host");"

 

Telling you that it is "hardcoded" is just a lie - this message is not included by default. They just want some advertisement for them and hope you are stupid enough to by it. Tell them to delete line 171 and it should work.

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

Originally Posted by XpKiller*:

 

*Bump*

 

Table Hotfix posted

 

2.0.6.4 and 3.0.0.0 (Tester needed if you to Test pm me pls) are coming soon MOH getting 3.0.0.0 if it run on BFBC2 properly.

 

New features in 3.0.0.0:

Better and fast databasedesign

EAGUID

Clantag

IP

Floodprotection

Session feature

more feature coming soon.

 

If you had feature request pls post them.

 

If you need help pm me or write a post.

Remember to make a backup be apply Sqlscripts to you database!!

 

Downloads

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

Originally Posted by XpKiller*:

 

For 3.0.0.0

Code:

ALTER TABLE `tbl_weaponstats` ENGINE = MyISAM ;
ALTER TABLE `tbl_weaponstats` 
 ADD COLUMN `QLZ8_kills` INT(10) UNSIGNED NOT NULL DEFAULT 0 ,
 ADD COLUMN `QLZ8_hs` INT(10) UNSIGNED NOT NULL DEFAULT 0 ,
 ADD COLUMN `QLZ8_deaths` INT(10) UNSIGNED NOT NULL DEFAULT 0;
ALTER TABLE `tbl_weaponstats` ENGINE = InnoDB ;
For 2.x

Code:

ALTER TABLE `tbl_playerstats` ENGINE = MyISAM ;
ALTER TABLE `tbl_playerstats` 
 ADD COLUMN `QLZ8_kills` INT(10) UNSIGNED NOT NULL DEFAULT 0 ,
 ADD COLUMN `QLZ8_hs` INT(10) UNSIGNED NOT NULL DEFAULT 0 ,
 ADD COLUMN `QLZ8_deaths` INT(10) UNSIGNED NOT NULL DEFAULT 0;
ALTER TABLE `tbl_playerstats` ENGINE = InnoDB ;
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by EBassie*:

 

No it doesnt.

But if you give me the of the table i can give you an example

Thanks dude, but I'll manage. I know my way around MySQL :smile:

Was just asking as I was already busy transforming it, but thought: "Hey, maybe it goes automatically" :smile:

 

I have to change the stats for 3 servers, one with 19K players in it. So I have to be carefull

 

Thanks for the quick update!

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