Resource icon

Apps Kissmyrank - Local Assetto Corsa Server Plugin 1.6f

Login or Register an account to download this content
I do not currently have a list of servers that use the plugin.
I'll try to implement the money penalty feature for next version and set it as default (kick will still be available if the host wants to).
 
Last edited:
Brioche updated Kissmyrank - Local Assetto Corsa Server Plugin with a new update entry:

Version 0.7

0.7 New Cut Lines. You can now define cut lines on the track and give penalty to players that cross them (any speed or speed limit). Creating a cut line is easy. All you have to do is just parking your car on the two ends of the line and run Kissmyrank console commands. Each cut line is fully customizable meaning that you can assign a penalty, a max speed in km/h, outlap only, qualify only and race only flags (please check the readme for more). Special cut lines can be defined for pit entry...

Read the rest of this update entry...
 
Here is a guide for the new Cut Lines feature:
Cut Lines
The Cut Lines Feature allows you to define lines on the track.
These lines can be used:
- to give penalty to players that cross the line
- to set a speed limit in a certain area of the track
- to prevent cutting in certain areas
Each cut line has the following properties:
- a name (pit entry speed limit line, pit exit line, your custom line)
- a speed limit over which to apply the penalty
- the penalty cost (e.g. how much a driver is charged for crossing it at a speed that is higher than the defined speed)
- the coordinates of the first point
- the coordinates of the second point
- a outlap only flag (e.g if the cut line should be applied only if the player is in the outlap)
- a qualify only flag (e.g. if the cut line should be applied only during the qualify session)
- a race only flag (e.g if the cut line should be applied only during the race session)
You can define a cut line using your car as a reference. Here is how you do it:
Scenario 1: Pit exit line
1) Use the player_list command to get the slot id of the car that you wish to use to define the line (let's assume 6 for the purpose of this guide)
2) Start the cut line sketch by writing in the console the "cut_line_drawer_begin" command
3) Set the line name with "cut_line_drawer_set_name pit exit line $1" (most pit exit lines are not straight so you have to define it as a multi line, appending $1, $2, $3 to the line name is the way to tell the plugin that they are all part of the same line)
4) Set the max speed with "cut_line_drawer_set_max_speed 0" (the 0 tells the plugin that crossing the pit exit line at any speed greater than 0 will give a penalty which is exactly what we want)
5) Set the penalty cost of the cut with "cut_line_drawer_set_penalty_cost 0.6" (anyone that will cross this line will pay 600€)
6) Enable the outlap only flag with "cut_line_drawer_toggle_outlap_only" (this applies the penalty only to those that are in the outlap)
7) Drive your car to the start of the pit exit line segment that you wish to define. Place it exactly where the line begins.
8) Set the first point of the line with the "cut_line_drawer_set_first_point 6" command (where 6 is your car slot id as determined on point 1)
9) Drive your car to the end of the pit exit line segment that you wish to define
10) Set the second point of the line with the "cut_line_drawer_set_second_point 6"
11) Save the line with the "cut_line_drawer_save"
12) Repeat points 2-11 to define other segments of the pit exit line as needed (e.g. pit exit line$2, pit exit line$3) and so on.
Scenario 2: Pit entry speed limit line (for pit lane speeding)
1) Use the player_list command to get the slot id of the car that you wish to use to define the line (let's assume 6 for the purpose of this guide)
2) Start the cut line sketch by writing in the console the "cut_line_drawer_begin" command
3) Set the line name with "cut_line_drawer_set_name pit entry speed limit line" (most pit exit lines are not straight so you have to define it as a multi line, appending $1, $2, $3 to the line name is the way to tell the plugin that they are all part of the same line)
4) Set the max speed with "cut_line_drawer_set_max_speed 80" (the 80 tells the plugin that crossing the pit entry speed limit line at any speed greater than 80 km/h will give a penalty which is exactly what we want)
5) Set the penalty cost of the cut with "cut_line_drawer_set_penalty_cost 0.6" (anyone that will break the speed limit will pay 600€)
6) Drive your car to the left end of the pit entry speed limit line. Place it as much to the left as possible.
7) Set the first point of the line with the "cut_line_drawer_set_first_point 6" command (where 6 is your car slot id as determined on point 1)
8) Drive your car to the right end of the pit entry speed limit line segment that you wish to define
9) Set the second point of the line with the "cut_line_drawer_set_second_point 6"
10) Save the line with the "cut_line_drawer_save"
Scenario 3: Your custom cut line (for the sake of this tutorial let's define a qualify only cut for the "Prima Variante" at Monza)
1) Use the player_list command to get the slot id of the car that you wish to use to define the line (let's assume 6 for the purpose of this guide)
2) Start the cut line sketch by writing in the console the "cut_line_drawer_begin" command
3) Set the line name with "cut_line_drawer_set_name prima variante$1" ($1 is only needed if you need it to be multi-line)
4) Set the max speed with "cut_line_drawer_set_max_speed 120" (people cutting this line at more than 120km/h will be issued a penalty)
5) Set the penalty cost of the cut with "cut_line_drawer_set_penalty_cost 0.6" (anyone that will cross this line above the defined speed will pay 600€)
6) Optional (if you wish the penalty to only apply in qualify or in the race use the "cut_line_drawer_toggle_qualify_only" or the "cut_line_drawer_toggle_race_only" command
7) Drive your car to the first point of the line that you wish to define (for the "Prima Variante" we could for example cover track re-entry on the part that leads to Biassono to check track re-entry speed)
8) Set the first point of the line with the "cut_line_drawer_set_first_point 6" command (where 6 is your car slot id as determined on point 1)
9) Drive your car to the end of the segment that you wish to define
10) Set the second point of the line with the "cut_line_drawer_set_second_point 6"
11) Save the line with the "cut_line_drawer_save"
12) Repeat points 2-11 to define other segments as needed (e.g. prima variante$2, prima variante$3) and so on.
You can list the cut lines for the current track with the cut_line_list command.
After you defined a cut line you can edit some of its settings with the cut_line_edit command.
Once defined you can save your work by typing save in the console.
Cut lines are effective as soon as you define them. You can disable the feature altogether by typing config_set cut_lines_enabled|0 and enable them back with config_set cut_lines_enabled|0.
The included tracks.json contains only a few cut lines that I defined while testing. Most tracks do not have any cut line defined so, if you want them, you'll have to define them yourself.
If you have defined reliable cut lines, feel free to share the tracks.json file with me so that I can update the main package and share appropriate cut lines to new users of the Kissmyrank plugin.
 
