The online racing simulator
Searching in All forums
(50 results)
2
Starblue
S2 licensed
Quote from mcgas001 :Starblue: There is a way around it. You could send a clickable button to all the players on track. Maybe "Panic" or "Help" button. When clicked, It sends a message to all admins privatly(MTC).

Yes, thanks for the suggestion We already thought about using a button but clicking a button with a mouse while you are driving is a lot less easy than just pushing a binded button on your wheel
Plus, there is another workaround: modifying the library by myself But I prefer to use official library releases if possible

Starblue
Starblue
S2 licensed
Quote from Brilwing :I was busy with other stuff, I try to create a version in the next days.

Excellent
I'm currently working on a new version of the tracker for IGTC endurance league and it could benefit from the "hide message with special prefix" feature

Starblue
Starblue
S2 licensed
Quote from Brilwing :Ok I will add this in the next release

Hi Brilwing,
any plans about the next release date?

Starblue
Starblue
S2 licensed
Here's my skin, done today
http://img138.imageshack.us/im ... 489/kyoto250screenzx7.jpg

Thanks to Btoryo for posting those lights...they are excellent

Starblue
Starblue
S2 licensed
I'll try to be there too, but I'm not 100% sure yet

Starblue
Starblue
S2 licensed
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
Starblue
S2 licensed
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
Starblue
S2 licensed
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
Last edited by Starblue, .
NextRace, the Online Tracker
Starblue
S2 licensed
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
Last edited by Starblue, .
Starblue
S2 licensed
Hi Brilwing,
I wanted to use the prefix variable in the ISP_ISI packet, but the Client class generates its InitRequest inside the connect method and it's not possible to set a prefix from outside. Could you add a prefix parameter in the next release?

Starblue
Starblue
S2 licensed
Thank you Brilwing

Starblue
Starblue
S2 licensed
Hi Brilwing,
I found another problem related to the try/catch in AbstractChannel: sometimes I get this exception:
15:13:58,890 ERROR - Something went wrong!
java.io.IOException: Connessione interrotta dal software del computer host
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(Unknown Source)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)
at sun.nio.ch.IOUtil.read(Unknown Source)
at sun.nio.ch.SocketChannelImpl.read(Unknown Source)
at net.sf.jinsim.TCPChannel.receive(TCPChannel.java:36)
at net.sf.jinsim.AbstractChannel.run(AbstractChannel.java:60)

The description "Connessione interrotta dal software del computer host" (which means "connection interrupted by computer host software") makes me think that this a particular implementation of an event similar to the ClosedChannelException, for which you had already provided a try/catch:
try {
numberRead = receive(sizeBuffer);
} catch (ClosedChannelException ex) {
// do nothing chase numberRead is already -1
}

Unfortunately, this time it's an IOException so it does not get caught into the ClosedChannelException catch and it goes on to be catched by the generic try/catch you've put at the end of the loop:
while (running) {
try {
[...]
} catch (Exception e) {
log.error("Something went wrong!", e);
}
}

As there is no action in the catch to solve the problem, the thread keeps looping and logging the same error, eventually filling up all the space available on the disk and crashing the program...
(I think this explains my previous problem where I had not enabled logging on disk, so it filled up memory instead of disk space).
I'm going to put a return statement in the generic Exception catch, so that if something "unexpected" happens, the thread stops working (since it is not supposed to be able to "fix" an unexpected event anyway).

Starblue
Starblue
S2 licensed
Nice idea, I'll join

For entering on your own:

LFS Username: Starblue
Race Name: Starblue
Number: 36
Starblue
S2 licensed
Hi Brilwing,
I've found a problem with the MessageResponse class.
I wanted to check what users said so I used getTextStart() to make a substring of the getMessage() and filter their name to get only the actual text they typed.
However, it didn't work for people with "^" in their name.. that's because LFS encodes it with "^^" and getMessage() returns it to just "^"..
So basically the number of characters in getMessage() is not the original one and so the position returned by getTextStart() becomes wrong.
I changed my local copy of MessageResponse constructor like this:

