I'm playing around with the server-side QUEUE system at the moment. I notice that there is a limit of six commands in the queue. Depending on a combo required for a given "turn", it is foreseeable that a queued combo could exceed this six-command limit. Therefore, it is advantageous to maintain a client-side, erm ... queue, of commands to queue server-side. This allows the programmer to track on the client the number of items in the server's queue, and to queue new commands as slots on the server's queue become available.
It's currently possible to do this programmatically by polling QUEUE LIST; however, without an event being raised by the server when a command on the server queue is executed, this needs to be done periodically and with a high frequency. Since the queue is meant to improve performance in the face of lag, this is counter-productive.
Therefore, I recommend one of the following two solutions:
- A complete GMCP interface to the queue system that clients can monitor for events.
- A line from the server and displayed in the game client that informs the client that a command has been executed from the queue.
Personally, I prefer the GMCP interface.