Der AdminClient

Der AdminClient dient dazu, um Spiele anzulegen und wenn nötig bestimmte Einstellungen zu ändern:

Verbinden als AdminClient:

<protocol><authenticate passphrase="examplepassword"/>

Sobald der Client sich authentifiziert hat ist folgendes möglich:

Ein AdminClient erhält eine Nachricht, sobald sich ein Client über eine JoinRoomRequest verbindet:

<joinedGameRoom roomId=ROOMID existing="false" />

existing gibt hier an, ob der GameRoom bereits existierte bevor der Spieler beigetreten ist. Die ROOMID ist ein String der vom Server eindeutig generiert wird und ist wichtig für die genaue Zuordnung zu dem entsprechenden Raum.

Ein AdminClient kann sich als Observer mit einem GameRoom verbinden, dadurch erhält er alle Nachrichten, die das Spiel betreffen:

<observe roomId=ROOMID />

Ein AdminClient kann ein Spiel pausieren oder fortsetzen:

<pause roomId=ROOMID pause="true/false" />

Ein AdminClient kann einen Zug in einem pausierten Spiel anfordern:

<step roomId=ROOMID />

Ein AdminClient kann ein Spiel abbrechen:

<cancel roomId=ROOMID />

Ein AdminClient kann ein Spiel vorbereiten:

<prepare gameType="pluginUUID">
  <slot displayName="p1" canTimeout="true" shouldBePaused="false"/>
  <slot displayName="p2" canTimeout="true" shouldBePaused="false"/>
</prepare>

Ein AdminClient kann den Testmodus aktivieren/deaktivieren:

<testMode testMode="true/false" />

Der Server antwortet mit:

<testing testMode="true/false" />

Ein AdminClient kann die Punkte und Gewinnkriterien, falls der Testmodus aktiviert wurde, anhand des Anzeigenamens der Spieler abfragen:

<scoreForPlayer displayName="p1"/>

Der Server antwortet darauf mit:

<playerScore>
  <score displayName="p1" numberOfTests="1">
    <values>
      <fragment name="Gewinner">
        <aggregation>SUM</aggregation>
        <relevantForRanking>true</relevantForRanking>
      </fragment>
      <value>2</value>
    </values>
    <values>
      <fragment name="∅ Feldnummer">
        <aggregation>AVERAGE</aggregation>
        <relevantForRanking>true</relevantForRanking>
      </fragment>
      <value>10.000000</value>
    </values>
    <values>
      <fragment name="∅ Karotten">
        <aggregation>AVERAGE</aggregation>
        <relevantForRanking>true</relevantForRanking>
      </fragment>
      <value>13.000000</value>
    </values>
  </score>
</playerScore>

Servereinstellungen

Die Servereinstellungen liegen in der server.properties Datei, die zusammen mit dem Server heruntergeladen wird. In ihr können folgede Werte konfiguriert werden:

Das lokale Administratorpasswort kann geändert werden. Dazu muss das password Attribut neu gesetzt werden (standardmäßig auf examplepassword). Es kann eingestellt werden, ob ein durch einen JoinRequest gestartetes Spiel anfangs pausiert sein soll oder nicht (standardmäßig pausiert), indem der entsprechende Wert auf true oder false gesetzt wird.