The online racing simulator
LFS RulesController
(21 posts, started )
LFS RulesController
hi

i wanna try to code some RulesController-tool which could be able to watch the rules for an event automatically and give the raceadmin possibilities to penalise drivers for doing a violation. in the end of the app dev it should be possible to define rules out of an existing rules set for an event. so my thought was to collect what's should be important to be watched and what could be the basic rules elements, which then be combined to an "event rules set".
that's one we have to think about, and the other is the GUI-side: what should be elements for the app and information to be shown ? what interaction should be possible for race admins ? what messages are important to send to the single drivers ?

i just wanna start up a discussion about such an app. for me, i'm new with insim programming but wanna do some part for the community, so i need to start insim
(first tries succeeded, connection to lfs is established ). actually i use LFSLib with C#.NET

so i collect all the good ideas here in the first post, so everbody can quickly see.

output to drivers
  • state of pitlane (open/closed)
basic rules components
  • duration of quali
  • duration of race ( fixed time / fixed laps)
  • pitlane opening (time / lap)
  • pitlane closing (time / lap)
  • forced pitstops (number of stop required / addition like "have to change all 4 tyres every pitstop")
  • using of lag lap
GUI
  • lfs server connect interface
  • list of all drivers on track
  • possibility to customize and combine the basic rules components (interactiv / load / save)
  • list of rule violations
  • possibility to react on violations
this so far are some starting ideas, so what do you think about such an app ? if there is any tool, which fits for that, so feel free to post your suggestions

Trac: http://liveforspeed.codemacher.de/trac/LFSMarshall/

Current Release Notes http://liveforspeed.codemacher ... RulesController/NOTES.txt
Attached files
LFS_RulesController v0.2a.zip - 518.5 KB - 287 views
Hmm should be all doable with the insim button system.

e.g. in the Pit Lane is closed that a Button is shown to every driver that the Pit is closed.
And so all messages can be displayed via buttons.

Also the whole admin stuff can also be done as buttons, so that admins are able to display the userlist as buttons with the infos like pitstops etc.

On my dedi ( \\\liveforspeed.at#2 ) I have an insim tool running where users are able to display there last 3 laps on the servers with split times with the button system. (My tool is written in Java)
mhh, my idea was to create an own app for a race admin with GUI. this part i wouldn't solve with the button system, but right the messages should be done by buttons
should it be the better idea to do all the race admin interfaces with lfs-buttons within lfs ? or better a stand-alone-gui for the app ?
Hmm, as admin you have always an eye on the race with the buttons system vs. an external application.
Otherwise if the rules system grows then only using the buttons can become unhandy.

On the other side, if the rules system is so complicated that you cannot handle it with the insim buttons system, then this could be a sign that the rules system is too complicated
you are right, the race-admin interface while the event is running should be handy and small. so the buttons can be a good solution. this doesn't exclude, that the app has an additional GUI, where you can for example editing the rules set, or save/load files and so on. while racing the only important info for admins are rules violations, or ? and the possibility to give penalties for it.
In Java I started such a project but its not very useful because you need two screens. 1 lfs 1 the app and booth in window mode are ugly and to small.

But today my tool only tracking 4-5 events from the server and show it in a table.

ideas for you:
- show yellow/blue flag
- lap times of each driver
- type of pit stop (penality with reason)
Just as an FYI, the penalty system in LFS does not really promote external manipulation without a lot of overhead.

For the league I help run (LOTA), we were looking at re-enabling the use of the reset button to represent the realistic options of being pushed out of sandtraps, getting rolled over, etc. for our tin-top series (GTC). Our thoughts would be since the reset gives you instant advantage of fixing damage, etc. that we would give penalties.

However, in doing so our testing revealed a couple of things:

a) Attempting to apply a 30 or 45 second penalty multiple times does not result in additional time being added to a driver's total time, i.e. if you give five 30 second penalties during the race, the total time was only incremented by 30 seconds.

b) If a driver currently has a stop-n-go or drive through penalty, then using the admin commands to assign him a different penalty wipes out the first penalty. A scenario might be that the driver was accessed, by LFS, a stop-n-go penalty for speeding coming out of the pits. Then on cold tires, the driver loops it and hits the reset button. The InSim app then assigns a drive-through penalty to the driver. The driver completes the drive-through penalty and now has no more penalties, i.e. LFS does not enforce the original stop-n-go penalty.