public void construct(ByteBuffer buffer) throws BufferUnderflowException {
super.construct(buffer);
buffer.position(buffer.position()+1);
connectionId = buffer.get();
playerId = buffer.get();
typedByUser = buffer.get();
textStart = buffer.get();
message = getString(buffer, 128);

// Starblue 04/01/2008
// Rewind the buffer and check how long the "pre-message" part really is:
int pos = buffer.position();
buffer.position(pos-128);

String preMessage = getString(buffer,textStart);
textStart = (byte)(preMessage.length()+1);

buffer.position(pos);
}

After this change, it became safe to get the typed message like this:
String typedMessage = response.getMessage().substring(response.getTextStart());

Starblue
Starblue
S2 licensed
Hi BlackBird
Sign up!
Playername: Kila Starblue
Username: Starblue

Starblue
Starblue
S2 licensed
Quote from Brilwing :
So here we go: http://liveforspeed.at/download/jinsim-0.5.rc2.zip

Thanks for the update
I'm currently using 0.5.rc2 for a project and I noticed the following behaviour, while connecting with the SimpleClient class:
if an unchecked exception is thrown in the registered listener, the jvm will start increasing its memory without limits, until.... I had to terminate it because my pc was freezing
That happened me twice, once for a mistaken object cast and once because I received a string of unexpected size and went out of bound doing a substring
If I had enabled logging, I guess I would have seen the "Something went wrong!" message of AbstractChannel.java line 122, as I think the exception got caught there.
As it's not nice to have an application crash everything by stealing all the available memory, you may want to change that behaviour..
Maybe you could have a dedicated try/catch around the notify action, like this:
try {
client.notifyListeners(packetData);
}
catch (Exception e) {
log.error("Something went wrong!", e);
}

This way the custom listeners can be wrong and throw whatever they like but it won't crash the whole InSim connection & program.
It's probably not the best way to handle the situation, but I think it may be worth to change it.

Starblue
Last edited by Starblue, .
Starblue
S2 licensed
Quote from Brilwing :new version: http://liveforspeed.at/download/jinsim-0.5rc1.zip

Changes:
* Renamed packages from org.kerf to net.sf
* Fixed camera packet (thx. Starblue)
* UDP communication works now again
* OutGauge and OutSim also works again
* Fixed the not working examples, and all should work now fine.

All I wanted in version 0.5 is now included so this is the first release candidate.

Hi Brilwing,
I get a "page not found" on that link
Two more things I fixed on my local version of 0.4.99:
SetCarCameraRequest: uniqueId and cameraType were inverted, the correct order is:
data.put(uniqueId);
data.put(cameraType);
NodeLap: the Position byte (after PlayerId byte) was not implemented. I added the getter/setter for position and setPosition(buffer.get()); after setPlayerId(buffer.get()); in the constuctor.

Starblue
Starblue
S2 licensed
Quote from Brilwing :I updated jinsim with the minor X30 changes:
http://liveforspeed.at/download/jinsim-0.4.99.zip

Also changed:
* InSim relay support is now included + example program
* Fixes at the comp car and MCI requests
* Fixes a the set camera request
* Added a Track enum so that track codes like 100 or BL1 can be converted in an enum value and then to the real trackname.

I have tested this version only with a X30 Dedi, but it should also work with X10.

Thnx for the update Brilwing!
There's a little mistake in SetCarCameraRequest, line 55:
super(PacketType.CAMERA_POSITION, 8);

it should be:
super(PacketType.SET_CAR_CAMERA, 8);

Thanks again for all your work

Starblue
Starblue
S2 licensed
Quote from franky500 :
[...] it does not display on the graph the users who are on the server, but spectating.. (eg if there are 15 users in the server, and 4 of them are spectating, then the graph will only display 11)

Are you sure this is exactly its behaviour? I opened an host[port].txt and didn't find a way to tell if someone is spectating or not...so it would be surprising if this program would be able to do so by parsing that file
I'm not a C/C++ expert but the reading/parsing of host[port].txt seemed ok.. you might want to put in some debug lines to print intermediate results and see what's going wrong.
Checking .log files would be handy too, so that you can check which drivers are missing.
If the .log files are ok, then you can focus on checking the draw image part
Starblue
S2 licensed
Quote from Scawen :Thank you very much for your stories, comments and test results!

I think you will find the new X36 an improved version. Clutch heating is back to X33 levels but six of the cars have a stronger clutch. The stronger clutch was worked out purely by engine inertia. So clutch strength is now the larger value of that required for engine torque, and that required to deal with the engine rotational inertia.

