Jump to content

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


ImportBot

Recommended Posts

Originally Posted by XpKiller*:

 

Check if any kind of limits are set on your MySQL server . Also try to increase the time out for connection on both side odbc driver and MySQL server. You could also try what happens if you turn on connection pooling in odbc driver. Which is off by default.

I just can say that I don't thing there is a general error in communication. My layer runs without any crashes but the MySQL server is install on the same root server.

 

And other solution would if the procon team would include the native MySQL connector for c#.

* 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 Ghostryder81*:

 

With 0.0.0.7beta I get following error everytime the map changes:

 

Error: Error in Startstreaming: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

bei System.Data.Odbc.OdbcDataReader.FieldCountNoThrow( Int16& cColsAffected)

bei System.Data.Odbc.OdbcDataReader.FirstResult()

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

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

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

bei PRoConEvents.CChatGUIDStatsLoggerBF3.StartStreamin g()

 

Error: Error in Startstreaming: System.InvalidOperationException: ExecuteNonQuery erfordert, dass der Befehl über eine Transaktion verfügt, wenn die dem Befehl zugewiesene Verbindung eine ausstehende lokale Verbindung ist. Die Transaction-Eigenschaft des Befehls wurde nicht initialisiert.

bei System.Data.Odbc.OdbcConnection.SetStateExecuting( String method, OdbcTransaction transaction)

bei System.Data.Odbc.OdbcCommand.ValidateConnectionAnd Transaction(String method)

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

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

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

bei PRoConEvents.CChatGUIDStatsLoggerBF3.StartStreamin g()

 

I even did a fresh install of the DB but the error was still there.

After going back to 0.0.0.6beta the error was gone.

Then I updated again to 0.0.0.7beta and the error came back too.

Now I'm running again with 0.0.0.6beta without this error.

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

Originally Posted by Clay52*:

 

Got this just earlier:

 

[10:39:52 95] Error: SQLQuery:System.NullReferenceException: Object reference not set to an instance of an object.

at System.Data.Odbc.OdbcDataReader.GetRowCount()

at System.Data.Odbc.OdbcDataReader.FirstResult()

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.ExecuteReader(Command Behavior behavior)

at System.Data.Odbc.OdbcCommand.ExecuteDbDataReader(C ommandBehavior behavior)

at System.Data.Common.DbCommand.System.Data.IDbComman d.ExecuteReader(CommandBehavior behavior)

at System.Data.Common.DbDataAdapter.FillInternal(Data Set dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)

at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)

at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)

at PRoConEvents.CChatGUIDStatsLoggerBF3.SQLquery(Odbc Command selectQuery)

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

Originally Posted by EBassie*:

 

Check if any kind of limits are set on your MySQL server . Also try to increase the time out for connection on both side odbc driver and MySQL server. You could also try what happens if you turn on connection pooling in odbc driver. Which is off by default.

I just can say that I don't thing there is a general error in communication. My layer runs without any crashes but the MySQL server is install on the same root server.

 

And other solution would if the procon team would include the native MySQL connector for c#.

Ok, thanks. Will try this :smile:
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by feeblemedic*:

 

Are there any publicly available methods to incorporate a viewer for this type of database onto a website?

I used one put out by EoT-Clan.net for bc2...but can't find anything comparable right now.

 

More than this; i'd like to find a player search that would search the database for ip, guid information.

 

If anyone can point me in the direction of something that does one or both of the above functions I would appreciate it. I'm don't know mysql or php well enough to do my own :sad:

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

Originally Posted by CptChaos*:

 

I reinstalled the database because we had new servers coming up and we wanted to clean the stats because we had some other changes as well. I'm on beta 0.0.7 and I now get an error message, saying the Type 88 sniper fields are missing, which is odd, the Type 88 is a confirmed sniperrifle for BF3: http://bf3blog.com/battlefield-3-sniper-rifles/

 

EDIT:

 

I just got message that the type 88 sniper is coming with Back to Karkand, so I added the three columns manually.

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

Originally Posted by Clay52*:

 

Curious, when you say delete the "Keyword list" line is it this one? The whole line? It keeps popping back in the file after I've deleted it.

 

