Resource icon

Apps Kissmyrank - Local Assetto Corsa Server Plugin 1.6f

Login or Register an account to download this content
Oh, silly me.
Fixed it.

But now our web admin interface isnt working. It is enabled in the kmr cfg and we made sure to have a strong password.
running on linux.
 
Here is a Video Tutorial on how to Install & Capture the track boundaries (capture part starts around minute 13):


Oh, silly me.
Fixed it.

But now our web admin interface isnt working. It is enabled in the kmr cfg and we made sure to have a strong password.
running on linux.

Maybe the Auth port is not reachable?
Have you checked in the console output if it's enabled?
 
First of all, amazing job, keep it up:

We are managers of the largest hispanic AC league and we are migrating our league to use this fantastic app to our final stage season.

We will try to provide as many feedback as possible to help you improve this outstanding piece of code.

We are having some discussion about the meaning of the following rule:

"The minimum acceptable time loss (in percent) for the Track Boundary Cut Gain filter to ignore the cut. 6=6% (e.g. a driving losing more than 6% compared to the fastest laptime of the session will not incour in a penalty)."

Does it speak about driver's session? Or about server's session?

Really we do not have enough words to thank you for this. It will save us quite a lot of work.

Kind regards,
ACi's staff
 
Thanks for the feedback, I appreciate it.

Regarding your question the driving line during a cut is compared to the fastest lap of the session.
On the first lap there is no fastest lap (as no one posted it yet) so definitions are strict.
When someone posts a valid fastest lap (e.g. a full lap without cuts in this strict mode) that will become the new reference lap against which all cuts are parsed.
A gain of 6% means that one has to lose 6% in that section compared to the reference time in the same section of the track.
The reference lap evolves dynamically as the pace increases (track build grips, fuel gets lower etc.).
 
Thanks for the feedback, I appreciate it.

Regarding your question the driving line during a cut is compared to the fastest lap of the session.
On the first lap there is no fastest lap (as no one posted it yet) so definitions are strict.
When someone posts a valid fastest lap (e.g. a full lap without cuts in this strict mode) that will become the new reference lap against which all cuts are parsed.
A gain of 6% means that one has to lose 6% in that section compared to the reference time in the same section of the track.
The reference lap evolves dynamically as the pace increases (track build grips, fuel gets lower etc.).

Great, thank you!
Finally we are going to disable this rule because from our point of view someone can loss more than a 6% and still have done some cuts. So maybe it is slower than the fastest lap but faster than his personal fastest lap.
Please let us know if our assumptions are wrong.
Kind regards,
ACi's staff
 
I think this feature is helpful cause the strict definition penalizes much more for example if you go off track, you have to slow down a lot before rejoining.
For instant cuts (e.g. no off-track moment but abuse of track) they will most likely get a penalty in any case even with 6% so you probably don't have to worry there.
For long cuts (e.g. off-track moment) you still have to slow a bit with 6% and you can also make it 10% or higher.

I suggest to try it. You'll see that even with 6% one is not allowed to rejoin fast. He will lose positions in a race. Just do one regular lap then cut on the second lap and see what's the best value for you.
If instead you want to go by strict rules you can disable the filter but I think that the filter improves the experience on longer off-track moments.
 
Brioche updated Kissmyrank - Local Assetto Corsa Server Plugin with a new update entry:

Version 1.6

v1.6 New: Assetto Corsa App Link. This new feature allows Kissmyrank to send events directly to in-game apps without relying on chat messages (e.g. to integrate Kissmyrank events into spotter apps like CrewChief and similar). You can find the documentation under /applink/doc/ and the demo app under /applink/demo/. Fixed: pit detection on some problematic tracks. Fixed: pit exit line crossing before the race starts on some tracks. Improved: Race Control session select dropdown is now sorted...

Read the rest of this update entry...
 
If anyone wants to try this is the first prototype of the spotter app that I am creating for the Kissmyrank Applink: https://www.dropbox.com/s/kgs213kyaxrts4k/ac_kissmyrank_app.zip?dl=0

The app is divided into 3.
Kissmyrank Link to connect to the server
Kissmyrank Flags to show flags about penalties and warnings (and also other visuals)
Kissmyrank Messages to show messages

Flags are random atm, just messing with it for testing.
To define flags edit the py file and add to the flags controls:
Code:
"flag_id": {
"path": "filename",
"slot": slot#
},
Example:
Code:
"vsc": {
"path": "vsc.png",
"slot": 0
},
where vsc.png is the file in the images folder (need to be squared transparent PNG).
Slots are like this
0|1|2
0= permanent flags like VSC (will not disappear)
1= temporary flags like penalties and damage (will auto disappear after the amount of seconds you set)
2 = permanent flags like Drive-Through (will not disappear)

The other important part is under:
"event_map"

Here is where you bind events in Kissmyrank\Language\en.json to flags and text:
It goes like this:
Code:
"id": [flags [flag1, flag2], sound, shows [show_flag1, show_flag2, show_text], text slot, seconds]
Example:
In en.json you can find this line:
Code:
"money_penalty": "Penalty%s: %s %s. You now have %s.",

