The online racing simulator
NextRace, the Online Tracker
(20 posts, started )
NextRace, the Online Tracker
Hello everyone,
I'm pleased to announce the release of my Insim application called "NextRace, the Online Tracker".

Here's a few screenshots:
http://img228.imageshack.us/my.php?image=calendarszh2.jpg
http://img122.imageshack.us/my.php?image=gttclistlu8.jpg
http://img88.imageshack.us/my. ... racker310120081806ta5.jpg

NextRace is a tracker that can be managed and displayed within LFS via Insim. It can track multiple events, that can be arranged in "calendars" (e.g: you can make a calendar for Gentlefoot Formula Challenge league and another one for GTTC league to keep the event lists separated).
Events can be created so that users can self-register for them.

This a quick summary of its features:

***ADMIN***

- An admin can create/delete/rename Calendars, each calendar has a title and contains Events. One of the calendars can be set as "default".
- An admin can create/delete/modify Events, each event has the following attributes:
* Title
* Date
* List of allowed Cars
* Track
* Allow Hotlaps (show or don't show hotlaps for this combo)
* Allow Self-registration (people can register by themselves to this event)
- An admin can add/remove Drivers to each event, a Driver is a specific LFS username + car.
- Admin menu is accessed with $trackerAdmin, from there the Admin can navigate through all the calendars / events / driver lists by using insim buttons.

***USERS***
- Users can access the tracker by typing $next
- The first time you use $next after connecting to the server, you'll see the next event (in order of date) of the default calendar. A list of all the Driver's PBs/Hotlaps will be displayed.
- If more than 32 drivers are registered for the event, you'll see Next-Prev buttons as only 32 drivers are shown at the same time.
- You can click on the button Events to start navigating all the calendars/events.
- On the events list, you'll be able to register (or de-register) for future events that allow self-registration.
- When you type $next for a second time, you'll always see the Tracker of the last Event you chose on the list.

***MISC***
- All data is saved to txt files in csv format, every 5 minutes.
- PBs / Hotlaps for every driver are automatically updated from LFSWorld (1 PB every 5 seconds with 5 minute pause)
- Config files with the following options:
* Server IP, port, password
* idKey (to connect to LFSWorld)
* displayTime: how long the tracker stays on the screen
- It can connect to multiple hosts, so that you can interact with the same set of calendars from multiple servers.
- Any screen displayed will disappear after a certain time (default 60 sec).

NextRace is written in Java, so it needs a Java Virtual Machine installed to run it (1.5 or higher, it has been tested with 1.6)
I used Jinsim library for the Insim part, thanks to Brilwing and its previous author rheiser for it

This program is distributed without any warranty.
The author takes no responsibility for any damages this program may cause, use at your own risk.


Special thanks to Stoney for providing the development server and for his support during all the project.
Thanks to Gentlefoot and all people from GFC and GTTC who contributed to testing too

Starblue
Attached files
NextRace v1.0.zip - 838.9 KB - 368 views
INSTALLING:
Besides having a JVM installed and unzipping the files into a folder of you choice, there are two things to do before running NextRace:
1) Put your own LFSWorld idkey in the config.ini file. NextRace will use it to continuosly update the PBs and Hotlaps displayed for each event.
E.g.
idKey=This_Should_Be_Your_IdKey_Value

2) Put the list of the hosts NextRace will connect to in the "hosts.txt" file.
One host per line, following this format: IP_Address;Insim_Port;Admin_Password
E.g.
127.0.0.1;17464;NextRace
127.0.0.2;29000;MyPassword


ADMIN GUI GUIDE:
Here's some more screenshots and a little admin guide
The screenshots are slightly outdated as there is a Close button near the Event button now

When you start the Admin interface ($trackerAdmin), you will usually see this screen to edit drivers for the default event or for the event you had previously selected:
http://img409.imageshack.us/my ... ge=admindriverlisttm5.jpg
You can click on Delete to immediately remove a driver (no confirmation screen) or you can type a username and a car on buttons you see on top and then click Add to add a driver.
When you click Add, the program checks if the car you typed is allowed for the event.

If you click on Events, you'll see the calendar list in admin mode:
http://img223.imageshack.us/my ... =calendaradminlistka4.jpg
You can click on the Default buttons to change the current default calendar.
If you click on delete, it will ask if you are sure before deleting a calendar.
You can add a new calendar by clicking on <New Calendar>, typing its title and then clicking Add.
If you right click on a calendar, his title will appear on top and the Add button will become a Rename button, like this:
http://img223.imageshack.us/my ... calendaradminlist2bt4.jpg
You can click on the title on top, modify it and then click Rename to change that Calendar title.

