AF wrote:That and an 8MB updating installer is still an issue because not all people use windows. How would I run the updating installer on a mac? Or at university? What if I live in student accomodation and the network has ports blocked preventing me from connecting to the test server? What if installing it will cause an angry parent to start punishing me for breaking rules restricting internet access or time on the computer? Nothing is ever as simple as just download install and test.
These are the exceptional cases, it is impossible to always make everyone happy. Usually checking out the java files and compiling them manually should work too anyway, and TASClient can also be found in a 7z archive somewhere (see TASClient thread).
The protocol itself doesnt specify wether the SETSCRIPTTAGS and REMOVESCRIPTTAGS commands are sendable by just the host or all players, but since it only mentions the word 'client' it can be assumed so, which leads to a nice method of doing the positions.
Hm, for me it does show that:
Sent by client (battle host)
(in Betalord's link)
It also throws up a huge problem of abuse in the protocol with users manipulating each other in $local removing or adding tags that the lobby needs anyway, such as adding a second map tag, making everyone have the same name, things that really only the host should be able to do.
Only the host can do this.
There are also several other pieces of information in other commands that could be sent using this command such as the hosts IP and the map and mod, which would cut down on the protocols size and complexity, while making the entire battle protocol a lot easier to implement, and at the same time allowing several new features, not to mention the ability to do totally random battles.
There are some left yeah, particularly starting rectangles. I think I forgot suggesting removal of those last time I spoke to Betalord.
Host IP has the problem that it may differ per client in complex NAT cases (host on LAN, multiple clients on LAN and some other clients on WAN), so IMHO it is better to handle it specially.
Map and mod are currently bound to checksum, being in/out sync, and it are public battle parameters (as opposed to UPDATEBATTLEDETAILS and start rectangles, which are private battle parameters) which makes it harder to bind them to SETSCRIPTTAG. It may be doable sometime, but I think it's unrealistic to change that now already.