It was only coming up for the person completing the lap I believe
Yeah, but my point is that it's forced on for everyone to see, whether they want it or not. I know this is just a proof of concept, but you wouldn't want too much stuff being flashed up on everyone's screen out of their control.
Totally agree. This is just a proof of concept but I noticed that it overwrote the laptime display that flashes up at the end of each lap. Hence the message I put up shows the laptime as well. I actually don't think the message feature is the main purpose of the plugin. The only real use for these messages is for server admin announcements for server shutdown etc. These messages only appear in the one area and in the chat stream.
A bigger issue for server plugins is that it seems you can only define one plugin per server. Which actually addresses the concern you raise re plugins messing up everyone's screen. I actually think a server plugin will be most useful for
a) league management system
b) managing a "farm" of casual servers
How I envisage it working is that a server admin would select a management "environment" (eg stracker, Joe's system or PLP or other league system) and then connect their server to that "environment". Remember LiveTracker? It can now connect to Assetto Corsa servers but an AC Server connects to LiveTracker then it would not be able to connect to another server plugin "environment".
Here's the protocol messages from the example in the sdk.
static class ACSProtocol {
public const byte ACSP_NEW_SESSION = 50;
public const byte ACSP_NEW_CONNECTION = 51;
public const byte ACSP_CONNECTION_CLOSED = 52;
public const byte ACSP_CAR_UPDATE = 53;
public const byte ACSP_CAR_INFO = 54; // Sent as response to ACSP_GET_CAR_INFO command
public const byte ACSP_END_SESSION = 55;
public const byte ACSP_LAP_COMPLETED = 73;
// EVENTS
public const byte ACSP_CLIENT_EVENT = 130;
// EVENT TYPES
public const byte ACSP_CE_COLLISION_WITH_CAR = 10;
public const byte ACSP_CE_COLLISION_WITH_ENV = 11;
// COMMANDS
public const byte ACSP_REALTIMEPOS_INTERVAL = 200;
public const byte ACSP_GET_CAR_INFO = 201;
public const byte ACSP_SEND_CHAT = 202; // Sends chat to one car
public const byte ACSP_BROADCAST_CHAT = 203; // Sends chat to everybody