The DBB needs your help ....

For all coding issues - MODers and programmers, HTML and more.

Moderators: Jeff250, fliptw

karx11erx
DX-XL Master
DX-XL Master
Posts: 153
Joined: Tue Mar 25, 2008 3:38 am
Contact:

Re: The DBB needs your help ....

Post by karx11erx » Wed Mar 09, 2011 4:43 pm

Jeff,

don't let flip confuse you. Apparently he has missed a few posts here.

I am done with specifying the game info. Find all information on the lower half of this page: http://www.descent2.de/d2x-tracker.html
User avatar
KoolBear
DBB Co-Founder
DBB Co-Founder
Posts: 10132
Joined: Thu Nov 05, 1998 12:01 pm
Location: Houston, TX USA
Contact:

Re: The DBB needs your help ....

Post by KoolBear » Wed Mar 09, 2011 5:04 pm

Excellent Diedel beautiful piece of work.
karx11erx
DX-XL Master
DX-XL Master
Posts: 153
Joined: Tue Mar 25, 2008 3:38 am
Contact:

Re: The DBB needs your help ....

Post by karx11erx » Wed Mar 09, 2011 5:16 pm

The version-specific subsections are meant to hold all information specific to a certain Descent version. So there could be either D2X-XL or DXX-Rebirth settings. A given Descent version doesn't need to supply (dummy) information for any other Descent version.
User avatar
Jeff250
DBB Master
DBB Master
Posts: 6387
Joined: Sun Sep 05, 1999 2:01 am
Location: ☃☃☃

Re: The DBB needs your help ....

Post by Jeff250 » Wed Mar 09, 2011 5:51 pm

The XML looks good.

I'm not familiar with the extra features in XL or Rebirth. My intuition is to just ignore the D2x-specific sections, or do you think that there is something crucial enough to warrant creating a column for it in a table of games?

Maybe an alternative would be to create a column for a comma-separated list of only the "extra features" that are enabled. This could get tricky, since for some things the "extra feature" seems to be actually disabling the thing, like with suicides.
User avatar
fliptw
DBB DemiGod
DBB DemiGod
Posts: 6415
Joined: Sat Oct 24, 1998 2:01 am
Location: Calgary Alberta Canada

Re: The DBB needs your help ....

Post by fliptw » Wed Mar 09, 2011 6:32 pm

a suggestion:

instead of <D2X-XL> and <DXX-Rebirth> tags, Perhaps <game-variant name="D2X-XL"> would be more extensible.
User avatar
Sirius
DBB Master
DBB Master
Posts: 5437
Joined: Fri May 28, 1999 2:01 am
Location: Bellevue, WA
Contact:

Re: The DBB needs your help ....

Post by Sirius » Wed Mar 09, 2011 9:44 pm

Actually, I think we might need a small adjustment so that a generic tracker (that might not necessary display information specific to either D2X-XL or D1/2X-Rebirth) can show some rather important information - namely, what version of the game the host is running. If it's an XL game, you may not be able to join it with Rebirth ... or with an old version of XL. Something like

Code: Select all