I loaded all the cars and found that these ones were changed : UF1 / XFG / XRG / LX4 / LX6 / FZ5

I did again the "High Gear Start Clutch Burnout Test" with X36 and here's the results:


Steps for the test:
1) Wait for the green lights to start the race
2) Shift-up to the highest gear without touching throttle (using autoclutch)
3) Floor down the throttle
4) Drive around the oval keeping max throttle until the clutch burns out or until it becomes stable orange

Tested all cars except MRT.

Notes:
1) All cars except UF1 and RAC reach "red heat" during the test.
2) Excluding single seaters, only UFR, XFR and FZR manage to completely burn their clutch during the test. It looks like GTR cars haven't got a clutch strong enough for this test. FXR and XRR probably save themselves as the turbo cannot give full power at low rpms and so they have a "softer" start.
3) I noticed a bug with FZ5: during the slow start the clutch "fluctuated" (instead of reducing gradually) and at the same time the throttle "flickered". While I think the clutch can behave "as it wishes" being an autoclutch, I was keeping my throttle pedal floored all the time, so I don't think the throttle power should have flickered.
I tried the FZ5 start many times and it always produced this behaviour (and it was the only car which did it).
4) Among single seaters, FOX was the only one which didn't burn its clutch.
5) BF1 was the only car which took several laps to completely burn its clutch: the clutch of all the other cars, when reaching a certain "temperature threshold" (about half the bar) would "give up" and you would see the rpms suddenly burst high as the engine is "set free" by the transmission and clutch burns out rapidily. The BF1 instead kept a balance between "slipping/transmitting the power" even at high temperatures and the clutch only slowly overheated to the full bar.

Replay of the FZ5 bug attached
Starblue
S2 licensed
Quote from Scawen :Please try to answer the question I've asked. [...] I need to know which cars (if any) suffer more clutch overheating than others, on road or rallycross tracks, so I can hopefully start to see a pattern.

I've tried a "burn clutch" test on different cars, I hope it can help you in seeing a pattern.

The tests were done on Kyoto Oval with these steps
1) Wait for the green lights to start the race
2) Shift-up to the highest gear without touching throttle (using autoclutch)
3) Floor down the throttle
4) Drive around the oval keeping max throttle until the clutch burns out or until it becomes stable orange
5) Watch the replays and note down how many seconds it takes to make the clutch red / how many seconds it takes to completely burn the clutch.

It is obviously an "unrealistic" test since no-one would start the car in highest gear but I hope it helps in showing the differences between the cars.
Results:
Note 1: all cars were using their "default/hard track" setup
Note 2: some cars reached "red" temperature and then cooled down
Note 3: I did 2 tests on XFR, one with 5th gear, one with 6th


Cars which fully burnt the clutch: XFG, UFR, XFR, XRG, FBM
Cars where clutch became red but didn't burn out: FXO, LX4, LX6, FZR
Cars which run fine: UF1, RB4, XRT, XRR
Untested cars: RAC, FZ5, FXR, MRT, FOX, FO8, BF1
Last edited by Starblue, .
Starblue
S2 licensed
Starting a new host doesn't give the option to enable BF1
Starblue
S2 licensed
Quote from Storm_Cloud :I hope everyone can recognise all the work you are putting in and will repay this commitment by turning up for as many races as they possibly can.

I'll do

I really look forward to the trial event, I think it will be important to see "in practice" how it will work out with the rules and the different types of cars on the track.
Actually I hope that there will be occasions to have mixed FOX/FO8 practice on Gentlefoot's server even before the official trial event
Starblue
S2 licensed
Add a FOX for me
Little bug in Qualification stats
Starblue
S2 licensed
I've downloaded the latest attached version and I've noticed a little bug in the qualification stats: in the "Best possible lap" section, the WR gap is calculated not between the WR and the Best Possible Lap, but between the WR and the best qualification lap.

Example:
http://content.faculty.de/lfs/piostats/owrl/f1a/f1ar1q.html

HuskyGoalie best lap is 1:16.47, WR +0.64
His best possible lap is 1:16.44 and WR is still +0.64, but it should be +0.61

Anyway, thanks for this wonderful program, it's very useful
2
FGED GREDG RDFGDR GSFDG