[Mutator] KFStatsX

  • Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

scary ghost

FNG / Fresh Meat
Sep 13, 2010
900
338
0
California
It was like I didn't have Kill Messages on, I was getting the integrated ones only.
Let me try it again to confirm.

Hrm, I took at look at Marco's code and I don't see any code incompatibilities. I'll give it a try too.

Edit:
Everything looks fine to me. Only thing I can think of is the red text of the damage notifications blending in with parts of a map.
 
Last edited:

nd2spd

FNG / Fresh Meat
Aug 24, 2011
1,094
0
0
Vic Australia
www.facebook.com
False alarm. Very sorry.

At one point I did something to break Kill Messages, then I removed StatsX and restarted and came to that conclusion, but it's clear now the server just needed a restart.
 

Fermis

FNG / Fresh Meat
Jan 8, 2014
2
0
0
I am having an issue with the server. I get the following error message. Any idea why it would have an issue parsing those packets?

Code:
Jan 08, 2014 1:50:52 PM com.github.etsai.kfsxtrackingserver.UDPListener run
INFO: Received UDP packet from 192.241.128.115:5635
Jan 08, 2014 1:50:52 PM com.github.etsai.kfsxtrackingserver.UDPListener run
INFO: Data= kfstatsx-player,2,|76561198005240139|6|match|kf-bioticslab|Normal|Long|1|1|0|0|23|_close
Jan 08, 2014 1:50:52 PM com.github.etsai.kfsxtrackingserver.Accumulator accumulate
SEVERE: Error parsing the packet
com.github.etsai.kfsxtrackingserver.PacketParser$InvalidPacketFormatException: 2
        at com.github.etsai.kfsxtrackingserver.PacketParser.parse(PacketParser.java:184)
        at com.github.etsai.kfsxtrackingserver.Accumulator.accumulate(Accumulator.java:49)
        at com.github.etsai.kfsxtrackingserver.UDPListener.run(UDPListener.java:44)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:724)
 
Jul 8, 2013
668
2
18
I have a question, I scanned the last couple of pages but I didn't see anything (I could be blind too so).

I already have a webserver up and running so I was if there's a way to do this

KF with mut -> java ap -> sqlite db -> perl/python script -> apache

Basically if someone has written a web script to access the sqlite db and dynamically create the page. There's no real for me to have another web server running when I don't have to (plus I trust java as far as I can throw a 500 pound midget).
 

scary ghost

FNG / Fresh Meat
Sep 13, 2010
900
338
0
California
I have a question, I scanned the last couple of pages but I didn't see anything (I could be blind too so).

I already have a webserver up and running so I was if there's a way to do this

KF with mut -> java ap -> sqlite db -> perl/python script -> apache

Basically if someone has written a web script to access the sqlite db and dynamically create the page. There's no real for me to have another web server running when I don't have to (plus I trust java as far as I can throw a 500 pound midget).

You can disable the embedded web server by commenting out the 'http.port' property in the server.properties file. Alternatively, If you don't want to dig through the db structure, the web server also presents the data in XML format: append 'xml=1' to the URL query string. You can instead keep the web server running with the port closed on your firewall, and parse the XML from the web server.

I am having an issue with the server. I get the following error message. Any idea why it would have an issue parsing those packets?

Code:
Jan 08, 2014 1:50:52 PM com.github.etsai.kfsxtrackingserver.UDPListener run
INFO: Received UDP packet from 192.241.128.115:5635
Jan 08, 2014 1:50:52 PM com.github.etsai.kfsxtrackingserver.UDPListener run
INFO: Data= kfstatsx-player,2,|76561198005240139|6|match|kf-bioticslab|Normal|Long|1|1|0|0|23|_close
Jan 08, 2014 1:50:52 PM com.github.etsai.kfsxtrackingserver.Accumulator accumulate
SEVERE: Error parsing the packet
com.github.etsai.kfsxtrackingserver.PacketParser$InvalidPacketFormatException: 2
        at com.github.etsai.kfsxtrackingserver.PacketParser.parse(PacketParser.java:184)
        at com.github.etsai.kfsxtrackingserver.Accumulator.accumulate(Accumulator.java:49)
        at com.github.etsai.kfsxtrackingserver.UDPListener.run(UDPListener.java:44)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:724)

You didn't set a password for KFStatsX. I should have had an option to allow blank passwords or an error message but I forgot and was too lazy, lol.
 
Last edited:
Jul 8, 2013
668
2
18
You can disable the embedded web server by commenting out the 'http.port' property in the server.properties file. Alternatively, If you don't want to dig through the db structure, the web server also presents the data in XML format: append 'xml=1' to the URL query string. You can instead keep the web server running with the port closed on your firewall, and parse the XML from the web server.

I knew it could be done (I actually read the README). I was just hoping I could be lazy and someone else had done it before, because I hate web scripting.
`~`

Well, I guess I need to brush up on my sql knowledge.
 

scary ghost

FNG / Fresh Meat
Sep 13, 2010
900
338
0
California
I knew it could be done (I actually read the README). I was just hoping I could be lazy and someone else had done it before, because I hate web scripting.
`~`

