Complete.Org: Mailing Lists: Archives: freeciv-dev: July 2002:
[Freeciv-Dev] Re: rfc on allowconnect
Home

[Freeciv-Dev] Re: rfc on allowconnect

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: <freeciv-dev@xxxxxxxxxxx>
Cc: <martijn@xxxxxxxxxx>
Subject: [Freeciv-Dev] Re: rfc on allowconnect
From: Per I Mathisen <per@xxxxxxxxxxx>
Date: Mon, 8 Jul 2002 23:50:45 +0200 (MEST)

On Mon, 8 Jul 2002, Raimar Falke wrote:
> What about a pre-state? A user logs in (under any name) and can
> chat. A current player allows this user to be a controller or
> observer. You can't do this without this pre-state because the access
> control should be done in terms of connections. But you can't grant a
> non-existing connection the control of your nation.
>
> Can you understand this?

Yes.

I wanted to just make a simple cleanup patch... but as usually things
ain't that simple... Raimar's Law of patch bloat strikes again ;)

First, this is going to take a while to implement properly. So as a
stopgap measure, I suggest we remove the ability to close pregame to new
clients from /allowconnect.

So. We have users, connections, players, nations and finally I want to add
teams. Connections are currently just IP-adresses, but eventually we would
want to add user authentication for connections (since multiple
connections can be one player). We also have to think about cmdlevel
access, and setting up this stuff in both server and client. A fine mess.

What is the perfect setup? We rename

FROM                    TO      WHY
player          ->      nation  remove player/nation duality
connection      ->      player  intuitive name for (authenticated) user
coop control    ->      team    term used in starcraft
team            ->      clan    term used everywhere

We need to simplify a bit to have this sum up, so I suggest we remove
cmdlevel from the equation: The first player to join will get ctrl command
and nobody else. If that player quits while in pregame, the server
restarts (the starcraft way). Instead of requiring everyone to be ctrl, we
allow everyone to set options that concern only themselves (like setting
yourself to ai or not, and setting a password on your connection).

Players join the game assigned to a nation without a name yet (in
oldspeak: connections join the game assigned to a player without a name).
The username field in the connection dialog is not needed anymore. We
create a new pregame dialog where all players can choose a nation while
waiting for other players. The ctrl superplayer can move players in/out of
nations and nations in/out of clans. The GUI would be something like a
tree widget

        <clan name>
         +
          -- <nation name>
              +
               -- <player name>

where the superplayer can move entities around (and create new clans).

Since the above will break ranking (no usernames), we should also add
authentication to civserver.freeciv.org by using the username field in the
connection dialog, adding a password dialog, and have the server
authenticate the user/pass combo against civserver.freeciv.org. This
should of course be optional. Users that don't authenticate won't have a
username and won't be ranked on civserver.freeciv.org.

And yes, the above will be a real nightmare to implement. I think the
first step would be the simplification of cmdlevel. And then the rest must
be done in one giant patch. I can do it but probably not for 1.14.0 and I
will need help on the pregame dialog from some GUI people.

Yours
Per



[Prev in Thread] Current Thread [Next in Thread]