The online racing simulator
Searching in All forums
(928 results)
Racon
S3 licensed
It's all in the progress reports, timelapse videos of the night/day cycle included.
Racon
S3 licensed
Quote from NumberTwo :then its onto day/night, new tyre ohysics, multithreading, new lightning system etc.

3 of those 4 things are done, keep up Wink
Racon
S3 licensed
Quote from Scawen :For example one option would be to disable NLP and MCI when fast forwarding. Is there a reason to receive NLP / MCI packets when fast forwarding a replay?

When you say fast forwarding, I'm assuming you mean clicking the slider control rather than just speeding up the replay?

I can't see any reason to have NLP/MCI being sent when using the slider control to change position.

But, as well as the workarounds Craaach mentioned for other things, I do use faster replay speeds and longer update intervals for various things with replays. (Drawing heatmaps of location, flying a camera around following a car for timelapse-type footage).

Quote from Scawen :And when joining a host, I guess it could be disabled until LFS has caught up with real time.

Yes, that should do it, and I can't see any need for NLP/MCI in that case.

Quote from Scawen :Or a different type of solution, I think it might also be possible for a send buffer (held by LFS internally) to expand massively if the input is so much faster than the output but it seems there should be some kind of limit to this.

I'd be interested to hear your thoughts on that.

That could be useful if the user wants all the data at a set precision as fast as possible, but I've used InSim apps before which buffer the whole lot needlessly and then play it back to you for 5 minutes before they catch up. (Though that's more the fault of the app)

Ideally I think MCI/NLP should be sent during replays at any speed, but paused when clicking on the slider or joining a server.

I think that way people can use the replay speed and interval to get all the data as fast as possible in the resolution they want, but they can skip it if they want to.