Well, I guess I need to brush up on my sql knowledge.

Ohh..that's what you meant. Yeah, I don't know of anyone has created their own web pages, probably for the same reason, lol. Worst case, you can copy the HTML that the web server generates. There's only 4 pages:

  • server totals - index.html
  • player list - records.html
  • player profile - profile.html
  • player match history - matchhistory.html
You can view the queries that I do in the source code:
[url]https://github.com/scaryghost/KFSXTrackingServer/blob/3.0/src/com/github/etsai/kfsxtrackingserver/impl/SQLiteReader.groovy[/URL]
 
Jul 8, 2013
668
2
18
Ohh..that's what you meant. Yeah, I don't know of anyone has created their own web pages, probably for the same reason, lol. Worst case, you can copy the HTML that the web server generates. There's only 4 pages:

  • server totals - index.html
  • player list - records.html
  • player profile - profile.html
  • player match history - matchhistory.html
You can view the queries that I do in the source code:
https://github.com/scaryghost/KFSXT...i/kfsxtrackingserver/impl/SQLiteReader.groovy[url]https://github.com/scaryghost/KFSXTrackingServer/blob/3.0/src/com/github/etsai/kfsxtrackingserver/impl/SQLiteReader.groovy[/URL]

Thanks! If anything becomes of it, I'll make sure and post it here.
 

Raizen7799

FNG / Fresh Meat
Aug 31, 2013
187
0
0
Brazil
Hi.
I'm using this mutator for quite some time in my server. Is very good!

But since the last kf upgrade is making "fatal error" when the player press "esc". Not all the time, but a lot of times.

I removed this mutator 2 days ago and no one is getting "fatal errors" any more. But i would like to have the mutator back, without this problem.
 
Last edited:

scary ghost

FNG / Fresh Meat
Sep 13, 2010
900
338
0
California
Version 3.2.1

Version 3.2.1

Version 3.2.1 has been whitelisted. This update contains changes from an non-whitelisted v3.1 release as well. The biggest changes are for improving the match data logging.

Changes


  • Properly supports objective mode
  • Implements a new packet format to improve back end storage
    • By default is disabled for backwards compatibility with the back end server
      • Config option: useV3Packets=[false|true]
    • Distinguishes stats by server
    • Provides perk and wave specific stat break downs
      • This feature is not supported for objective mode
  • Added a case to handle ending a match via mid game voting
  • Fixed bug with counting raged fp and stunned husks

Download
https://github.com/scaryghost/KFStatsX/releases/download/3.2.1/KFStatsX_v3.2.1.zip
 

scary ghost

FNG / Fresh Meat
Sep 13, 2010
900
338
0
California
Tracking Server 4.0

Tracking Server 4.0

If you have set "useV3Packets=true" in the KFStatsX.ini file, you will need KFSXTrackingServer v4.0 to interpret the udp packets. Release notes and download link are on the github page:

https://github.com/scaryghost/KFSXTrackingServer/releases/tag/4.0https://github.com/scaryghost/KFSXTrackingServer/releases/tag/4.0
https://github.com/scaryghost/KFSXT.../download/4.0/KFSXTrackingServer-4.0.0.tar.gzhttps://github.com/scaryghost/KFSXT.../download/4.0/KFSXTrackingServer-4.0.0.tar.gz

To fully capture the data available in the newer KFStatsX packets, I coded up a separate database to fully capture the information available. The database schema and plugins for the KFSXTrackingServer application are on the github page, getting it working with KFSXTrackingServer and setup information are in the README.md file. The database schema is available for PostgreSQL, MySQL, and SQLite3.

https://github.com/scaryghost/KFStatsXTS_Advanced/releases/tag/0.1https://github.com/scaryghost/KFStatsXTS_Advanced/releases/tag/0.1
https://github.com/scaryghost/KFStatsXTS_Advanced/archive/0.1.tar.gzhttps://github.com/scaryghost/KFStatsXTS_Advanced/archive/0.1.tar.gz

ERD of the database schema
https://www.dropbox.com/s/vrmb0f93qgsv0i9/Database2.png?dl=0https://www.dropbox.com/s/vrmb0f93qgsv0i9/Database2.png?dl=0
 
Last edited:

NeedlesKane

FNG / Fresh Meat
Jan 18, 2012
151
1
0
Big D
Is this still whitelisted? I thought it was, but when running it on my server perks were not working. I downloaded v3.2.1.
 

Mofon

FNG / Fresh Meat
Aug 4, 2015
1
0
0
Yes. Unless you see "Log: STEAMSTATS: SECURITY CHECK FAILED - [file]" in KillingFloor.log , then [file] is whitelisted.

Like this?

STEAMAUTH : Connected to Steam Servers
STEAMAUTH : VAC Security Enabled
STEAMSTATS: SECURITY CHECK FAILED - /KFSTATSX.U
STEAMSTATS: SECURITY CHECK FAILED - ../System/KFStatsX.u

I'm using KFStatsX_v3.1