stracker

Apps stracker 3.5.1

Login or Register an account to download this content
Thank you @Jempy you mean that the lap is invalid even though there aren't cuts and not collissions because the ALLOWED_TYRES_OUT is true ...

I test and it seems that is the reason ....
 
In fact, the second example you showed is not a very good one.
Nearly all laptimes are different ... what's the normal one for this track-car combo ???

So difficult to know if maybe a "Esc" was used by the driver, or a DT done if an app as Pitlane Penalty is used on your servers, or a limited out of track or ???
Reasons why a lap may be considered as invalid:
- Uncomplete lap if "Esc"
- End of lap in the pitlane
- maybe not a "cut" but well being out of track somewhere without any collision....
 
Hello in my linux server I want to change the image banner, so I edited my stracker.ini file and I put the correct path in banner = /dir1//tracker_linux_x86/logo-custom.png.
I stopped the stracker and started again but the banner isn't overwrite ....
How can I change the logo ??

Thank you
 
The easy way if it doesn't work as it should ..... simply replace the original banner by your own.
That's what we did for a long time now.
( Just remember you did it in case of reinstall or update version )

Go to this folder: Stracker/http_static/img .... replace the original banner.png by your own and keep the name banner.png for this new one ...

That way, no need to modify the stracker.ini file and you'll have your own banner very easily.

It works for Windows, but I don't see the reason why it might not work for Linux. ;)
 
ok I understand. Indeed I read that the sha256 is undecryptable. So, let's see it from another point of view. On my server will have access only people subscribed to my website, who must include their GUID in the registration form of the website (so that is something I already know). I must be able to check the pilot's GUID on my users database table against the one on the stracker database in order to recover their statistica and so on...

I imagined to do that by doing the sha256 encryption of the Guid myself while inserting it in my players database and to compare it to the stracker database but without knowing the salt it is impossibile ti have the same result.
Is there a way I can know or modify the originale salt (as admin of the website and responsable of privacy information)?

For that you can have a look in the source code, supplied as a git repository: https://www.racedepartment.com/downloads/sp-tracker_source.22388/download?version=39763

Regards
Neys
 
Actually this issue is only when stopping stracker and not in general closing programs running on dos-boxes with ctrl+c. I would say what ever stracker is doing to database before it can be shutted down (getting to that Y/N question phase), it gets badly stuck.

I also noticed that if I just play around with stracker without doing any laps or connections to AC server, stracker seems to shutdown fine. So in that point nothing has written to database and closing is OK. Then I make few laps on server and stracker gets stuck on shutdown.

I just encountered the same problem today .... on a Windows 2012 Server.
3 Stracker instances with 3 different databases.

Impossible to get the Y/N question after Ctrl-C on all 3 consoles. I succeeded to kill 2 processes easily ... in Task Manager ... but the 3d console remained opened on screen while no process for this one appeared in the Task Manager.
It finally closed after a long while .... but restarting this Stracker instance created an error ( I forgot to save the log before solving the problem ).... but I know it looked like as if it was more a port problem than anything else.

Just restarting the remote server was the only solution to solve the problem.

No expert in those matters, but could it be a port problem ? .... still active while the instance is stopped ? ... is it possible ?... that should explain why a PC restart is the only solution to solve this problem.
 
If it actually is a port problem, you might just test if waiting for 10 minutes or so solves the problem. OS can decide to hold the socket for some time after a process has been killed.
 
Hoping it doesn't happen once again ( as it is the 1st time it does ) :D ... I'll try your solution, Neys. ... thanks for the suggestion. :thumbsup:
 
Now I found this explanation to the problem I and maybe others encountered:

What may be happening is that your process had a TCP port open when it crashed or otherwise exited without explicitly closing it. Normally the OS cleans up these sorts of things, but only when the process record goes away. While the process may not appear to be running any more, there is at least one thing that can keep a record of it around, in order to prevent reuse of its PID. This is the existence of a child process that is not detached from the parent.

If your program spawned any processes while it was running, try killing them. That should cause its process record to be freed and the TCP port to be cleaned up. Apparently windows does this when the record is released not when the process exits as I would have expected.

In this case, waiting 10 or even 20 minutes won't help.
There is surely a software or tool to find the child process and stop it ( Process Explorer I suppose ) ... if not, restarting the server is the only possible solution to free the port.
 
Hi!

I have a simple question. How can I know the vMax on sessions? For example, I want to know the vMax for a race or qualify session.

When I add the vMax column, it only works on "Lap Times" tab.

Thanks.
 
Except have the Vmax for the best lap in "Lap Times" tab, I cannot see another solution than this one in order to know your Vmax per session:

Look at the session, click on your name in the ranking of this session and click on each lap one by one ... so you'll be able to see all details for this lap ( including the Vmax for that lap ).

