The online racing simulator
Custom penatly times and the ability to send IS_PEN packets
Penalties are currently limited to drive-through, 10s stop-and-go, 30s, and 45s. I think it would be desirable to be able to set lower time penalties, typically 5s and 10s, and allow them to stack.
It would also be nice if the duration of the stop and go could be adjusted, although I think this is less of a priority.

Additionally, having the ability to send IS_PEN packets would be really useful: right now, the only way to apply penalties is through the /p_dt, /p_sg, /p_30, and /p_45 commands; if instead we could send IS_PEN packets, we could not only choose the penalty type (and duration if custom times are added), but also set a penalty reason ("given by admin" being the only reason given for the /p_* commands), so we could have penalties given for speeding, and explicitly stating it as such.

Some other packets are already including the current penalty for a driver, such as IS_LAP, IS_SPX, IS_PIT; IS_RES also includes the penalty, which could then be the total penalty time obtained throughout the race. Sending IS_PEN packets could also be used to reapply penalties to a driver pitting or losing connection and rejoining.

On the technical side of things, ReqI could be used in IS_PEN to either set a penalty, or request a driver's current penalty (or maybe add a SMALL_PEN for that purpose). When a penalty is applied, InSim would send a reply IS_PEN just like it does already for penalties applied by the game.

OldPen would likely be zero, while NewPen would be the penalty to apply, and the Reason could also be set.
If NewPen can only have a limited amount of predefined values, I would suggest adding PENALTY_TIME, so we could set the penalty time in the current spare Sp3 byte. Maybe also PENALTY_REMOVE_TIME to remove a time penalty, as we would want to be able to handle that too, and have time penalties and DT/SG penalties at the same time.

Confirmation flags could add a new, generic CONF_PENALTY or CONF_PENALTY_TIME value, instead of (or in addition to) the current 30 and 45 seconds.

As a side note, time penalties are already implemented in some capacity, as hitting an object on an autocross layout adds a 2-second penalty, although autocross is a bit of a special case.

FGED GREDG RDFGDR GSFDG