- Add condition "on server full"
Good suggestion. I'll have to think about this one a little...maybe a lowlevel error code when connect fails.
- 3rd Parameter of action "connect" can use any channel without not listed. For example: 1-st and 8-th channel is used.
I'm not sure it makes sense to look at channels when you first connect as the only point of specifying the # of channels to use is to match the number of the server. At this point you wouldn't know which channels are being used. So the number when connecting is not the channel to use but the maximum number to use.
The reason I listed the 4 channels is to offer some guidance on how the channels might be used for communication. The main point was to make sure people didn't send reliable and unreliable comms on the same channel. The only special channel that the plugin uses is channel 0. All of the other channels are open for the user to use as they see fit.
There might be some value in having each client talk to the server on their own channels..for example you want to broadcast out to team 1 chat messages..but that could probably be programmed in using server messages.
You could handle keeping track of which channels are being used by having an array/hashtable for the channels mapped to the clients.
There are a maximum of 255 channels that you can allocate (although I doubt you need to do more than 4 or so in practice).
So a proper scheme might be for a 4 player game (2 teams) would be 6 channels:
0: Built in messages and main state change messages to all clients
1: Global chat messages
2: Chat Team 1
3: Chat Team 2
4: Position Updates
5: Reliable Updates
If congestion is a problem then you could always use a separate channel per client for position and reliable updates but I don't think it is necessary. I'd play around with it and see if you notice any game speed improvements.
- add condition "on server host" and "on server host failed".
Good suggestions as well.
p.s. I've looked into that bug..hasn't been obvious the problem but it appears related to establishing a connection. So I've instead focused my efforts on building a new version of the plugin that handles connections. Been busy lately and haven't been able to work on the plugin though.