Complete.Org: Mailing Lists: Archives: freeciv: March 2002:
[Freeciv] Re: freeciv server setup question
Home

[Freeciv] Re: freeciv server setup question

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv@xxxxxxxxxxx
Subject: [Freeciv] Re: freeciv server setup question
From: Reinier Post <rp@xxxxxxxxxx>
Date: Fri, 1 Mar 2002 22:05:32 +0100

On Thu, Feb 28, 2002 at 02:58:32PM -0600, Sean Bickel wrote:
> 
> I am interested in setting up a server that will allow players to connect
> when its their turn then email the next player when that it's their turn.
> Can the server be setup this way?

Not really, although you could write a wrapper script to support it.

Previous threads on this subject:

   http://arch.freeciv.org/freeciv-dev-199812/msg00046.html
   http://arch.freeciv.org/freeciv-dev-199904/msg00069.html
   http://arch.freeciv.org/freeciv-dev-200010/msg00029.html
  
> Sean Bickel

A possible implementation using a wrapper script around civserver:

+ an e-mail message contains a special file with MIME type

  x-freeciv-gamepair

+ such a file consists of a compressed pair of files:

  + civgame.sav, a saved game
  + civgame.con, an ASCII list of pairs playername - e-mail address

+ the e-mail client is configured to execute a special application
  'civbymail' on this type of file

+ civbymail

  + starts civserver on civgame.sav, setting timeout to 0 and
    saveturns to 1 for the sake of robustness
  + creates an empty civgame.con, if it doesn't exist
  + starts civclient with autoconnect, using the
    first username in civgame.con, if it exists
  + waits for the first savegame to appear
  + if the game hasn't started yet, asks the user
    whether another player should be added, if so, the name and
    e-mail address, and adds the result to civgame.con
  + rotates civgame.con and mails the resulting {civgame.sav,civgame.con}
    off to the first e-mail address

This is easy to program with a Unix shell script.  It will take some
work to catch error conditions.

-- 
Reinier


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