Instead, if you left-click on the calendars, you'll see their event list:
http://img266.imageshack.us/my ... age=admineventlistao3.jpg
You can left-click on the events to go the driver list for that event.
If you click on a Del button, you'll remove that event (it will ask you if you are sure).
If you right click on an event, the event title will be shown on top and the Add New Event button will become an Edit button like this:
http://img212.imageshack.us/my ... ge=admineventlist2fl0.jpg
Click on the Edit button to edit that event.
Clicking on the Add New Event button will bring you to the Add New Event page, which is the same as the Edit Event one:
http://img521.imageshack.us/my ... e=admineventscreenam0.jpg
When you enter the event date be careful to use the format "dd/MM/yyyy HH:mm", using another format might lead to wrong dates (usually happens if you use 2 digits for the year).
The event date is used for:
* ordering events in chronological order in the event list
* determining the current default event: the default event is the earliest future event in the default calendar (so it's FE Gold for GFC today and after FE Gold date it will automatically become SO Long Rev).
* drivers cannot self-register on past events

Starblue
This tool is kinda great and i played with it a bit.

I have a suggestion for it. Unforuntately, users who type "$next" can see the calendar and when the race will start. What they cant see is the track, where the race is, and in which direction.

Or have i done something wrong ?

Great work on it, i like those scripts!


Sil
Good work Starblue I've come to rely on this app during GFC practice and it's good to see it out for the rest of the world to see.

Paul
I've been using this on the gentlefoot servers too and it is a really brilliant and very useful program. Well done Starblue
Quote from Sil3nc3r- :
I have a suggestion for it. Unforuntately, users who type "$next" can see the calendar and when the race will start. What they cant see is the track, where the race is, and in which direction.

You are right, there isn't a special place for car / track info in the user view, I suggest to put them into the Event title, like this:
http://img88.imageshack.us/my. ... racker310120081806ta5.jpg
In this example, the title contains the track but not the car...this is because the event is from Gentlefoot's Formula Challenge league, where it's already known that cars will be FOX and FO8.
In a single event or a league where the car changes, you can have a title like "FBM 4h Endurance FE Gold Rev"

Quote from pswillies :Good work Starblue I've come to rely on this app during GFC practice and it's good to see it out for the rest of the world to see.

Quote from Nick A :I've been using this on the gentlefoot servers too and it is a really brilliant and very useful program. Well done Starblue

Thanks I'm glad to hear you like it and use it

Starblue
Thank you for your nice work!
For now, i only have one request:
It would be making things a bit easier, if there was a register button right on the screen where you see the list of drivers registered to an upcoming event. Some people are confused and ask how to register, simply because they don't realize that they have to click on events at the bottom, choose race calendar and then click register next to the event's title.
Thanks again.
Quote from FM-Failure :Thank you for your nice work!
For now, i only have one request:
It would be making things a bit easier, if there was a register button right on the screen where you see the list of drivers registered to an upcoming event. Some people are confused and ask how to register, simply because they don't realize that they have to click on events at the bottom, choose race calendar and then click register next to the event's title.
Thanks again.

Good point... I'll add the Register Button there as well in the next version

Starblue
very nice. (and very nice fail did see it *g*, i was about to send it...)
Hi Starblue,

I noticed not many people have self-registered on NextRace for this weekend's GFC race. I was wondering if you could make it so that anyone can register other people on the tracker?

PS: Thanks for the "close" button!
Great work
Hi StarBlue,
Great program, I wonder if its possible for the Event Tracker to actually run the server, by that i mean if if I could schedule a 10 min Qualify and 10 lap race when qualifying finishes at say 1900hts on whatever date could Event Tracker actually start the qualifying session at 1900hrs and start race at 1910hrs for 10 laps.

Would mean we could setup Events and Event Tracker could actually run the events for us only allowing registered racers to qualify and race.

Interesting eh.
Quote from Andy King :Hi StarBlue,
Great program, I wonder if its possible for the Event Tracker to actually run the server, by that i mean if if I could schedule a 10 min Qualify and 10 lap race when qualifying finishes at say 1900hts on whatever date could Event Tracker actually start the qualifying session at 1900hrs and start race at 1910hrs for 10 laps.

Would mean we could setup Events and Event Tracker could actually run the events for us only allowing registered racers to qualify and race.

Yes, it can be done
Is AKM using the Tracker?

Starblue
Hi Starblue,
Yes it is and would like it to automatically run my race server. Saves me time and keeps me outta trouble with her indoors lol.
Hi,
since a while your wonderful tracker wont fetch people's PBs anymore using pubstat...
Here's what the log says:
20:22:19,134 ERROR - Something failed while retrieving PB!
java.lang.NumberFormatException: For input string: "this"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at it.starblue.LFS.LFSNextRace.LFSWorld.retrievePB(LFSWorld.java:93)
at it.starblue.LFS.LFSNextRace.LFSNextRace.retrieveAllBestLaps(LFSNextRace.java:346)
at it.starblue.LFS.LFSNextRace.LFSNextRace.updateDrivers(LFSNextRace.java:245)
at it.starblue.LFS.LFSNextRace.LFSNextRace.run(LFSNextRace.java:220)
at it.starblue.LFS.LFSNextRace.LFSNextRace.main(LFSNextRace.java:436)

Hope you can help!
Also, do you plan any further developement? This is really nice and we use it ever since it first came out.
Quote from FM-Failure :Hi,
since a while your wonderful tracker wont fetch people's PBs anymore using pubstat...
Here's what the log says:
20:22:19,134 ERROR - Something failed while retrieving PB!
java.lang.NumberFormatException: For input string: "this"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at it.starblue.LFS.LFSNextRace.LFSWorld.retrievePB(LFSWorld.java:93)
at it.starblue.LFS.LFSNextRace.LFSNextRace.retrieveAllBestLaps(LFSNextRace.java:346)
at it.starblue.LFS.LFSNextRace.LFSNextRace.updateDrivers(LFSNextRace.java:245)
at it.starblue.LFS.LFSNextRace.LFSNextRace.run(LFSNextRace.java:220)
at it.starblue.LFS.LFSNextRace.LFSNextRace.main(LFSNextRace.java:436)

Hope you can help!
Also, do you plan any further developement? This is really nice and we use it ever since it first came out.

Do you get this error *all the time* or does it manage to download some PB or Hotlap between one error and the other? Is your LFSWorld idkey being used for something else?

About further development: I will do it if there is enough interest from the community
I'm thinking about developing Andy King request (automatic start of Qualy & Race of events in the calendar)...although I think there is already LFSLapper to start races at fixed times, it wouldn't check if people in the race are registered for the event or not...so maybe I should add this to NextRace

Starblue
Quote from Starblue :although I think there is already LFSLapper to start races at fixed times, it wouldn't check if people in the race are registered for the event or not...so maybe I should add this to NextRace

Hi StarBlue,

Lapper is brilliant at what it does but with your program running I can have only registered racers racing and hopefully it will run on its own and only allow registered racers to race. Others can spectate but only limited slots availble for spectating.

Thanks again.

Andy King
Hi and thanks for your quick reply,
i get this error all the time, tracker was running for months now and it always worked fine (fetching the PBs), a restart didn't fix the problem.
Pubstat key works, tested using another application.
In the log, where it says "For input sting: this", sometimes it says:
00:12:54,337 ERROR - Something failed while retrieving hotlaps!
java.lang.NumberFormatException: For input string: "can't"

So, can't this - this can't - sounds like an error reply from LFSW ?

EDIT: Oops i should be more clearly, tracker is able to fetch PBs but not hotlaps - this is my initial problem. So communication with LFSW works, it just cannot get people's hotlaps anymore.
Quote from FM-Failure :Hi and thanks for your quick reply,
i get this error all the time, tracker was running for months now and it always worked fine (fetching the PBs), a restart didn't fix the problem.
Pubstat key works, tested using another application.
In the log, where it says "For input sting: this", sometimes it says:
00:12:54,337 ERROR - Something failed while retrieving hotlaps!
java.lang.NumberFormatException: For input string: "can't"

So, can't this - this can't - sounds like an error reply from LFSW ?

EDIT: Oops i should be more clearly, tracker is able to fetch PBs but not hotlaps - this is my initial problem. So communication with LFSW works, it just cannot get people's hotlaps anymore.

Weird Can you send me your config files? config.ini , drivers.txt , events.txt, calendars.txt.

NextRace, the Online Tracker
(20 posts, started )
FGED GREDG RDFGDR GSFDG