The online racing simulator
Small updates to help race organisers
Hello Hosters,

Tuttu The Dog reported a few issues related to the race restart and lobby screen when running a popular event. In some cases I think I can make a small change and would like your feedback if you notice any issues.


1) People were able to remove others from the grid or move people around on the grid. Obviously that is the behaviour of a trouble maker, not the normal thing. Unfortunately I can't do much about this right now because of the way it is written, that would require an incompatible version.


2) People can join at inconvenient times after being asked not to join. Not necessarily trouble makers but anyone could miss a message like "DO NOT JOIN GRID" and simply be trying to join the race. Join requests go through the host so I think I can provide a simple option to lock the grid.

How about:
/grid lock - players cannot join in the lobby
/grid open - back to normal


3) Object mods sometimes need to stay in the same grid slot. In this event the track mods needed to occupy the first 3 grid slots. This was a problem on race restarts due to the automatic reordering.

Proposed solution:
Grid rearrangement is worked out on the host so does not require an incompatible version. What if the host counts the number of "object" mods in the first few player slots, and then makes sure that those objects do not change in position due to their qualifying result [NONE] or race finish result [DNF]. Instead, any object mods that are in the list before any vehicles, would retain their front grid slots.
If there are administrators on that specific server/lobby, that admin could also have "lock" feature next to it's name on grid. Therefore no one can remove or switch places to it.

So, if someone or something is wanted to set on Starting Position 20, it stays on that specific position no matter what is the rest of grid order.

Furthermore, that would be generally good feature have regardless of any. For example, if wanting to have special condition races and racing and someone is exactly wanted to start in specific position everytime when restarting race.

Furthermore, there could be an insim support for grid ordering for multiclass, where faster class automatically is set on better position ( in case that was not already implemented, I don't know ).

I know I went a bit off topic, but this thread did cause me to see things like mentioned above.

In anycase, thumbs up!

EDIT: Just for clarification, I was not going to oppose the op in any case, it just indeed rise more things to think about it personally.
The option to block non-admins from messing with the grid/joining would be very useful.

Joining accidentally is much easier to do since a change to the garage buttons a while back. Not a complaint, just pointing out it's quite easy to do without intending to if you're not paying enough attention to what you're clicking.


Being able to lock arbitrary positions, not just objects, would also be useful for things like safety/course cars. That was a minor issue over the weekend too.


Theoretically all of the above is already doable using InSim*, but it can be quite complex to handle, especially REO behaviour it seems.



*apart from it being impossible to skip grid slots as far as I know, though I've not actually tested it
That second issue you mentioned is the one that catched my eye the most:

By the way, for now: you can actually already do that: admins can use command /carsguest=[0-32] which sets the maximum amount of cars (real + AI) each guest PC can add to the server. So /grid lock would essentially be same as /carsguest=0, right? That command doesn't remove the already added drivers from the grid

However, two things got into my mind about that issue you mentioned:

1) Is it intentional that you suggest that /grid lock would only apply in the lobby and not when session is ongoing (whether it's practice, qualifying or race)?

2) It also does have another reason why it would be good to get fixed: AI drivers and human players. Your idea to have a command to lock/open the grid is good, but I was wondering Scawen, could it be possible to expand that command by adding two more parameters for that:
Quote :/grid lock ai - AI drivers cannot join in the lobby (or even on track, if it applies there as well)
/grid lock real (or human) - real/human players cannot join in the lobby (or even on track, if it applies there as well)

The reason is that there may always be troublemakers, who add an AI driver in the lobby, when only humans are allowed. And it also applies vice versa: there may be a situation where only AI drivers should be allowed to join (for example, there is a session for those InSim controlled AI drivers), and some troublemaker adds themselves there, which interrupts the fun/experiment with AI for the others.

This concern just got into my mind that having just lock/open parameters for that /grid command does leave this other issue kinda open. You can only allow everybody, or nobody joining. Even if you open the grid, someone may still mess others by having an AI driver joining (or a human player, if others are using AI drivers)
#5 - Racon
Quote from Degats :Theoretically all of the above is already doable using InSim*, but it can be quite complex to handle, especially REO behaviour it seems.

*apart from it being impossible to skip grid slots as far as I know, though I've not actually tested it

I was going to say that I've not had any luck getting REO to work, but you mentioning that reminds me that I've seen it strip any blank spots that I send... so I guess I must've got it to work at some point Big grin

I think maybe REO is restricted to working only in the lobby screen? I've tried spamming it before, during and after an in-race restart (ie no lobby) without it changing the race order. I ended up using JRR packets to move people around on the grid instead... but you need to buffer them somewhere else to avoid collisions.

--

/grid command looks good. I was wondering if it would be a good idea (or even possible) for the admin grid functions to be immune to the lock? I don't do it myself, but I've been at races where the grid is set manually by admins and people will still join during that process Taped Shut
Quote from Racon :I think maybe REO is restricted to working only in the lobby screen? I've tried spamming it before, during and after an in-race restart (ie no lobby) without it changing the race order. I ended up using JRR packets to move people around on the grid instead... but you need to buffer them somewhere else to avoid collisions.

You need to listen for race start vote action packet and do it in there, as the InSim docs say.


// If you are sending an IS_REO in game, you should send it when you receive the SMALL_VTA
// informing you that the Vote Action (VOTE_END / VOTE_RESTART / VOTE_QUALIFY) is about
// to take place. Any IS_REO received before the SMALL_VTA is sent will be ignored.

Quote from Racon :I was wondering if it would be a good idea (or even possible) for the admin grid functions to be immune to the lock?

I thought this was implied, however if there's doubt then I ought to also say that this should definitely be the case where an admin has the power to arrange the grid with grid lock on.
There's been some discussion about this at the Discord server. Here are couple points mentioned there:

- "it would also help a lot to see who moves who in the lobby screen to avoid grief during organising the start grid"
- "AI should be utilised for the track scenery mod"
- Someone made an early mock-up where they had a lock icon next to the clear grid button at the lobby. It could be good place for that. They used that lock icon from the Upcoming events are for that.

- Also, one thing could help users at the lobby: at the moment, if you are not admin, you can't know who is admin (other than host) at the server when looking the connection list. If you are admin, then you can see that other admins have that different background under their names on the connection list

However, if you watch the replay, then you can see who is admin and who is not. Obviously this doesn't apply to the situation where you are at lobby. It does indeed feel strange that the connection list is different when comparing it between the replay view and the non-admin user view when they've connected to the server.

What is the reason behind this? Why non-admin users have the same background for all the users when looking the connection list? The only thing they can do is ask who the admin is, and even then, it's not 100% guarantee that information is accurate.
#9 - Racon
Quote from Flame CZE :You need to listen for race start vote action packet and do it in there, as the InSim docs say.

The spamming was a result of reacting to a VTA not working, IIRC. "Can't miss the right time if I just never stop" kinda thing. I dunno, it's been a while Wink
Quote from tankslacno :There's been some discussion about this at the Discord server. Here are couple...

Prevents from people harassing the admins i guess

FGED GREDG RDFGDR GSFDG