> so what's wrong with current protocol?
Copypasta'd from IRC:
22:53.32 < myndzi> why would you want to change it? let me count the
ways... inflexibility, feature lack, rigid constraint to client
version?
22:54.26 < myndzi> want to add a feature to netplay? you have to edit
the server protocol, what's that about?
22:54.28 < myndzi> can't pm users
22:54.41 < myndzi> can't administer the lobby in any particularly
useful way
22:54.52 < myndzi> can't create chat subgroups of any form
22:54.55 < myndzi> can't create private rooms
23:00.02 < myndzi> oh yeah, i forgot tripcodes being sort of a
halfassed solution, particularly when we want high scores and ratings
etc.
23:00.16 < myndzi> putting all the information in the name list
because there's no way to request information about a user
> how you design is different from current protocol?
I don't honestly know. From what I've seen of the current protocol, it
seems like it could use some direction, as well as the aforementioned
missing functionality. To my admittedly limited knowledge, the current
protocol appears to have been written mostly on the fly without the
kind of discussion I am attempting to encourage here, with the result
that there is not really an overarching structure to it or guiding
design principles. I welcome comment from someone more familiar with
it.
It is unknown if 1) the consensus agrees with how I think a good
system would be, 2) what the result of forthcoming conversation will
be and 3) the result of that conversation will require fundamental
changes or can be grafted on to the current solution.
> Any reason why you think features you mention can't be added with current protocol?
See above. I am proposing an ideal for discussion. When we've decided
what we want, then let's look at how to get there.
> what's benefit of allowing older version to connect (i mean compared with descent auto-update feature for example)?
You have this backwards. If you separate client version from server
version, then the server doesn't need to be messed with in order to
roll out a new client version. Other advantages include the ability
for people to test or play development versions on the same server as
stable, roll back to older versions in case of unforeseen problems, or
simply chat while they wait for a new download to complete. It allows
the server to be much more hands-free than the current one has been,
as well as flexible enough to support whatever may come in the future,
if designed well.