Might not be an issue for some folks, but in our situation, this was a major no-go issue for us. Yes, we could keep track of the original penalties and when a penalty was served, use the admin commands to re-issue non-served penalties. But for us this was really too much of a hassle to be able to use the broken reset (yes, Scawen, it *is* broken) feature.

Anyways, just somet thoughts on what we discovered while playing around with it.
Quote from Hollywood :For the league I help run (LOTA), we were looking at re-enabling the use of the reset button to represent the realistic options of being pushed out of sandtraps, getting rolled over, etc. for our tin-top series (GTC). Our thoughts would be since the reset gives you instant advantage of fixing damage, etc. that we would give penalties.

I just released an app that does this exact thing last week. Here's a link to the thread topic:

http://www.lfsforum.net/showthread.php?t=34529

Quote from Hollywood :a) Attempting to apply a 30 or 45 second penalty multiple times does not result in additional time being added to a driver's total time, i.e. if you give five 30 second penalties during the race, the total time was only incremented by 30 seconds.

You are correct, the way that LFS does time penalties makes them unsuitable for what you're talking about.

Quote from Hollywood :b) If a driver currently has a stop-n-go or drive through penalty, then using the admin commands to assign him a different penalty wipes out the first penalty. A scenario might be that the driver was accessed, by LFS, a stop-n-go penalty for speeding coming out of the pits. Then on cold tires, the driver loops it and hits the reset button. The InSim app then assigns a drive-through penalty to the driver. The driver completes the drive-through penalty and now has no more penalties, i.e. LFS does not enforce the original stop-n-go penalty.

My app gets around this problem by keeping separate penalty counts for each type of penalty.
Yup, it'd have to.

Quote from Peptis :My app gets around this problem by keeping separate penalty counts for each type of penalty.

i decided to use a public svn, so anybody who wants can get the current sources while further development. for svn-path you have to use: http://svn.raygina.de/repos/haelje/C%23/

but don't expect to much, it's such a beginning, with me as newbie in .Net and C#. on the other hand i think some approaches are done, i was able to write some ideas, how i would handle "rules controlling". but take a look, any suggestion, bugs, errors and help with C# aspects are welcome.

i link here a compiles version, so anybody can test the small set of things done yet

the infos are all in #1 post
"event control"-alpha test state
just in the moment i was able to discover my brain lack. now there should be the part "event controll" in a for me "alpha"-state. so i will not release i binary now, because this part needs testing for different user interaction. so if you are interested, use the svn and compile the sources to get the current version running. i will be very happy about any bugreport
great app!
would be nice if it has a pitlane... "line control", that little line at the entry and exit of the pits. In real leagues you have to keep between the limits of the pit line when entering or getting out from the pits, but in LFS says nothing :S
i dont know if i explained myself well :P
the app still do this take a look in the driversList, when somebody goes to the pits. this drivers are changing the groups dynamically in this listView. this also is just a beginning, but this is important for the pitRules. there will be some more basic-rules to configure if the path of violations is done in the app and they are shown in the GUI
it can´t be run whit the new Y patch?
mmh ... sure, i test all the time with the new patch Y and it works fine for me here, perhaps any other problems, like firewall blocking the used port ?
It stands unknown LFS version! for me. Don´t know what i am doing wrong.



Or it´s stand: unable to connect to LFS, sure you init the insim in LFS ?
thats not a problem of the lfs-version you need to init an insim-port within lfs, so type in the chat "/insim=30000" (without quotes) and you can use the standard port, which is set in the app. but you can also modify this in the "serverInfos"-tab before you press "connect" in the bottom.
new test-version
i updated the links in first post to provide a compiled alpha-version of the app. hopefully now there should be a working "eventControll"-part, but everthing needs testing
after some tim... it's seems to be working fine for me, i can't test it at all yet since our comunity is on vacactions , so there was very low amounts of people around to make some proper racing for proper testing
i did not really continue this project until now, but i will. as a new start, i started a trac-page for the project, so i hope perhaps someone is interested in that we can use the ticket-system for any kind of question corresponding to the project, perhaps someone is willing to be a developer of this too, you only need to PM me or send me a mail.

i corrected the source links in the first post, so it points to the new trac

LFS RulesController
(21 posts, started )
FGED GREDG RDFGDR GSFDG