I don't see any settings in the Stracker.ini to do what you'd like.
 
Except have the Vmax for the best lap in "Lap Times" tab, I cannot see another solution than this one in order to know your Vmax per session:

Look at the session, click on your name in the ranking of this session and click on each lap one by one ... so you'll be able to see all details for this lap ( including the Vmax for that lap ).

I don't see any settings in the Stracker.ini to do what you'd like.

Thanks! That's what I was doing... But... I'm doing the stats for the race. So I'm watching all 25 laps from 18 drivers. So I need to see 1044 pages of information to know who was the fast racer. Haha...
 
Well ... so just 2 words: have pleasure .....:(
I don't have any doubt about the work it might be ! .... but is it well necessary ? .... as there is surely not a huge difference of Vmax between most laps. ;)

Never did it ... so... I'll surely never do it if I haven't a better solution. :whistling:

EDIT: with a minimum knowledge of database .... it might surely be possible to find those Vmax per lap ... but that shouldn't be very easy and I guess all laptimes might be in .... milliseconds
 
Last edited:
Since the death of Minorating, I believe every server admin is looking for a solution to keep his servers more or less clean from wrackers. So I thought strackers:
Code:
AUTH_PLUGIN_ADDRESS=xxx.xxx.xxx:yyyy/acauth?server=acserver1&maxTimePercentage=101&
.
can do the trick.
I thought in 2 servers ( acserver1 and acserver2) using the same postgres database, using acserver 1 as a rooky server and acserver2 as a server access controlled by filtering on lap times done on the rooky server. The 2 different stracker.ini pointing to the same database, each with a different server name.
So if I understand the concept right stracker on connection to server 2 has to check in the database for values of server 1 an grant or decline access by using above code with yyyy pointing to http port of stracker plugin of server 1 (the rooky one).
But this doesn't happen - I can access server 2 even I do not accomplish the qualification to get in or it's me who don't understand the concept. What's wrong?
 
Last edited:
Since the death of Minorating, I believe every server admin is looking for a solution to keep his servers more or less clean from wrackers. So I thought strackers:
Code:
AUTH_PLUGIN_ADDRESS=xxx.xxx.xxx:yyyy/acauth?server=acserver1&maxTimePercentage=101&
.
can do the trick.
I thought in 2 servers ( acserver1 and acserver2) using the same postgres database, using acserver 1 as a rooky server and acserver2 as a server access controlled by filtering on lap times done on the rooky server. The 2 different stracker.ini pointing to the same database, each with a different server name.
So if I understand the concept right stracker on connection to server 2 has to check in the database for values of server 1 an grant or decline access by using above code with yyyy pointing to http port of stracker plugin of server 1 (the rooky one).
But this doesn't happen - I can access server 2 even I do not accomplish the qualification to get in or it's me who don't understand the concept. What's wrong?

Your use case looks valid by a glance.

Difficult to say. Maybe you find interesting items in one of the stracker.log files, both server1 and server2 log might be interesting. You might have added yourself to the whitelist, maybe? Last but not least the feature might not be working anymore, a bug might have been introduced, and maybe this is something not being used widely, so nobody noticed.

Greetings
Neys
 
Your use case looks valid by a glance.

Difficult to say. Maybe you find interesting items in one of the stracker.log files, both server1 and server2 log might be interesting. You might have added yourself to the whitelist, maybe? Last but not least the feature might not be working anymore, a bug might have been introduced, and maybe this is something not being used widely, so nobody noticed.

Greetings
Neys
Hi thanks for the fast response - yes the whitelist thing was the reason I slipped through.
The log file after that is quite interesting,

Code:
stracker[INFO ]: Log verbosity changed: 2
stracker[ERROR]: Cannot read file with bad words (bad_words.txt): [Errno 2] No such file or directory: 'bad_words.txt'
stracker[STDOUT]: Starting stracker - press ctrl+c for shutdown
stracker[INFO ]: Lowered stracker priority.
stracker[INFO ]: Using plugin configuration rcvport=11559 sendport=11558 proxy=(None/None)
stracker[INFO ]: Plugin listens to port 11559 and sends to port 11558.
stracker[INFO ]: update soft split positions for spa ['0.325', '0.725', '1.000']
stracker[INFO ]: acauth request: GET /acauth?server=RaceManiacs2&maxRank=300&&GUID=76561198132723148&PSW= HTTP/1.1
stracker[ERROR]: Error found in database thread: global name 'preventAnon' is not defined
stracker[ERROR]: Traceback (most recent call last):
  File "ptracker_lib/async_worker.py", line 34, in new_f
  File "ptracker_lib/database.py", line 140, in <lambda>
  File "ptracker_lib/dbgeneric.py", line 2007, in auth
NameError: global name 'preventAnon' is not defined

stracker[ERROR]: This function was called from:
stracker[ERROR]:   File "threading.py", line 878, in _bootstrap
  File "threading.py", line 901, in _bootstrap_inner
  File "ptracker_lib/helpers.py", line 244, in new_f
  File "stracker/stracker_lib/acauth.py", line 193, in run
  File "stracker/stracker_lib/acauth.py", line 184, in perform_auth
  File "stracker/stracker_lib/acauth.py", line 91, in get_local
  File "stracker/stracker_lib/acauth.py", line 101, in runauth
  File "ptracker_lib/database.py", line 65, in __call__

stracker[ERROR]: error caught:
Traceback (most recent call last):
  File "ptracker_lib/helpers.py", line 244, in new_f
  File "stracker/stracker_lib/acauth.py", line 193, in run
  File "stracker/stracker_lib/acauth.py", line 184, in perform_auth
  File "stracker/stracker_lib/acauth.py", line 91, in get_local
  File "stracker/stracker_lib/acauth.py", line 101, in runauth
  File "ptracker_lib/database.py", line 100, in result
  File "ptracker_lib/database.py", line 86, in checkErrors
  File "ptracker_lib/async_worker.py", line 34, in new_f
  File "ptracker_lib/database.py", line 140, in <lambda>
  File "ptracker_lib/dbgeneric.py", line 2007, in auth
NameError: [COLOR=#ff0000][U]global name 'preventAnon' is not defined[/U][/COLOR]

stracker[WARN ]: acauth timeout: ''
stracker[STDOUT]: Runtime error. Check stracker.log and check your configuration files.
stracker[ERROR]: Traceback (most recent call last):
  File "threading.py", line 288, in wait
KeyboardInterrupt

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "queue.py", line 176, in get
  File "threading.py", line 298, in wait
  File "threading.py", line 242, in _acquire_restore
KeyboardInterrupt

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "stracker/stracker_lib/ac_monitor.py", line 1958, in run
  File "stracker/stracker_lib/stracker_udp_plugin.py", line 56, in processUdpCallbacks
  File "queue.py", line 179, in get
  File "threading.py", line 233, in __exit__
RuntimeError: release unlocked lock

stracker[INFO ]: Shutting down acmonitor.
stracker[INFO ]: Shutting down the server.
stracker[INFO ]: Shutting down http.
stracker[STDOUT]: Stopping http server; please wait - this might take some time
stracker[INFO ]: Shutting down pending ptracker connections.

I think something has got lost ... or never has been there we will see
It's in ptracker_lib/dbgeneric.py about Line ~2004+.
this line was missing;
Code:
preventAnon = not ans is None
( not sure it's correct like that)
anybody here has any idea how to compile it for Linux and Windows?:)
 
Last edited:
No this is permanent. The documentation html page is now inside the stracker.zip file.
As you might already have spotted, the domain has sadly now been snapped up by the usual unscrupulous types... :-S
Is the git repository gone from the net entirely? (I last downloaded it many months ago.)
 
Hey guys!

There are some problems with SSL in Linux Server.

Http server abends with follow error:

Code:
{2018-09-10 11:18:49}: stracker[DEBUG]: Starting http server
{2018-09-10 11:18:49}: stracker[ERROR]: While processing url: <unknown>
[10/Sep/2018:11:18:49] ENGINE Error in 'start' listener <bound method Server.start of <cherrypy._cpserver.Server object at 0xf62713ac>>
Traceback (most recent call last):
  File "site-packages/cherrypy/wsgiserver/__init__.py", line 2252, in get_ssl_adapter_class
KeyError: 'cherrypy.wsgiserver.ssl_builtin'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "site-packages/cherrypy/process/wspbus.py", line 207, in publish
  File "site-packages/cherrypy/_cpserver.py", line 167, in start
  File "site-packages/cherrypy/_cpserver.py", line 158, in httpserver_from_self
  File "site-packages/cherrypy/_cpwsgi_server.py", line 60, in __init__
  File "site-packages/cherrypy/wsgiserver/__init__.py", line 2257, in get_ssl_adapter_class
ImportError: No module named 'cherrypy.wsgiserver.ssl_builtin'

{2018-09-10 11:18:49}: stracker[ERROR]: While processing url: <unknown>
[10/Sep/2018:11:18:49] ENGINE Shutting down due to error in start listener:
Traceback (most recent call last):
  File "site-packages/cherrypy/process/wspbus.py", line 245, in start
  File "site-packages/cherrypy/process/wspbus.py", line 225, in publish
cherrypy.process.wspbus.ChannelFailures: ImportError("No module named 'cherrypy.wsgiserver.ssl_builtin'",)

How to fix that?

Best regards
 

Latest News

Back
Top