procon.protected.plugins.setVariable "CChatGUIDStatsLoggerBF3" "Keywordlist" "RPG-7{RPG}|Weapons/SCAR-H/SCAR-H{SCAR,SCAR-H}|USAS-12{USAS12}|M27IAR{M27}|AEK-971{AEK971,AEK}|Weapons/A91/A91{A91,A-91}|Weapons/AK74M/AK74{AK74,AK74M}|Weapons/G36C/G36C{G36C}|Weapons/G3A3/G3A3{G3A3,G3}|Weapons/Gadgets/C4/C4{C4}|Weapons/Gadgets/Claymore/Claymore{CLAYMORE,CLAY,LANDMINE}|Weapons/KH2002/KH2002{KH2002}|Weapons/Knife/Knife{KNIFE}|Weapons/M416/M416{M416}|Weapons/MagpulPDR/MagpulPDR{MagpulPDR}|Weapons/MP412Rex/MP412REX{MP412REX,REX,MP412}|Weapons/MP443/MP443{MP443}|Weapons/P90/P90{P90}|Weapons/Sa18IGLA/Sa18IGLA{Sa18IGLA,Sa18,IGLA}|Weapons/UMP45/UMP45{UMP,UMP-45,UMP45}|Repair Tool{repairtool}|AS Val{asval,val}|SG 553 LB{SG553}|Taurus .44{Taurus.44,Taurus}|Pecheneg{PKP}|Medkit{Medikit }|Model98B{M98B,M98}|M15 AT Mine{M15ATMine,ATMine,AT Mine,M15}|PP-2000{PP2000}"

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

Originally Posted by GitSum*:

 

Are there any publicly available methods to incorporate a viewer for this type of database onto a website?

I used one put out by EoT-Clan.net for bc2...but can't find anything comparable right now.

 

More than this; i'd like to find a player search that would search the database for ip, guid information.

 

If anyone can point me in the direction of something that does one or both of the above functions I would appreciate it. I'm don't know mysql or php well enough to do my own :sad:

There is actually an addon - they are working on it to update it to BF3

www.phogue.net/forumvb/showth...re-Release-BF3*

 

Or you could try the free version of PHP Generator for MySQL. Pretty easy to use and will do what you are asking for right now

 

http://www.sqlmaestro.com/products/mysql/phpgenerator/

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

Originally Posted by Waterboyeee*:

 

Quick request. Would it be possible to set the welcome message toggles separate so that we can keep the private welcome with stats without announcing to the entire server? I hate having that spam nonsense continuously. I removed the line so it is blank but the server is still pushing blank messages every time someone joins and it messes with the chat window.

 

Thanks

 

edit- I think I got it. Just deleted all instances of "welcome message for new player" in the cs file.

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

Originally Posted by Jenne*:

 

Hallo, kann mir hier bitte einer helfen ich weiss nicht wo die liegt die Datei :

 

Important:

 

delete this line (procon.protected.plugins.setVariable "CChatGUIDStatsLoggerBF3" "Keywordlist" "") in Config yourserverip_port.cfg. Otherwise the ingame weaponstats wont work correctly

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

Originally Posted by Ghostryder81*:

 

Hallo, kann mir hier bitte einer helfen ich weiss nicht wo die liegt die Datei :

 

Important:

 

delete this line (procon.protected.plugins.setVariable "CChatGUIDStatsLoggerBF3" "Keywordlist" "") in Config yourserverip_port.cfg. Otherwise the ingame weaponstats wont work correctly

Die Datei liegt in dem Config Verzeichnis von Procon. Wenn du einen Procon Layer hast, musst du die Datei natürlich dort editieren.

Die sieht dann z.B. so aus: 10.100.100.100_12345.cfg

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

Originally Posted by CptChaos*:

 

I am trying to build a query in which I relate the dogtags with the playernames and such, but my lack of MySQL knowledge keeps me from finding the right query. I tried to build it with a SQL builder, but I only can find the soldiername then. Do I really have to use 2 queries to make that work? What I have now is Code:

SELECT tdt.KillerID AS KillerID, tdt.VictimID AS VictimID, tdt.Count AS Count, tpd.SoldierName AS Killer
FROM tbl_dogtags tdt
INNER JOIN tbl_playerdata tpd ON tdt.KillerID = tpd.PlayerID
I know I should add something like tpd.SoldierName AS Victim, but that's not going to work I'd guess, or it'll return the same value as Killer does.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Layenne*:

 

i have this. what can i do ?

 

[16:17:27 73] BF3 Chat, GUID and Stats Logger Enabled

[16:17:27 73] BF3 Chat, GUID and Stats Logger: Floodprotection set to 10 Request per Round for each Player

[16:17:45 22] Error in Tablebuilder:

[16:17:45 22] Index #0