If you add this:
Code:
"money_penalty": [["penalty", "vsc"], "", [1, 1, 1], -1, 12],

You're telling the app to show the "penalty" flag and the "vsc" flag defined as above when the money penalty event occurs (doesn't really make sense right now, it was just for testing).
Sound leave empty (there is no sound right now).

Shows (third arg) work like this
If flags are [flag1, flag2]
Shows [1,0,1] means that you want to show flag 1, hide flag 2 and show the text (third one is text, must be there).

Text slots are like this:
0 -> first line (for VSC and formation lap, text will not disappear on its own)
1 -> second line (for DT and perma penalty, text will not disappear on its own)
-1 -> auto-choose first available temporary message line (will disappear after the amount of seconds set)

seconds is the amount of seconds in which the temp flag/messages will disappear
This is not required if you do not include temp flags (slot 1) or temp text (slot -1).

App is BETA, use it only for testing.
Works with Kissmyrank 1.6 and above (you can join KMR|Applink Dev Server and do some infractions to test).
Password is "1" (just 1).

If someone would like to provide PNGs for the various events, you're welcome.
 
Hi Brioche,
I just came across your app yesterday and had a little go at it today. Let me say WOW! I feel like I found the holy grail of AC plug-ins. Massive thank you!

Now I am nowhere near to understand even half of it all and it will probably take a week to build a configuration for my needs and get it running properly but I have one question that I'd like to know the answer of right now:
When you set custom track limits/boundaries that are nowhere near the Kunos ones, like not counting kerbs as part of the track and therefore having different limits in almost every corner, can kiss my rank invalidate a lap?
So example situation: qualifying.
A driver gets the message that he cut from kmr but AC wouldn't invalidate the lap without kmr. Will the lap be valid for the grid order or can kmr invalidate the lap?
If not, would that be possible or do you already have a solution for these kind of situations? Would stracker invalidate the lap too (since it's getting the input from ac I guess yes)?

For race sessions this is not really important as drive through penalties would take care of that but for qualifying sessions it would make a significant difference.

Looking forward to a reply from you and thanks again for this hard work you did and still do. It's just incredible!
 
Thanks for the feedback.
Unfortunately there is a limitation there as plugins have no way to edit the grid.
The plugin itself it's forced to take the quali leaderboard from AC otherwise there would be a mismatch even though it will not consider those laptimes valid for its own record tracking and pole announcements.
I added race control also for this (so admins can keep track of cuts) but I am guessing that for public servers running no-money (with money there are penalty costs for cutting) the only thing is compromise (kick for cut would be harsh, but you can do for max_infractions if you like to punish on the second or third cut with a temp ban equal to the quali time so they miss the race).
Something could be done for the formation lap but again there is complexity there cause of the order of cars on the grid and it would probably create confusion and kick people without them knowing about it.
 
Last edited:
I thought so... Thanks for the quick response!
Would it then be possible to do something like a server message "you cut the track. Lose your delta or you'll get kicked" and then kick someone if he is still on a green delta by the end of the lap?

As you might imagine I'd like to configure this Plugin for the RD racing club and for upcoming leagues. It would transform the racing massively as plp has the problem that everyone needs to have it with the same config and it doesn't have custom track limits.

If it would be possible to restrict the cutting for qualifying (by a kick before putting in that valid lap or at least stating that a put in lap with a cut will result in a penalty after the race etc etc) and also introduce drive through penalties during the races (I know, that's already possible!) this would be golden!

I'm just lost with the configuration as I didn't have enough time yet to get this all into my head but a few questions arised already :)

If you would be open for that I'd love to create a pm with you next week when I understand more of your work to go through some points.
I'm completely on my own here so while I can understand most of it, I'm a real newbie to coding etc so I would appreciate if you would guide me a little and help/give clarity to some things then so I/we could improve the RD ac experience big times! :)

Not planning on stealing your time though, don't worry!
 
I think it's possible to create a new infraction event that you can map to qualify:kick that works like this.

AC gives valid lap
and
KMR gives cut
and
Quali Time improved

However players might get kicked on their fist lap if they cut in a way that is not detected by AC.

I'll add it for next version.
 
Last edited:
I think it's possible to create a new infraction event that you can map to qualify:kick that works like this.

AC gives valid lap
and
KMR gives cut
and
Quali Time improved

However players might get kicked on their fist lap if they cut in a way that is not detected by AC.

I'll add it for next version.
I think it's too early for me to really know what would be suitable and a good solution so don't start to work on things that might need further thinking and discussion first.
Only update things you really like on your own. Not because of me asking for it!

Another idea, if that's possible, would be to give a driver who puts in a lap with a cut in qualy a drive through for the race.
Is that possible? Might be better than a kick.

I'm still stunned as your Plugin opens a completely new dimension so it's probably better if I get it properly running first and test things and then come back to you with a list of ideas, what I would really need and alternatives when it might not be possible to do this or that.

