Restarting thread to put a new idea out there.

Required irc chat log:

[22:54] <llnz> we should have a "short name" for the bit after the @ in player 
login names
[22:55] <llnz> so it can be set to "tp" or "demo1" or whatever
[22:55] <llnz> with the longer name for the human players

So a new field (for example 'sname') to hold the short name used as the game 
identifier in the username.

For example:
Player "Lee" connects to server demo1.thousandparsec.net that has a long name 
of "Demo1 dev game" and short name of "demo1", the username for login would 
be "[EMAIL PROTECTED]".

This makes the url's a bit more sane (shorter, and no plus signs for spaces).

Thoughts?

Later
Lee

On Friday 29 December 2006 07:52, Tim Ansell wrote:
> Hello,
>
> In hopes of making it easier for people to find and actually play games
> I have been working on automatic server discovery. There are two parts
> to this,
>   * local LAN discovery
>   * metaserver discovery
>
> The unit of discovery is not server as one might first jump to but a
> "game". Each game has a set of "locations" which is can be found at.
>
> A game record has the following details,
> Required Parameters:
>         tp,         comma seperated list of version strings (0.3, 0.2)
>         server,     version of the server
>         servtype,   server type (tpserver-cpp, tpserver-py)
>         rule,       ruleset name (MiniSec, TPSec, MyCustomRuleset)
>         rulever,    version of the ruleset
>
> Optional parameters:
>         plys,   1    number of players in the game
>         cons,   2    number of clients currently connected
>         objs,   3    number of "objects" in the game universe
>         admin,  4    admin email address
>         cmt,    5    comment about the game
>         turn,   6    unixtime stamp (GMT) when next turn is generated
>
> A location is specified as a tuple of
>        protocol      tp, tps, tphttp, tphttps
>        dns           A resolvable name of the server
>        ip            Resloved ip address of the server
>        port          The port of the server
>
> Local LAN discovery is being done with ZeroConf MDNS. Each server should
> advertise a record PER GAME. The location details are automatically
> discovered. The required and optional parameters should be found in the
> TXT record.
>
> A metaserver exists at metaserver.thousandparsec.net, to register a new
> server you must send either a HTTP get or post request with the require
> parameters. Each location is specified by doing the following
> type0, dns0, ip0, port0 - details for first location
> type1, dns1, ip1, port1 - details for second location
>
> You must also send a "key", if the game with this name has never been
> seen before the "key" will be stored. The key must then be sent for all
> updates to take effect.
>
> An example (using get) would be the following,
> http://metaserver.thousandparsec.net/?action=update&tp=0.3,0.2&key=mykey&se
>rver=0.3.0&name=MyGame1&sertype=tpserver-cpp&rule=MiniSec&rulever=0.1&type0=
>tp&dns0=mithro.dyndns.org&ip0=203.122.246.117&port0=8000
>
> All parameters are sanity checked but most are treated as a string.
>
> To get the details about which servers exist the client should get the
> following page.
> http://metaserver.thousandparsec.net/?action=get
>
> The server will return in the body of the message a Sequence frame
> telling the number of "Game" frames to come. Game frames are described
> as follows,
>
> * a string,           (name)     Game name
> * a string,           (key)      Empty on receive
> * a list of Strings,  (tp)       List of protocol versions supported
> * a string,           (server)   Server Version
> * a string,           (servtype) Server Type
> * a string,           (rule)     Ruleset Name
> * a string,           (rulever)  Ruleset version
> * a list of,
>    * a string,        (type)     Connection type (tp, tps, ...)
>    * a string,        (dns)      Resolvable DNS name
>    * a string,        (ip)       IP Address
>    * a uint32,        (port)     Port to connect on
> * a list of,
>    * a id,             Optional param id
>    * a string,         Optional param string value
>    * a uint32,         Optional param int value
>
> I plan for the metaserver to eventually support sending packets directly
> without using HTTP (IE connect to port xxxx and send a game frame -
> maybe even a UDP connectionless method), but for now it's just easier to
> do it over HTTP.
>
> The metaserver also has a "human" mode, just browse to
> http://metaserver.thousandparsec.net/ and you should get a webpage
> listing the the servers with clickable URLs.
>
> I also plan to add a http://metaserver.thousandparsec.net/?rss version
> which will display the same data as an RSS feed.
>
> Any thoughts?
>
> Mithro

Attachment: pgpHcpdLAWuYD.pgp
Description: PGP signature

_______________________________________________
tp-devel mailing list
[email protected]
http://www.thousandparsec.net/tp/mailman.php/listinfo/tp-devel

Reply via email to