Another thought is a warning packet and a tiny delay before the start? Like, clicking the bar causes a RIP with a flag that we could watch for - if we see it, we send a SMALL to disable MCI/NLP ourselves quicker than the delay time. (And another RIP when it lands, for us to know it's safe to turn it on again).

Quote from Scawen :One thing you might try for a quick solution is using UDP packets for MCI / NLP. But of course I don't know how easy it is to change your program to receive UDP packets instead, or if they are suitable for your purposes.

I had a falling out with my previous compiler about UDP back in the day, and haven't talked to it since Wink

If it's of any use to you to know if it helps then I'll try it on the new compiler over the weekend, otherwise I might leave it on the list a little bit longer.
Racon
S3 licensed
Racon
S3 licensed
Last edited by Racon, .
Loss of InSim connection when skipping forward replay with MCI packets enabled
Racon
S3 licensed
When skipping forward in a replay by clicking the timeline slider at the bottom of the screen, any connected InSims that receive MCI packets will lose connection.

Tiny jumps are unaffected, but even 5 seconds with 19 cars on track and an update interval of 100ms will trigger the disconnection. (~100 MCI packets?)

I'm guessing it's an outgoing InSim buffer overflowing, but I can't see an option to increase it in the client or cfg.txt.

I have tried to work around this by monitoring RIP and STA, but RIP does not fire when using the timeline slider thingy, and disconnect happens before the STA showing the change of ISS_PAUSED.

Attached image is my running the same basic program (print any STA/RIP) twice, both connected to the same client which is paused at the start of the replay. The left window is MCI off, the right is with MCI set to 100ms interval.

The first STA (from startup) you see in both windows, then the slider is clicked: the left window shows ISS_PAUSED is removed from Flags while the replay moves and is re-added afterwards, but the right window loses the connection before receiving the new STA.

--

Side note: This has also happened to me when joining a busy server with lots of new mods to be downloaded by the client - there is a time when the environment is loaded and showing, but players are still loading. You can see them on the minimap, but not in the environment, and there is often a sound loop at the same time. After a while it all catches up, but MCI-based InSims will have lost connection while non-MCI InSims won't.

I know this is my join causing me an effective pit-out for all players at once, and that the newer version has much better pit-out performance - I'm just mentioning this one in case it helps shed light on the other, it looks like it could be the same cause.
Racon
S3 licensed
Quote from gu3st :Should also be noted that if a website does need to authenticate that you are who your LFS Username is, LFS does offer itself as an OAuth 2 provider to authenticate with and should integrate with that rather than asking for your direct credentials.

If you're not a fan of OAuth you can have people specify their LFS username when they sign up on the site, give them a token, and then have an insim command to use the token to activate the account if the username matches.
Racon
S3 licensed
Great idea, I look forward to tinkering with it Smile
Racon
S3 licensed
Sorry, I have so many LFS things to do and very little LFS time at the moment... this one got lost in the shuffle. I will bump it back up the list, but no promises as to when I'll get to it.

Quick answer to all those questions is: Download it and put it anywhere you like, it doesn't need to be in a certain place. The image should be PNG format, in the same place. It's a commandline app, so it needs to be run from a DOS window (see usage above), and it saves the layout in the same directory too.
Racon
S3 licensed
Racon
S3 licensed
Last edited by Racon, .
Racon
S3 licensed
Thank you, the server restart fixed it.
Racon
S3 licensed
In combating/logging this, have you changed anything to do with users timing out from a server?

I'm always connected and have to rejoin after a lost connection every now and then, but today the server doesn't seem to notice that I've timed out.

I've had 'User name is already online' for at least half-an-hour now, usually it takes under a minute for the server to notice I've gone and let me back in again.

(It's not a hack - I'm showing as spectating on the same server, as I was when the connection was lost)

Edit: It's on my server, so I could kick myself from the control panel I think. I don't need to be logged in just yet, so I'll leave that until later in case there's some value in you looking at a live example of a stuck player Wink
Last edited by Racon, .
Racon
S3 licensed
Racon
S3 licensed
Last edited by Racon, .
Racon
S3 licensed
Racon
S3 licensed
Last edited by Racon, .
Racon
S3 licensed
Racon
S3 licensed
Last edited by Racon, .
Racon
S3 licensed
That's not something PIE could do even if it wanted to! It uses PHP's built-in socket functions to communicate over the internet, but it doesn't have any more power than that over your connection.
What is DD? The Destruction Derby Doctrine
Racon
S3 licensed
What is DD? The Destruction Derby Doctrine:

DD racing is not no-rules racing, there are limits to
acceptable contact. You can rub, bump, barge, lean on, crash,
bash, spin, pit and poke, but only with people you are racing
directly (on the same lap).

You cannot fight or obstruct people who are lapping you, but
they may fight you. You cannot divebomb into T1. You cannot
drive the wrong way except where a track forces you too. If
the track has a two-way section, you may play chicken with
other drivers, but you may not try to hit them deliberately.

You cannot stop or loiter in an interfering position, you
cannot behave in an annoying or toxic manner.

You may fight, revenge attack, and may hold a grudge for as
long as you like, but keep it friendly and within these rules.

The rules are there to set a hard limit on what is acceptable,
but the etiquette (soft limit) is up to the drivers on track
to regulate through retaliation.

Being aggressive is not against the rules; Attacking without
provocation is not against the rules; Attacking repeatedly is
not against the rules; Attacking at full strength is not
against the rules; Charging blindly through a crowd is not
against the rules; Driving impatiently is not against the
rules.

These things are regulated by etiquette by the drivers, not
rules by the admins.

DD racing is not clean racing, but it can be. The overall
level of 'fightyness' waxes and wanes with the drivers
present: Sometimes it's close to the rules limit, sometimes
it's no different from a clean race, and usually it is both
of those things at once, depending on who you're driving
near to.

It's a driver's own responsibility to defend themselves from
attack, and it is a free choice to forgo defence in pursuit
of position.

It's common to start the fighting gently and escalate as
appropriate, but it isn't mandatory to do so. It would seem
obvious for new drivers to read rules and start gently, but
it is to be expected that they transgress and require
correction. It is a driver's free choice to forgo caution
when dealing with a new driver.

It is common for a driver to get more attacks back than they
give out. It is a driver's choice to accept this 'interest'
or to continue escalation.

It is common for a driver to receive attacks that are part of
a charge, or otherwise untargetted. It is a driver's choice
how much they are prepared to accept as collateral damage to
another driver's charge.

It's common to save the bigger and/or cheaper moves for
someone who's not getting the message from smaller ones, but
that's not mandatory.

There is no right of way on a crossover, it is a driver's
choice to wait or not. There is no right of way on a merge,
it is up to the driver to choose between speed and safety.

There is no right of way or mandatory side of the road in a
chicken-run section of track (two-way traffic), it is a
driver's choice to yield or not. Side-of-road is often chosen
to minimise crossings, but it is not mandatory to do so. It
is not mandatory to choose the same side as other drivers.

There is no requirement for drivers to avoid or wait for cars
recovering from fights or errors. It is the inconvenienced
driver's right to minimise their loss.

It is the nature of DD to not know what to expect from many
of your track neighbours, to have to balance safety against
speed or position, to have to take risks, to be caught up in
other people's fights, and for it to be possible to end at
any moment through no fault of your own.

You can be safer by following and enforcing etiquette, but
you can never be safe. It is always the driver's choice to be
trusting of another driver. It is always the driver's choice
to forgo safety in pursuit of speed or position.
Racon
S3 licensed
Thanks for the testing Thumbs up

You can't adjust the button transparency in InSim I'm afraid, but maybe the lighter colour would be better. (Replace ISB_DARK with ISB_LIGHT)

Note to me: Adam suggested in discord the option for adding usernames above the dots.
Racon
S3 licensed
Racon
S3 licensed
Last edited by Racon, .
Racon
S3 licensed
Quote from RealistAdam :Actually, I wanted to say this. I have lapper on my server. How can I make this work with Lapper?

PIE and Lapper are different things, they're not compatible.

This script is only for the local user, not a server. (It could be modified to connect to a server and draw this for everyone connected, but that's not what this one does)
FGED GREDG RDFGDR GSFDG