Author: Davide Bolognesi Discord: https://discord.com/invite/syVQEG9 Patreon: https://www.patreon.com/DavideBolognesi Facebook: https://www.facebook.com/AssettoCorsaRealPenalty YouTube: https://www.youtube.com/@davidebolognesi8023 This software is only a Assetto Corsa server tool for the admins! On the client this in game app must be installed (download here for free): https://www.patreon.com/posts/real-penalty-app-79268083 IMPORTANT - The client app is no longer available non Racedepartment and every new version will be released only on Patreon! License To use this software the Patreon subscription is required and you receive a private key for the tool (please write a DM for that): https://www.patreon.com/DavideBolognesi Modification, redistribution and reuse are not permitted without the author's permission! Only for private servers, non-promotional and non-commercial use without permission!!! Installing this tool on your server you are aware that some software will be installed on the clients during the joining to your lobby. You are responsible for that! Real Penalty uses the package "cryptography" (https://github.com/pyca/cryptography) "cryptography" is made available under the terms of *either* of the licenses found in LICENSE.APACHE or LICENSE.BSD. Contributions to cryptography are made under the terms of *both* these licenses. The code used in the OS random engine is derived from CPython, and is licensed under the terms of the PSF License Agreement. -------------------------------------------------------------------------------- Install -------------------------------------------------------------------------------- ONLY 64bits operative systems (Windows or Linux) are supported!!!!! Upgrade: - override the file ac_penalty in your RP main folder: - Windows: ac_penalty.exe - Linux amd64: ac_penalty - Linux arm64: arm/ac_penalty - override the folder "files" - check the new options in the three .ini files and if necessary set the new values. New install. - If you use "AC Server Manager by Emperor" you have to create the main folder "realpenalty" in the directory of the server (for multiserver inside \servers\SERVER_00\your_ac_directory). If the other cases create the main directory where you want using free name. - Copy all file of the package (only one ac_penalty depending on your OS) and the two folders (files and tracks) to the new directory - Windows: ac_penalty.exe - Linux amd64: ac_penalty - Linux arm64: arm/ac_penalty - Using "AC Server Manager" by Emperor you can set everything using the web interface under Server/Real Penalty Options. In the other case: - active the plugin in the AC server (UDP_PLUGIN_LOCAL_PORT and UDP_PLUGIN_ADDRESS in the cfg - see Kunos documents) or in an other plugin as UDP proxy. You can also use Real Penalty as UDP proxy, info in the "settings.ini" section [Plugins_Relay]. - set the file "settings.ini" in the plugin folder (you find all info in the file). - set the file "ac_settings.ini" and "penalty_settings.ini" at your convenience (you find all info in the files). - IMPORTANT for "AC Server Manager" by Emperor users. - To set any new option not yet integrated in the web page you have to create a new file in the realpenalty directory and manage the new options there: - fixed_settings.ini for settings.ini options - fixed_ac_settings.ini for ac_settings.ini options - fixed_penalty.ini for penalty.ini options Every option included in one of the fixed file is used normally and (when exist) overrides the value from the original setting file. - start the plugin ("ac_penalty.exe" or "start_real_penalty.bat" for windows, "ac_penalty" for linux) before or after the start of AC server. If you restart the AC Server, Real Penalty can continue to run! You need to restart this plugin only if you edit one of the three .ini files or after a version update! Important: using "AC Server Manager" by Emperor this plugin starts and stops automatically parallel to the AC server. -------------------------------------------------------------------------------- Changelog -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- V.4.09.00 -------------------------------------------------------------------------------- - No penalty cars always locked on the pit - DSQ for teleport only after leaving the pit lane for the first time. Immediately after the join the teleport is allowed until the car does not leave the pit lane - Crossing check entering the pit lane. You need the additional track file with this new feature (the current track files are not ready yet) - If teleport not allowed: DSQ in case of disconnection because a reconnection would be like a teleport (pit not reached and new car set) - Track checksum: added surfaces.ini of the used track and system/data/surfaces.ini - For ACSM users: Track and car checksums use now the json files created by ACSM (no additional files are needed on the server) - In game radar (helicorsa): option to show or hide it as default (when it's not mandatory) and option to hide the yellow/red indicators (using the in game app "Real Penalty - settings") - A unique log file instead of a new file for each session. This is just a technical log and you normally don't need it (only for technical problems or problems during registration) - New summary at the end of the log of each session for DSQ and seconds penalty (file xxxx_penalty_{date}_{time}.log - Whitelist - see ac_settings.ini - Dynamic car liveries assignment - see ac_settings.ini. You need another HTTP server for that, I will post it on Patreon. - Some minor fixes and some optimizations. -------------------------------------------------------------------------------- V.4.08.00 -------------------------------------------------------------------------------- - Helicorsa is now always showed when it's set as NO mandatory (but in this case the drivers can hide it if they want) - The fast_lane.ai file of the used track is now always checksummed (the file is very very important for everything on the client but AC does not check it) - New option "No penalty during SC/VSC/FCY" is now working. See more info in the ac_settings.ini (General, taking_during_sc/entering_pit_lane_threshold_time) - Fix an error during the test immediately after the join of a new client, if the app is working well (if not immediately kick now) - Many other minor improvements and better performance of the client app, especially for DRS and SC/VSC/FCY. -------------------------------------------------------------------------------- V.4.07.02 -------------------------------------------------------------------------------- - Anticheat updated -------------------------------------------------------------------------------- V.4.07.01 -------------------------------------------------------------------------------- - Compatible with CM Server activating the "Custom Shaders Patch" options. - Compatible with the function "Generate GUID From Name" of "AC Server Manager" by Emperor. Using this option the clients need the Real Penalty in game app v.1.05.00 or newer. It only works without special characters for driver name (UTF8 encoding only!). -------------------------------------------------------------------------------- V.4.07.00 -------------------------------------------------------------------------------- - First integration with the "real penalty" LUA app (for LUA the CSP >= 0.1.76 is needed). The full feature is not yet available but the app will be able to lock the DRS when its use is not enabled (it should prevent involuntary penalties). - Fixed the error reading the drs_zones.ini files (for example drs_zones.ini) with unconventional comments. - Some other minor improvements. -------------------------------------------------------------------------------- V.4.06.02 -------------------------------------------------------------------------------- - Fixed a an issue that could cause rare kicks (enterying the pitlane too fast or due a jump start) -------------------------------------------------------------------------------- V.4.06.01 -------------------------------------------------------------------------------- - Fixed the bug when the cars in the entry list are less then the max clients value set in the server options (in this case Real Penalty did not work joining the server after the start of the race). -------------------------------------------------------------------------------- V.4.06.00 -------------------------------------------------------------------------------- - An anticheat system now included. At the moment it only scans the AC process (if in-game apps used) but in the future I'd like to integrate a real antcheat programm that should scan everything on the client. - Added a litle tolerance to jump start control during rolling start. - Every Refuell is now logged on the server. - More accurate normalized position on the client if the CSP is used (the original AC API has problems driving in the wrong direction) - Better system to get what happened on the track before joining the session (current laps of every car, penalty, warning, swap info, SC status, ....). - Option to log every VSC/FCY delta at restart of the race (see ac_settings.ini, option too_slow_delta) - New format "mm:ss" on the screen for remaining swap time. - The tool computes now the total driving time for each driver (time on the track, no pit lane, no when disconnected). This is the first step for stint/time limits during endurance races. - The flag "taking_during_sc" is now functional. When "false" the drivers can not take penalties during SC/VSC/FCY and the compute of laps left is locket until restart of the race. IMPORTANT: to use this option you need not only the additional track file but also you have to define the first and second Safety Car lines. I'll release an in game app for that as soon as possible. - Options "convert_time_penalty" and "convert_race_penalty" during driver swap races removed (in combination with taking_during_sc=false can not work well). - VSC Delta leaving the pit lane fixed - Fixed the gap between the cars crossing the DRS detection points (in some cases the DRS was enabled when it should not) -------------------------------------------------------------------------------- V.4.04.02 -------------------------------------------------------------------------------- - New build for Linux ARM64 (only tested on my Virtual Machine). - Fixed a problem in sending UDP data packets. In some cases there should be fewer chat messages (thanks to Oleg on Discord for that). -------------------------------------------------------------------------------- V.4.04.01 -------------------------------------------------------------------------------- - Fixed an issue when someone joins the server during FCY or VSC. -------------------------------------------------------------------------------- V.4.04.00 -------------------------------------------------------------------------------- - It's now possible to clear the penalties using the in game admin app (it does not work for the AC jump start) - Jump start during rolling start (see ac_settings.ini) - Pit lane indicator without using the additional track file - New commands using the the third part application on the server - Fixed same rare problems with the green light during restartart after a SC period. - Fixed double penalty ID - Fixed the wrong message when penaly = 0 seconds (for example jump start during rolling start) - Fixed a rare error in counting the missing laps for penalty -------------------------------------------------------------------------------- V.4.02.05 -------------------------------------------------------------------------------- - Real Penalty now compatible with every version of CSP, Sol, Pure. - New UDP interface for thirt part application on the client (I'll post the documentation on Patreon as soon as possible). -------------------------------------------------------------------------------- V.4.02.00 -------------------------------------------------------------------------------- - Virtual Safety Car (option in ac_settings.ini, section "Safety_Car"). It's ready but at the moment not yet active. I'll post everything on Patreon. - Full Course Yellow (option in ac_settings.ini, section "Safety_Car") - Min stop time for every pit (option in ac_settings.ini, section "Safety_Car") - New server side interface for external application (option in settings.ini, section "General"). I'll post the documentation as soon as possible on Patreon. - Compatibility with Teleport option of CSP - "fast_lane.ai" checksum fixed - Contemporary stop&go and long pit fixed - WeatherFX checksum fixed using CSP >= 0.1.76 (not compatible with every script, Pure too) -------------------------------------------------------------------------------- V.4.01.07 -------------------------------------------------------------------------------- - Driver swap feature - Automatic closing of DRS when not enabled (the driver has to set an additional DRS key of the keybord) - Car locked on the pit after teleport if set as not enabled. - Qualify time. The drivers can not leave the pit lane before the green light. - Better radar (it reads the car sizes from collider and data files). It shows the angle of the cars too. - Possibility to disable Real Penalty for certain cars - Additional info from AC Server Manager - Admin password instead of GUIDs - New admin app - Fixed the pit not detected during a drive through when the race starts without other sessions. - License/product key system -------------------------------------------------------------------------------- V.3.02.01 -------------------------------------------------------------------------------- - Fixed small isues of version 3.02.00 -------------------------------------------------------------------------------- V.3.02.01 -------------------------------------------------------------------------------- - Fixed small isues of version 3.02.00 -------------------------------------------------------------------------------- V.3.02.00 -------------------------------------------------------------------------------- News: - New in game app to set the windows (color, size and position) of Real Penalty - Fixed occasional disconnections during the races due to failed checks. - Calculation of the gaps at the DRS detection point improved - Fixed the Stop & go penalty from chat command. - All chat logs now start with "RP" instead of "ACP". Because that here the new chat commands from "SERVER": RP<:message:xxxxx send the text "xxxxx" (to one or all drivers) RP<:penalty:dt assign a drive through (I recommend to send it ONLY TO ONE DRIVER!) RP<:penalty:sgn assign a stop & go n seconds (I recommend to send it ONLY TO ONE DRIVER!) RP<:penalty:nn assign nn seconds penalty to add to the final race time (I recommend to send it ONLY TO ONE DRIVER!) - Driver swap ready (not yet ready but cooming soon) -------------------------------------------------------------------------------- V.3.00.02 -------------------------------------------------------------------------------- **** Update if you have the version 3.00.01 already installed - override the "ac_penalty" program (Windows or Linux version) and the files "app" from the folder "files" - Fixed multi logs file for the same session (thanks to Stefan1507 on Discord!) - Fixed the version number in the log on the client -------------------------------------------------------------------------------- V.3.00.01 -------------------------------------------------------------------------------- **** Update if you have an old version installed: - Override the plugin program and the folder "file" - Add in the ini files the new optiones as you want - This version works well only if you install all files of this package. New programm is not compatible with old app/sounds files!!! - All drivers NEED the new app version 1.00.00 (or newer): https://www.racedepartment.com/downloads/real-penalty-client-app.34499/ - Support for AC 32 bits - The drivers need the new app - version 1.00.00 or newer (Sol and Custom Shaders Patch work only with in 64 bit mode!) - Better plugin performance - New architecture between app and plugin (less chat messages und better stability of the connection) - Small improvments during join - Small improvments during rolling start (you can now set the start light after the finish line - set NORMALIZED_START_POSITION > 1) - Small improvments during taking penalties - Small improvments during safety car period Blue flag improvments - Add car checksum for collider.kn5 and data.acd - info in ac_settings.ini - New function to invalidate the lap time from the app (thanks to x4fab!) - section [Custom_Shaders_Patch] in ac_settings.ini - New option to disable DRS peanlty during safety car periods - section [Drs] in penalty_settings.ini - New option to disable DRS peanlty for cars without it (sorry, the AC app does not know this info from AC) - section [Drs] in penalty_settings.ini - New option to disable cutting penalty during safety car periods - section [Cutting] in penalty_settings.ini - You can now send a few commends via chat from the "SERVER" as admin (for example from sTracker, AC Server Manager or other plugins with this feature. Sorry, at the moment Real Penalty can not do it). ACP<:message:xxxxx send the text "xxxxx" (to one or all drivers) ACP<:penalty:dt assign a drive through (I recommend to send it ONLY TO ONE DRIVER!) ACP<:penalty:sgn assign a stop & go n seconds (I recommend to send it ONLY TO ONE DRIVER!) ACP<:penalty:nn assign nn seconds penalty to add to the final race time (I recommend to send it ONLY TO ONE DRIVER!) - New function to force settings. You can (not must) add this three files (or only one): fixed_ac_settings.ini.ini fixed_penalty_settings.ini fixed_settings.ini If the files not exist the plugin reads only the three std ini files. All settings that are in the "fixed" files override the other settings in the std ini files. I use this option for the new options of Real Penalty that are not yet integrated in the AC Server Manager page. -------------------------------------------------------------------------------- V.2.04.04 -------------------------------------------------------------------------------- I forgot the new images for helicorsa. Sorry! Copy the images files to your folder of plugin files. -------------------------------------------------------------------------------- V.2.04.03 -------------------------------------------------------------------------------- - Helicorsa integrated! All options in the ac_settings.ini in the plugin folder - Admin app integrated! No external app needed (the admins must have Real Peanlty on in the general settings (for no penalty set the GUIDs in the ac_settings.ini) - Fixed a wrong name of the app for servers without the tools To install this update: - copy the "app" file to you files folder on the server. - set the helicorsa option as you want in the ac_settings.ini (without this session helicorsa remains not mandatory) - distribute to all drivers the new app (the old one continues to work but a app name is wrong) -------------------------------------------------------------------------------- V.2.04.02 -------------------------------------------------------------------------------- Fixed a few small errors of the plugin - file "ac_penalty.exe" (Windows) and "ac_penalty" (Linux). All other files are indentically to the previous version. -------------------------------------------------------------------------------- V.2.04.01 -------------------------------------------------------------------------------- The drivers MUST activate the new app "Real Penalty" instead of "AC Penalty" in the general settings of the game. (the two first chars "AC" in the name of the app get problems in certain cases) In game the new app is identical to the old one, only another name!! New app "Real Penalty Admin" instead of "AC Penalty Admin". Fixed the Weather checksum, now it works well! It can work only if you install the new app file on the server and the drivers have the new app "Real Penalty" IMPORTANT!!!!! The old app "AC Penalty" is not compatible!!!! And the new app does not work with the old plugin!!! -------------------------------------------------------------------------------- V.2.04.00 -------------------------------------------------------------------------------- ----- App "ACPenalty" - New funcition "Safety Car" during the race (start and end from admins) It works with or without a real Safety Car on the server (set the CAR_MODEL in the ac_settings file of plugin). - New file settings/default-connection_settings.ini - Set it if you have problems to join the server (bad/slow connection) ----- New app "ACPenaltyAdmin" ONLY FOR THE ADMINS of THE SERVERS!!!!! - Start Safety Car period - Set Safety Car entries on this lap - Other functions in the future ----- "Plugin" Settings file - AC tracks path - AC weather path - AC cfg path AC settings file - New safety car options: - NORMALIZED_LIGHT_OFF_POSITION - NORMALIZED_START_POSITION - GREEN_LIGHT_DELAY - New admins GUIDs list - This users can use the app "ACPenaltyAdmin" - Checksums - Additional track checksum - Weather checksum (non exists in AC!) Penalty settings file - New cutting option "ENABLED_DURING_SAFETY_CAR" - New DRS option "ENABLED_DURING_SAFETY_CAR" -------------------------------------------------------------------------------- V.2.03.02 -------------------------------------------------------------------------------- Update only of the client APP!! No change on the server needed!!! - Some improvements on the first join to the server (faster and more reliable) -------------------------------------------------------------------------------- V.2.03.01 -------------------------------------------------------------------------------- On the server: Update only the .exe file (or equivalent for Linux) and the app file. NO CHANGE on the clients needed! - Some improvements in the speeding and flags system (look the new section "Blue Flag" in the "penalies_settings.ini" file). -------------------------------------------------------------------------------- V.2.03 -------------------------------------------------------------------------------- New settings for the plugin. Take a look to the file settings.ini IMPORTANT: You need to install ALL file from the plugin folder and the new app ON ALL CLIENTS!!!!! - New architectur of the connection between app and plugin - Removed the UDP connection from the app to the plugin (no udp port for the app needed! All connection via TCP messages) Features: - New "disqualify" penalty possible for speeding and jump start (look the file penalty_settings.ini) - New DRS "bonus time" and "sound warning" for illegal uses each sector (look the file penalty_settings.ini) - Fix other small errors -------------------------------------------------------------------------------- V.2.02.5 -------------------------------------------------------------------------------- Sometimes there is problem to join to the server (AC loads the track and the cars but the session does not start). If you have this problem install the new app. V.2.02.4 - New small improvements when more drivers join simultaneously to the server. - Small improvements to the app code If you have already installed a old version you need: - to override the file "ac_penalty.exe" (for Windows) or "ac_penalty" (for Linux) from the "plugin" folder - to override the file "app" from the "plugin/files" folder (the old versiones still work but this version is recommended!) - to override the app to all clients (the old versiones still work but this new version is recommended!) V.2.02.3 - New small improvements when more drivers join simultaneously to the server. If you have already installed a old version you need: - to override the files ac_penalty.exe and ac_penalty from the plugin folder - to override the app folder (the old versiones still work!) V.2 IMPORTANT! --------------------------------------------------- All drivers MUST install this new version of the app!!!!!!!!! IMPORTANT! --------------------------------------------------- - DRS Penalty - Configurable und multiple penalties for all checks (drive through, stop & go N seconds, penalty time at end of the race) - Penalty sound on/of -------------------------------------------------------------------------------- Assetto Corsa app -------------------------------------------------------------------------------- Install from AC_Penalty_app.zip IMPORTAN!!!! Before join to the server please REFRESH the server list in AC or Content Manager!!!!!!!!! You should not disable the app if you join to a server ohne plugin or offline (after a few seconds the app is automatically disable) -------------------------------------------------------------------------------- Server plugin -------------------------------------------------------------------------------- Windows (only 64 bits) 1 Copy the folder of plugin where you want (one copy each AC server) 2 Set the file settings.ini (all descriptions are in the file) and open the two ports as required! If you have a old version of plugin check and edit the new settings!!!!!! 3 Start "ac_penalty.exe" or "start_ac_penalty.bat" Linux (only 64 bits - I tested Ubuntu 16.04/18.04) 1 Copy the folder of plugin where you want (one copy each AC server) 2 Set the file settings.ini (all descriptions are in the file) and open the two ports as required! If you have a old version of plugin check and edit the new settings!!!!!! 3 Start "ac_penalty"