Brioche updated Kissmyrank - Local Assetto Corsa Server Plugin with a new update entry:

Version 0.7d

v0.7d Fixed driven distance displaying with the wrong amount of decimal digits in the Web Stats. Added Best Lap to the Web Stats race results. Improved Web Stats results visualization when no valid lap was recorded. Fixed Web Stats showing the wrong pole lap in case of cuts. Added live money check for the new money based lapping/hotlapping penalties (so that wreckers get kicked immediately when they go below the min money value that you set in the config). Improved the calculation of the...

Read the rest of this update entry...
 
It's rather easy to setup both on Windows and Linux servers (just unpack and run) but it requires the ability to launch the executable.
In your case, you can ask your provider if they can run the plugin on the host or if by chance is there any way you can upload and execute. If they need any information they can just ask, I'll do my best to help.
 
Brioche updated Kissmyrank - Local Assetto Corsa Server Plugin with a new update entry:

Version 0.8

v0.8 New Database Sharing: you can now share the rank, tracks and leaderboard database between different instances of the Kissmyrank plugin that are running on the same machine and/or remotely. If the Kissmyrank instances run locally, you just need to set "database_sharing_unique_name" to a unique name for each plugin and then set "database_sharing_local_group_port" in the config.json to the same value for all the instances that will be sharing the database (no other entries are required as...

Read the rest of this update entry...
 
Since I've been asked a few times, here is a tutorial on how to create a cut line:

Run the following commands in the Kissmyrank Console:
bWlfVXe.png


Drive your car to the first point:
DerGsE2.jpg


Go back to the Kissmyrank console:
sM1sSaU.png


Drive your car to the second point:
WoIVBdY.jpg


Go back to the Kissmyrank console:
EsEs7ev.png


Save your line:
KijpSj8.png


That's it line is active, do not cross it ;).

"pit entry speed limit line" can be drawn in a similar way, you just need to park your car on both ends of the pit speed limit line and set max_speed to 80 (do not trigger the outlap only flag for this one).

If a line is made by multiple segments just append $1 $2 at the end of the name.
Like "pit exit line$1", "pit exit line$2" and so on.

You can also set lines for cuts etc.. Just draw the line and set the max_speed a driver is allowed when crossing that line.

Type "save" in the console if you wish to permanently save your changes to the tracks file.

Use cut_line_list to list the cut lines
Use cut_line_edit if you wish to change the cut line settings.
Use cut_line_remove to remove the cut lines.
 
Brioche updated Kissmyrank - Local Assetto Corsa Server Plugin with a new update entry:

Version 0.8a

v0.8a New Kissmyrank Web Admin Console: you can now manage the Kissmyrank plugin and the Assetto Corsa server from the Web Browser via the Kissmyrank Web Admin Console ( http://yourserverip/kissmyrank_admin ). This feature will be disabled unless you set the "web_admin_console_password" config.json entry to a password of at least 12 characters. New admin_send_command: you can now send commands to the Assetto Corsa Server just like if you were typing in the game chat (e.g /ban_id,...

Read the rest of this update entry...
 
Let's say I want to run both KMR and stracker on a linux server. KMR is master, stracker is a slave. Such configuration works fine until track rotation occurs. acServer is restarted, but stracker isn't.

I have replaced a path to acServer ("ac_server_bin_path") with a shell script restarting both acServer and stracker but then KMR keeps restarting acServer and finally disables track rotation.

Code:
15:09:58> The Assetto Corsa Server has been terminated.
15:09:58> Starting the Assetto Corsa Server.
15:09:58> The plugin running on 127.0.0.1:10007 requested an update interval of 200ms (currently running at: 200ms).
15:09:59> connect ECONNREFUSED 127.0.0.1:8081
15:09:59> Ping check has failed. Delaying the next check by 15s.
15:10:05> The Assetto Corsa Server has been terminated.
15:10:05> Starting the Assetto Corsa Server.
15:10:06> The plugin running on 127.0.0.1:10007 requested an update interval of 200ms (currently running at: 200ms).
15:10:12> The Assetto Corsa Server has been terminated.
15:10:12> Starting the Assetto Corsa Server.
15:10:13> The plugin running on 127.0.0.1:10007 requested an update interval of 200ms (currently running at: 200ms).
15:10:19> The Assetto Corsa Server has been terminated.
15:10:19> Starting the Assetto Corsa Server.
15:10:20> The plugin running on 127.0.0.1:10007 requested an update interval of 200ms (currently running at: 200ms).

Any ideas?
 
KMR launches the ac server as children in order to monitor the process status (that's needed to manage it and kill it). If you use a shell script the plugin will get an invalid handle that ends when the shell script ends confusing the plugin. Stracker should be able to detect if the track changes just like KMR does. Try to wait a while and see if it updates (maybe it needs a bit).
If not, let me know. Maybe I can provide an option in future versions to launch a separate shell script when the track rotates. This will allow you to run a stracker restart script when the track rotates.
 
Thanks for reply. I might had something wrong in stracker config. :)
It works exactly as you said. KMR controls acServer and stracker detects when the server is being restarted.
I really apreciate your work on this plugin. A must have for asseto corsa server admins.

Just a few more ideas:
Add more ini options than just race length and session time. What about weather/dynamic_track?
Rotating entry list.
Next track voting through chat commands :whistling:
 
Back
Top