<game-variant>D2X-XL | D1X-Rebirth | D2X-Rebirth</game-variant>
<version>(1.15.147, 0.57, etc)</version>
Then you would also have the variant-specific block later on in the XML snippet. I'm not sure whether it's better to use the same element name for this regardless of version, or a different one for each - the latter might make a serial XML parser fractionally more difficult to implement if you were doing it wrong (skipping unknown elements isn't rocket science), but to a DOM parser it's literally no effort at all to ignore it if you're not expecting it.
User avatar
Jeff250
DBB Master
DBB Master
Posts: 6387
Joined: Sun Sep 05, 1999 2:01 am
Location: ☃☃☃

Re: The DBB needs your help ....

Post by Jeff250 » Wed Mar 09, 2011 11:45 pm

What are the versioning semantics? For instance, does 1.15.xx necessarily break compatibility for 1.14.xx players to join, and are all 1.15.xx intended to be mutually compatible?
User avatar
Sirius
DBB Master
DBB Master
Posts: 5437
Joined: Fri May 28, 1999 2:01 am
Location: Bellevue, WA
Contact:

Re: The DBB needs your help ....

Post by Sirius » Thu Mar 10, 2011 12:54 am

Nothing quite so strict as that I don't think. If it lists the version then people should be able to guess why they can't join if they can't at least.
karx11erx
DX-XL Master
DX-XL Master
Posts: 153
Joined: Tue Mar 25, 2008 3:38 am
Contact:

Re: The DBB needs your help ....

Post by karx11erx » Thu Mar 10, 2011 1:21 am

Sirius proposition looks good. There should probably be another field telling the level type (D1, D2, XL), as you can use D2X-XL for all of them.

Jeff, I could offer a condensed "extra features enabled" information, e.g. using the CompetitionMode field:

no: gameplay-critical extra features enabled
basic: non-critical extra features enabled
full: no extra features enabled

People may still want to see details about what features exactly are on or off. Two possibilities here:

1. Your tracker can expand the info (e.g. using a popup window or floating div area) when a user clicks on a tracker display line
2. The player will have to use D2X-XL to see all the extra features (D2X-XL provides expanded game info when pressing a key in the netgame browser).

A program type field is a good idea, too.

If Rebirth is starting to use the tracker, too, we need to expand it to let it be aware of different program versions, because they do have incompatible UDP networking protocols, so they would need to silently filter any game hosts returned by a tracker and display only those they can cooperate with.


Edit:

XML and documentation updated (see http://www.descent2.de/d2x-tracker.html#xml).

Except with the competition mode, the D2X-XL specific info could theoretically be ignored. Competition mode gives people a basic idea whether D2X-XL features are enabled (or disabled) they would prefer not to use (or to use).

The tracker can use the Name value from the Program tag to identify the extensions area (i.e. when <Program Name="D2X-XL" Version="1.15.148" /> then the extensions area would be <D2X-XL> ... </D2X-XL>).
User avatar
fliptw
DBB DemiGod
DBB DemiGod
Posts: 6415
Joined: Sat Oct 24, 1998 2:01 am
Location: Calgary Alberta Canada

Re: The DBB needs your help ....

Post by fliptw » Thu Mar 10, 2011 2:55 pm

if you fully implemented Sirius's suggestion, then whoever is doing the page can use a single css/xslt rule for all the games, rather than having to do one each for D1X/D2X/D2X-XL...
karx11erx
DX-XL Master
DX-XL Master
Posts: 153
Joined: Tue Mar 25, 2008 3:38 am
Contact:

Re: The DBB needs your help ....

Post by karx11erx » Thu Mar 10, 2011 3:26 pm

Did you read my spec on the page I have linked to?
User avatar
fliptw
DBB DemiGod
DBB DemiGod
Posts: 6415
Joined: Sat Oct 24, 1998 2:01 am
Location: Calgary Alberta Canada

Re: The DBB needs your help ....

Post by fliptw » Thu Mar 10, 2011 4:20 pm

I did, but this was what I was meaning:

Code: Select all

<?xml version="1.0"?>
<GameInfo>
  <Descent>
    <Host>hostname</Host>
    <Mission Type={"D1" | "D2" | "D2X"} Name="mission name" Level="level no" />
    <Players Current="number of players" Max="max. number of players" />
    <Difficulty>difficulty level</Difficulty>
    <Mode
      Type={"Coop" | "Anarchy" | "Robo Anarchy" | "CTF" | "Hoard" | "CTF+" | "Monsterball" | "Entropy"}
      Team={"0"|"1"}
      Robots={"0"|"1"} />
    <Status>"Forming" | "Open" | "Restricted" | "Closed" | "Full" </Status>
  </Descent>
  <game-variant Name={"D2X-XL" | "DXX-Rebirth"} Version="program version" >
 
    <Competition Mode={"-1"|"0"|"1"} />
    <GraphicsFx
      Shadows={"0"|"1"}
      Smoke={"0"|"1"}
      Lightning={"0"|"1"} />
    <WeaponFx
      LightTrails={"0"|"1"}
      Tracers={"0"|"1"} />
    <ShipFx
      Shield={"0"|"1"}
      Damage={"0"|"1"}
      Weapons={"0"|"1"}<
      GatlingSpeedup={"0"|"1"} />
    <HUD
      TargetInd={"0"|"1"}
      DamageInd={"0"|"1"}
      LockInd={"0"|"1"} />
    <RADAR
      Players={"0"|"1"}
      Powerups={"0"|"1"}
      Robots={"0"|"1"}
      HUD={"0"|"1"} />
    <Controls
      Mouselook={"0"|"1"}
      FastPitch={"0"|"1"} />
    <GamePlay
      Cheats={"0"|"1"}
      Darkness={"0"|"1"}
      SmokeGrenades={"0"|"1"}
      FusionRamp={"0"|"1"}
      FriendlyFire={"0"|"1"}
      Suicide={"0"|"1"}
      KillMissiles={"0"|"1"}
      TriFusion={"0"|"1"}
      BetterShakers={"0"|"1"}
      HitBoxes={"0"|"1"} />
  </game-variant>
  <game-variant/>
  ...

</GameInfo>
It would be easier to read if {0|1} was replaced with {enabled|disabled}.
karx11erx
DX-XL Master
DX-XL Master
Posts: 153
Joined: Tue Mar 25, 2008 3:38 am
Contact:

Re: The DBB needs your help ....

Post by karx11erx » Thu Mar 10, 2011 4:26 pm

Easier for humans - computers don't care. And it blows the data up.

The way you wrote it doesn't work. You are using an empty tag for the program version, but you need a start and end tag. Maybe just a typo, but I wanted to clarify.

What your proposition does is to mix two different tags that should not intersect. Imo it is cleaner to separate the program version info from the extensions info.
User avatar
fliptw
DBB DemiGod
DBB DemiGod
Posts: 6415
Joined: Sat Oct 24, 1998 2:01 am
Location: Calgary Alberta Canada

Re: The DBB needs your help ....

Post by fliptw » Thu Mar 10, 2011 4:36 pm

karx11erx wrote:I am not an XML expert, but I am pretty sure that something like <tag props /> ... </tag> doesn't work. Maybe <tag props> ... </tag>, but I am not sure about that. So far I thought you can either do <tag props /> or <tag><prop1>...</prop1> ... </tag>.
<tagx/> and <tagx></tagx> are identical, so is <x e="y"/> and <x><e>y</e></x>; I did <game-variant/> for the sake of compactness.
karx11erx
DX-XL Master
DX-XL Master
Posts: 153
Joined: Tue Mar 25, 2008 3:38 am
Contact:

Re: The DBB needs your help ....

Post by karx11erx » Thu Mar 10, 2011 4:39 pm

You don't understand.

You did <tagx/> </tagx>, which afaik is not possible.

Anyway, my proposition isn't very flexible. Every application implementing this has to know about all keywords an extension uses. Change the extension => change all apps.

You could do something like:

Code: Select all

<Extensions Groups="number of extension groups M">
   <Group1 Name="name" Attributes="number of attributes N">
     <Attribute1 Name="name" State={"0" | "1" | "disabled" | "enabled" | "another meaningful state"} />
     ...
     <AttributeN Name="name" State={"0" | "1" | "disabled" | "enabled" | "yet another meaningful state"} />
  </Group1>
  ...
  <GroupM>
    ...
  </GroupM>
</Extensions>
This would allow any application to use and display all extension information without knowing in advance how many there are and how each is named. The only fixed keywords provide Descent version independent meta information. You could even omit the group count and just stop looking for more "GroupX" areas as soon as one isn't contained in the XML tree. Same for the attributes.

What do you think about it, folks?
User avatar
fliptw
DBB DemiGod
DBB DemiGod
Posts: 6415
Joined: Sat Oct 24, 1998 2:01 am
Location: Calgary Alberta Canada

Re: The DBB needs your help ....

Post by fliptw » Thu Mar 10, 2011 5:13 pm

fixed typo above.
you can specify a fixed set of keywords in a XML's DTD schema if you wanted. you still need to document the format however.

that being said, its easy enough for the game client to filter out servers that it can't connect to.
karx11erx
DX-XL Master
DX-XL Master
Posts: 153
Joined: Tue Mar 25, 2008 3:38 am
Contact:

Re: The DBB needs your help ....

Post by karx11erx » Thu Mar 10, 2011 5:29 pm

fliptw wrote:that being said, its easy enough for the game client to filter out servers that it can't connect to.
What has this to do with it?

And what are your comments good for if you hardly ever offer a solid concept and not just some buzzwords here? What is your goal: To help us? Or what else?
User avatar
fliptw
DBB DemiGod
DBB DemiGod
Posts: 6415
Joined: Sat Oct 24, 1998 2:01 am
Location: Calgary Alberta Canada

Re: The DBB needs your help ....

Post by fliptw » Thu Mar 10, 2011 5:53 pm

I think we are communicating at cross purposes here, lets get something straight:

Do you intend to have actual game clients make use of the XML information provided by the server?
User avatar
KoolBear
DBB Co-Founder
DBB Co-Founder
Posts: 10132
Joined: Thu Nov 05, 1998 12:01 pm
Location: Houston, TX USA
Contact:

Re: The DBB needs your help ....

Post by KoolBear » Thu Mar 10, 2011 6:31 pm

Gentlemen,

I think we had a great run here. I believe that this thread is about run it course for the purpose I created it.

Going forward Jeff250 will be the coordinator from the DBB side. It appears that we have decided and agreed on an output from the DX-XL. Please support Jeff and keep him on the straight and narrow :)

If we need anything else from the developers lets have Jeff be our liaison. The next phase will require very little from the developers anyway.

I want to thank everyone that has contributed to this effort all the DBB'rs , Diedel, Zico, LO thank you very much for your input. Jeff let me know what you need and I will see that you have it when you need it.

I would like to remind everyone that this effort should remain an open source project, while the DBB might customize the look, it should be a utility that many sites can use if they choose!

Kindest Regards,
Mike Sullivan
Mike
LvlSevenBoss
DBB DemiGod
DBB DemiGod
Posts: 2102
Joined: Thu Nov 29, 2001 3:01 am
Contact:

Re: The DBB needs your help ....

Post by LvlSevenBoss » Thu Mar 10, 2011 8:21 pm

Well said, KB. I would like to output tracker data on DescentValhalla.com for all Descent's, not just D3. I'm looking forward to hearing what the next steps are for me. If this thread has run its course, I'd love to continue the dialog in email, Diedel. If that's okay with you. Let me know.
User avatar
Jeff250
DBB Master
DBB Master
Posts: 6387
Joined: Sun Sep 05, 1999 2:01 am
Location: ☃☃☃

Re: The DBB needs your help ....

Post by Jeff250 » Thu Mar 10, 2011 8:50 pm

OK, the new competition mode tag seems good.

I don't think we need a DTD schema. I'd rather not over-engineer this.
karx11erx
DX-XL Master
DX-XL Master
Posts: 153
Joined: Tue Mar 25, 2008 3:38 am
Contact:

Re: The DBB needs your help ....

Post by karx11erx » Fri Mar 11, 2011 3:32 am

fliptw wrote:I Do you intend to have actual game clients make use of the XML information provided by the server?
Nope. The game clients already have their game info communication setup. This is solely for allowing external services (like a website) display information about what Descent 1/2 games are going on and how they are setup.

Jeff,

I have renamed the "Program" tag to "Agent" and turned the CompetitionMode tag into the attribute "Extensions" there (which may sound more meaningful to people without detailled knowledge of D2X-XL):

<Agent Name="D2X-XL" Version="1.15.149" Extensions={"none" | "basic" | "critical"} />

none: No extensions enabled
basic: Some extensions are enabled that aren't gameplay critical
critical: Gameplay critical extensions are enabled

I'd like to hear your plan regarding the detailled extensions info e.g. D2X-XL supplies. If you don't want to support that (e.g. by popping the info up when a user clicks on the related line in the server display) and just use the Extensions property, I could as well omit it.
User avatar
Jeff250
DBB Master
DBB Master
Posts: 6387
Joined: Sun Sep 05, 1999 2:01 am
Location: ☃☃☃

Re: The DBB needs your help ....

Post by Jeff250 » Fri Mar 11, 2011 3:56 am

karx11erx wrote:I'd like to hear your plan regarding the detailled extensions info e.g. D2X-XL supplies. If you don't want to support that (e.g. by popping the info up when a user clicks on the related line in the server display) and just use the Extensions property, I could as well omit it.
I just plan on supporting the Extensions property. Popping into XL seems like the best way to get the low level XL details, especially since they'll probably be changing with time. I think the main utility of this tracker service on the DBB.net will just be to advertise when people are playing games. If people want a robust game inspection tool, then there is already XL for that.
karx11erx
DX-XL Master
DX-XL Master
Posts: 153
Joined: Tue Mar 25, 2008 3:38 am
Contact:

Re: The DBB needs your help ....

Post by karx11erx » Fri Mar 11, 2011 4:12 am

Umm ... I have changed the spec a little more.


The program specific areas are gone (<D2X-XL>, <DXX-Rebirth>) and have replaced by a general "Extensions" area:

Code: Select all

<GameInfo>
  <Server Name="name" Version="version" Extensions={"none" | "basic" | "critical"} />
  <Descent>
  ...
  </Descent>
  <Extensions>
    <Extension1
      Property1={"0" | "1" | "disabled" | "enabled"}
      Property2={"0" | "1" | "disabled" | "enabled"} />
      ...
  </Extensions>
</GameInfo>
This seems to make the most sense to me (and is quite similar to flip's idea - I wouldn't want to list extensions inside an area tagged "Server" though, since the relation here imo isn't strong enough).

If everybody agrees on providing only basic extensions info I would however completely omit the Extensions area.

Edit:

I have changed the Host tag and have changed the difficulty from a tag to an attribute of the mission tag.
User avatar
fliptw
DBB DemiGod
DBB DemiGod
Posts: 6415
Joined: Sat Oct 24, 1998 2:01 am
Location: Calgary Alberta Canada

Re: The DBB needs your help ....

Post by fliptw » Fri Mar 11, 2011 11:13 am

if its only meant for web services, then we don't need to enumerate the property values.

We also could transmit the extension info as a separate request.
User avatar
Sirius
DBB Master
DBB Master
Posts: 5437
Joined: Fri May 28, 1999 2:01 am
Location: Bellevue, WA
Contact:

Re: The DBB needs your help ....

Post by Sirius » Fri Mar 11, 2011 11:33 am

More information on extensions could be useful if you don't have the opportunity to check out more game information later on - e.g. if it becomes possible to join a D2 netgame directly from the tracker feed in the way you can with D3.
karx11erx
DX-XL Master
DX-XL Master
Posts: 153
Joined: Tue Mar 25, 2008 3:38 am
Contact:

Re: The DBB needs your help ....

Post by karx11erx » Fri Mar 11, 2011 11:57 am

No separate requests please. D2X-XL game clients will always be able to see any D2X-XL specific game info extensions.

Here's the current spec: http://www.descent2.de/d2x-tracker.html#xml
User avatar
Sirius
DBB Master
DBB Master
Posts: 5437
Joined: Fri May 28, 1999 2:01 am
Location: Bellevue, WA
Contact:

Re: The DBB needs your help ....

Post by Sirius » Fri Mar 11, 2011 11:32 pm

For what little it matters, that looks good to me. :)
User avatar
snoopy
DBB Benefactor
DBB Benefactor
Posts: 4434
Joined: Thu Sep 02, 1999 2:01 am

Re: The DBB needs your help ....

Post by snoopy » Mon Mar 21, 2011 3:04 pm

Looks like you guys got some functionality up. Looks good!
Arch Linux x86-64, Openbox
"We'll just set a new course for that empty region over there, near that blackish, holeish thing. " Zapp Brannigan
User avatar
Jeff250
DBB Master
DBB Master
Posts: 6387
Joined: Sun Sep 05, 1999 2:01 am
Location: ☃☃☃

Re: The DBB needs your help ....

Post by Jeff250 » Mon Mar 21, 2011 3:41 pm

Agreed, although that's the D3 tracker which is independent of this effort. ;) I believe that was thanks to Koolbear and Ryujin.

However, you can see our beta demo of the XL tracker here (with some site-specific customizations by Diedel):
http://www.descent2.de/trackers.html, then click on active servers

I believe that Koolbear is still working on getting it integrated with the phpBB, and then we'll likely want to make a few changes yet. There are some known issues as well.

At some point, I'll be publishing the php code when everything has settled.
User avatar
KoolBear
DBB Co-Founder
DBB Co-Founder
Posts: 10132
Joined: Thu Nov 05, 1998 12:01 pm
Location: Houston, TX USA
Contact:

Re: The DBB needs your help ....

Post by KoolBear » Wed Mar 30, 2011 4:04 pm

This is released! You can see it on the main page of the DBB Classic theme, I will be adding it to the other themes this weekend. The code is available to anyone that wants it in order to setup a tracker on their site!

Jeff250 and Diedel have done a wonderful job on this project! Ryujin provided some great feedback during testing along with tons of valuable input from the community.

Jeff250 is working on implementing phase two which will launch D2X-XL for you similar to the way DescentValhalla is currently doing. Look for this improvement in the coming weeks!
User avatar
Foil
DBB Material Defender
DBB Material Defender
Posts: 4900
Joined: Tue Nov 23, 2004 3:31 pm
Location: Denver, Colorado, USA

Re: The DBB needs your help ....

Post by Foil » Wed Mar 30, 2011 4:09 pm

Excellent work, guys. I think this is the first time a D3 tracker and D1/D2 tracker have been seen in the same place. Awesome.
Post Reply