[16:17:45 22] Message: [Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié

[16:17:45 22] Native: 0

[16:17:45 22] Source:

[16:17:45 22] SQL: IM002

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

Originally Posted by CptChaos*:

 

i have this. what can i do ?

 

[16:17:27 73] BF3 Chat, GUID and Stats Logger Enabled

[16:17:27 73] BF3 Chat, GUID and Stats Logger: Floodprotection set to 10 Request per Round for each Player

[16:17:45 22] Error in Tablebuilder:

[16:17:45 22] Index #0

[16:17:45 22] Message: [Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié

[16:17:45 22] Native: 0

[16:17:45 22] Source:

[16:17:45 22] SQL: IM002

If you'd post a translation of the error message you get we can help you further.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Clay52*:

 

Your ODBC Driver is not configured right.

www.phogue.net/forumvb/showth...-Configuration*.

 

@CptChaos

i will build a query for soon.

I don't get any ODBC Data source administrator app at all. As per the instructions, if I type in 'data sources' all I get is led to my Windows/system32 directory, no "Data Sources (ODBC)" at the top as it states, wtf gives? I've uninstalled and reinstalled so many times I can't count, same crap over n over...
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by XpKiller*:

 

@CptChaos

The first query is for one Server

The second query is for overall(multiply Server)

 

Code:

SELECT pd.SoldierName AS Killer ,pd2.SoldierName AS Victim, dt.Count 
FROM tbl_dogtags dt
INNER JOIN tbl_server_player sp ON sp.StatsID = dt.VictimID 
INNER JOIN tbl_server_player sp2 ON sp2.StatsID = dt.KillerID 
INNER JOIN tbl_playerdata pd ON sp.PlayerID = pd.PlayerID
INNER JOIN tbl_playerdata pd2 ON sp2.PlayerID = pd2.PlayerID
WHERE sp.ServerID = 1 AND sp2.ServerID = 1
ORDER BY Count DESC

SELECT pd.SoldierName AS Killer ,pd2.SoldierName AS Victim, SUM(dt.Count) AS Count
FROM tbl_dogtags dt
INNER JOIN tbl_server_player sp ON sp.StatsID = dt.VictimID 
INNER JOIN tbl_server_player sp2 ON sp2.StatsID = dt.KillerID 
INNER JOIN tbl_playerdata pd ON sp.PlayerID = pd.PlayerID
INNER JOIN tbl_playerdata pd2 ON sp2.PlayerID = pd2.PlayerID
GROUP BY dt.KillerID
ORDER BY Count DESC
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by CptChaos*:

 

@CptChaos

The first query is for one Server

The second query is for overall(multiply Server)

 

Code:

SELECT pd.SoldierName AS Killer ,pd2.SoldierName AS Victim, dt.Count 
FROM tbl_dogtags dt
INNER JOIN tbl_server_player sp ON sp.StatsID = dt.VictimID 
INNER JOIN tbl_server_player sp2 ON sp2.StatsID = dt.KillerID 
INNER JOIN tbl_playerdata pd ON sp.PlayerID = pd.PlayerID
INNER JOIN tbl_playerdata pd2 ON sp2.PlayerID = pd2.PlayerID
WHERE sp.ServerID = 1 AND sp2.ServerID = 1
ORDER BY Count DESC

SELECT pd.SoldierName AS Killer ,pd2.SoldierName AS Victim, SUM(dt.Count) AS Count
FROM tbl_dogtags dt
INNER JOIN tbl_server_player sp ON sp.StatsID = dt.VictimID 
INNER JOIN tbl_server_player sp2 ON sp2.StatsID = dt.KillerID 
INNER JOIN tbl_playerdata pd ON sp.PlayerID = pd.PlayerID
INNER JOIN tbl_playerdata pd2 ON sp2.PlayerID = pd2.PlayerID
GROUP BY dt.KillerID
ORDER BY Count DESC
You, my friend, just made yourself godlike!
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

There is nothing wrong with the way the plugin communicate with the

MySQL server. The Problem is caused by the SQL Server which kills connections or don't answer queries c orectly. Those behaviors often found by freesql services because their server limit query count and query execution time. They do this because they want prenvent commercial use.

What about for us people who are paying good money for their hosting service but are also getting the same errors?
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

No answer...

 

I'll ask again in a different way.

 

Is there a way for you to make the plugin more persistent so that it will try to connect to the database more than once before giving up?

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

Originally Posted by XpKiller*:

 

@ty_ger07

The problem is not the phase of connection to the database. The problem is that the connection is terminated during the query. This interrupt the Transaction which is used for the query. If a transaction is interrupted the server perform a rollback of previous querys.

Transactions are need if you use InnoDB otherwise you would get a serious performance issues.

 

@sourtimer

i dont expect problems with b2k. Only if Procon has some ;-)

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

Originally Posted by Clay52*:

 

What about for us people who are paying good money for their hosting service but are also getting the same errors?

ty and others, why not just build a small HTPC box and have procon on that 24/7, why all the fuss about hosting?
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by GitSum*:

 

ty and others, why not just build a small HTPC box and have procon on that 24/7, why all the fuss about hosting?

You can a hosted Procon Layer from a respectable GSP for about $2 per layer per month. It will also come with some sort of web based interface where you can set up privileges for other clan members so they can restart Procon if it went down. Also, you can probably find a location for the layer server in the same area as your game server. Sometimes - it's just easier that way (think of it this way - by paying for a host, your actually contributing to Phogue - because of the new license fee)
* Restored post. It could be that the author is no longer active.
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...

Important Information

Please review our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.