Of course I don't take anything for granted! I totally get if you don't want to spend any time on something this special but it would make a hell of an awesome difference for our clubs if it works like I imagine right now! :)

I think though that you will like most of what I would/will come up with, judging from everything you already put into this plugin :)
 
Last edited:
Don't worry, I am lazy so I try only to implement things that make sense in the Kissmyrank logic :).
I like the idea. It will be there. If you keep AC limits to validate the times, the penalty will only be needed when KMR definitions are stricter.
Regarding drive-through in next session it is also a good idea as DT in quali has really no meaning anyway.
Still you will have to be careful with session skipping/restart etc. and you will be only able to cancel DTs for a driver via Race Control before the Qualify session is over (Race Control can only handle penalties for the current session, I can maybe provide a console command for this case).
I'll see if it's possible to add it.
 
Don't worry, I am lazy so I try only to implement things that make sense in the Kissmyrank logic :).
I like the idea. It will be there. If you keep AC limits to validate the times, the penalty will only be needed when KMR definitions are stricter.
Regarding drive-through in next session it is also a good idea as DT in quali has really no meaning anyway.
Still you will have to be careful with session skipping/restart etc. and you will be only able to cancel DTs for a driver via Race Control before the Qualify session is over (Race Control can only handle penalties for the current session, I can maybe provide a console command for this case).
I'll see if it's possible to add it.
Cool!
We basically never skip or restart a session other than before the start of the actual event or skip practice into qualy.
Qualy always has some 2 minute overtime so enough time to delete unfair penalties before it moves on to race session I think. I guess one would be able to see the cut that lead to the penalty so race control can quickly skim through them if a driver complains (we are all in Teamspeak) and check if the penalty should be deleted?

And I have a little question regarding the cut detection, maybe you can clarify on this:
The cut detection only flags the cut as a cut when the driver gained time. How exactly does this work?
Does it work like this:
- car going offtrack @ delta: -0.050
- car rejoining @ delta: -0.020
No cut because the driver lost 0.030s while being offtrack or does the car has to slow down?

I ask because a friend of mine (Matteo, maybe you remember him) said it would be unfair if you went wide over outside kerbs while keeping the throttle pinned but lost a tenth or something due to it and then won't be allowed to keep the delta you gained before and maybe after that "cut" and would have to bin the lap to not get a penalty.
Maybe it's your secret how the cut-filter-algorithm exactly works, maybe you'd share it with me. I'm just curious :)
 
Yes Race Control is exactly meant to do that.
You can login with the race control pass and remove or give penalties (N stands for none, DT drive-through and so on). Just click to change.

Explanation about the filter is here:
http://www.racedepartment.com/threa...rsa-server-plugin.142199/page-15#post-2716498

It's not that complex. It's compared to the fastest lap of the session with a malus.
6% slower means that loss must be more than 6%.
You can make it 10% and the driver will have to slow down more.
First lap is strict.

I think it's not really unfair in most cases as it applies mostly to big cuts. If you can travel a section of the track in 1 second with 10% you need to lose 0.1 on the cut or you'll get a penalty. 10% on the whole track would be huge and here we're talking about a small part of it.
Cuts of this duration are normally off-track moments and you'll find out that players do not slow down enough on big cuts and get the penalty even with 6%.
Shorter cuts will result in a penalty in any case because of how the detection works (here the filters acts less) so for example if you go wide a tiny bit on one of the fast turns at Silverstone you'll get the penalty.
The whole point of this is punishing players that get an advantage and I think the overall balance is good, but in the end, the best thing is not to take my word but to test yourself and see if there is a value that fits your need.
All in all there are various elements that come in to play and this is just a setting out of many that helps to make sure that people that accidentally go off track do not get penalized unless they rejoin the track without losing enough time.
 
Hi there again!
Thanks for your responses as always.
Keep it up the good work within the plugin and the beta spotter's app.

We might have found a bug regarding VSC.

Test case scenario:

First lap, race starts. VSC's kicks in because a massive crash (under our parameters). One car overtakes another so it gets a DT.
While VSC is still active he gets into pit box area so he can accomplish the DT so, with the speed difference between the guy driving through the pits and the rest of cars overtaking him, is it possible that the cars that are following the VSC instructions (without doing any violation) overtakes the DT's driver and receive a penalty (overtake's penalty)?

We migh have experienced this in our test.

Thanks for your time.
Kind regards,
ACi's staff
 
Last edited:
The car behind must wait for the car to enter the pit area (the pit area must be captured, aka see it in the live map).
Then he can overake (when the car is in pit).
If a car receives the warning, he must back off immediately and fall behind the originating car, wait for it to be fully inside pits then he can overtake with no warning.
The key is that if the plugin gives the warning to give back the position, the position must be given back.
 
Last edited:

Latest News

What's needed for simracing in 2024?

  • More games, period

  • Better graphics/visuals

  • Advanced physics and handling

  • More cars and tracks

  • AI improvements

  • AI engineering

  • Cross-platform play

  • New game Modes

  • Other, post your idea


Results are only viewable after voting.
Back
Top